mlxsw: spectrum: split base on local_ports_in_{1x, 2x} resources
authorShalom Toledo <shalomt@mellanox.com>
Thu, 2 May 2019 11:13:09 +0000 (14:13 +0300)
committerDavid S. Miller <davem@davemloft.net>
Sat, 4 May 2019 05:21:36 +0000 (01:21 -0400)
commitfd321c6c2380a27ee8bf0ead91029a88f23e5dc9
tree5048b2771cc139d489a18f04df96b80a82df050d
parent4fa050d29c76e0f304cd96ce91bced8f343698a5
mlxsw: spectrum: split base on local_ports_in_{1x, 2x} resources

When splitting a port, different local ports need to be mapped on different
systems. For example:

SN3700 (local_ports_in_2x=2):
  * Without split:
      front panel 1   --> local port 1
      front panel 2   --> local port 5
  * Split to 2:
      front panel 1s0 --> local port 1
      front panel 1s1 --> local port 3
      front panel 2   --> local port 5

SN3800 (local_ports_in_2x=1):
  * Without split:
      front panel 1 --> local port 1
      front panel 2 --> local port 3
  * Split to 2:
      front panel 1s0 --> local port 1
      front panel 1s1 --> local port 2
      front panel 2   --> local port 3

The local_ports_in_{1x, 2x} resources provide the offsets from the base
local ports according to which the new local ports can be calculated.

Signed-off-by: Shalom Toledo <shalomt@mellanox.com>
Acked-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlxsw/spectrum.c