linux/drivers/net/ethernet/mscc
Vladimir Oltean c9d2203bcb net: mscc: ocelot: don't hardcode the number of the CPU port
VSC7514 is a 10-port switch with 2 extra "CPU ports" (targets in the
queuing subsystem for terminating traffic locally).

There are 2 issues with hardcoding the CPU port as #10:
- It is not clear which snippets of the code are configuring something
  for one of the CPU ports, and which snippets are just doing something
  related to the number of physical ports.
- Actually any physical port can act as a CPU port connected to an
  external CPU (in addition to the local CPU). This is called NPI mode
  (Node Processor Interface) and is the way that the 6-port VSC9959
  (Felix) switch is integrated inside NXP LS1028A (the "local management
  CPU" functionality is not used there).

This patch makes it clear that the ocelot_bridge_stp_state_set function
operates on the CPU port (by making it an implicit member of the
bridging domain), and at the same time adds logic for the NPI port (aka
a physical port) to play the role of a CPU port (it shouldn't be part of
bridge_fwd_mask, as it's not explicitly enslaved to a bridge).

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-11-11 12:59:10 -08:00
..
Kconfig net: mscc: ocelot: make use of SerDes PHYs for handling their configuration 2018-10-05 14:36:44 -07:00
Makefile net: mscc: ocelot: Hardware ofload for tc flower filter 2019-06-02 13:49:49 -07:00
ocelot_ace.c ocelot_ace: fix action of trap 2019-08-22 15:44:24 -07:00
ocelot_ace.h net: mscc: ocelot: separate net_device related items out of ocelot_port 2019-11-11 12:59:10 -08:00
ocelot_ana.h
ocelot_board.c net: mscc: ocelot: split assignment of the cpu port into a separate function 2019-11-11 12:59:10 -08:00
ocelot_dev.h
ocelot_flower.c net: mscc: ocelot: separate net_device related items out of ocelot_port 2019-11-11 12:59:10 -08:00
ocelot_io.c
ocelot_police.c net: mscc: ocelot: refactor struct ocelot_port out of function prototypes 2019-11-11 12:59:10 -08:00
ocelot_police.h net: mscc: ocelot: refactor struct ocelot_port out of function prototypes 2019-11-11 12:59:10 -08:00
ocelot_ptp.h net: mscc: describe the PTP register range 2019-08-15 16:31:11 -07:00
ocelot_qs.h
ocelot_qsys.h
ocelot_regs.c net: mscc: describe the PTP register range 2019-08-15 16:31:11 -07:00
ocelot_rew.h
ocelot_s2.h net: mscc: ocelot: Add support for tcam 2019-06-02 13:49:49 -07:00
ocelot_sys.h
ocelot_tc.c net: mscc: ocelot: separate net_device related items out of ocelot_port 2019-11-11 12:59:10 -08:00
ocelot_tc.h net: mscc: ocelot: Implement port policers via tc command 2019-05-29 21:37:49 -07:00
ocelot_vcap.h net: mscc: ocelot: Add support for tcam 2019-06-02 13:49:49 -07:00
ocelot.c net: mscc: ocelot: don't hardcode the number of the CPU port 2019-11-11 12:59:10 -08:00
ocelot.h net: mscc: ocelot: split assignment of the cpu port into a separate function 2019-11-11 12:59:10 -08:00