linux_dsm_epyc7002/drivers/net/ethernet/mellanox/mlxsw
Ido Schimmel 558c2d5e52 mlxsw: spectrum: Store local port to module mapping during init
The port netdevs are each associated with a different local port number
in the device. These local ports are grouped into groups of 4 (e.g.
(1-4), (5-8)) called clusters. The cluster constitutes the one of two
possible modules they can be mapped to. This mapping is board-specific
and done by the device's firmware during init.

When splitting a port by 4, the device requires us to first unmap all
the ports in the cluster and then map each to a single lane in the module
associated with the port netdev used as the handle for the operation.
This means that two port netdevs will disappear, as only 100Gb/s (4
lanes) ports can be split and we are guaranteed to have two of these
((1, 3), (5, 7) etc.) in a cluster.

When unsplit occurs we need to reinstantiate the two original 100Gb/s
ports and map each to its origianl module. Therefore, during driver init
store the initial local port to module mapping, so it can be used later
during unsplitting.

Note that a by 2 split doesn't require us to store the mapping, as we
only need to reinstantiate one port whose module is known.

Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-03-01 16:07:30 -05:00
..
cmd.h mlxsw: cmd: Introduce FID-offset flooding tables 2015-10-16 07:15:10 -07:00
core_hwmon.c mlxsw: core: remove an unnecessary condition 2016-01-06 15:07:47 -05:00
core.c mlxsw: core: Add devlink port splitter callbacks 2016-03-01 16:07:30 -05:00
core.h mlxsw: core: Add devlink port splitter callbacks 2016-03-01 16:07:30 -05:00
emad.h mlxsw: Add interface to access registers and process events 2015-07-30 00:05:00 -07:00
item.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-10-20 06:08:27 -07:00
Kconfig mlxsw: spectrum: Adjust switchdev ops for VLAN devices 2015-12-15 11:58:22 -05:00
Makefile mlxsw: core: Implement temperature hwmon interface 2015-11-30 15:05:40 -05:00
pci.c mlxsw: pci: Adjust value of CPU egress traffic class 2016-01-06 00:48:50 -05:00
pci.h mlxsw: pci: Implement LAG processing for received packets 2015-12-03 11:49:28 -05:00
port.h mlxsw: Treat local port 64 as valid 2016-02-17 15:52:58 -05:00
reg.h mlxsw: reg: Add the Switch Port Acceptable Frame Types register 2016-02-18 10:44:26 -05:00
spectrum_buffers.c mlxsw: spectrum: Add initial support for Spectrum ASIC 2015-10-16 07:15:23 -07:00
spectrum_switchdev.c mlxsw: spectrum: Allow for PVID deletion 2016-02-18 10:44:26 -05:00
spectrum.c mlxsw: spectrum: Store local port to module mapping during init 2016-03-01 16:07:30 -05:00
spectrum.h mlxsw: spectrum: Store local port to module mapping during init 2016-03-01 16:07:30 -05:00
switchx2.c mlxsw: Implement devlink interface 2016-03-01 16:07:30 -05:00
trap.h mlxsw: Introduce Mellanox switch driver core 2015-07-30 00:04:59 -07:00
txheader.h mlxsw: spectrum: Add initial support for Spectrum ASIC 2015-10-16 07:15:23 -07:00