mirror of
https://github.com/linux-msm/laptops-kernel.git
synced 2026-08-13 14:19:53 -07:00
mlxsw: switchib: Introduce SwitchIB and SwitchIB silicon driver
SwitchIB and SwitchIB-2 are Infiniband switches with up to 36 ports. This driver initialize the hardware and Firmware which implements the IB management and connection with the SM. Signed-off-by: Elad Raz <eladr@mellanox.com> Signed-off-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
1 parent
64b92b0114
commit
d1ba526384
5 files changed
+616
No files matched your search
@@ -29,6 +29,17 @@ config MLXSW_PCI
|
||||
To compile this driver as a module, choose M here: the
|
||||
module will be called mlxsw_pci.
|
||||
|
||||
config MLXSW_SWITCHIB
|
||||
tristate "Mellanox Technologies SwitchIB and SwitchIB-2 support"
|
||||
depends on MLXSW_CORE && NET_SWITCHDEV
|
||||
default m
|
||||
---help---
|
||||
This driver supports Mellanox Technologies SwitchIB and SwitchIB-2
|
||||
Infiniband Switch ASICs.
|
||||
|
||||
To compile this driver as a module, choose M here: the
|
||||
module will be called mlxsw_switchib.
|
||||
|
||||
config MLXSW_SWITCHX2
|
||||
tristate "Mellanox Technologies SwitchX-2 support"
|
||||
depends on MLXSW_CORE && MLXSW_PCI && NET_SWITCHDEV
|
||||
|
||||
@@ -3,6 +3,8 @@ mlxsw_core-objs := core.o
|
||||
mlxsw_core-$(CONFIG_MLXSW_CORE_HWMON) += core_hwmon.o
|
||||
obj-$(CONFIG_MLXSW_PCI) += mlxsw_pci.o
|
||||
mlxsw_pci-objs := pci.o
|
||||
obj-$(CONFIG_MLXSW_SWITCHIB) += mlxsw_switchib.o
|
||||
mlxsw_switchib-objs := switchib.o
|
||||
obj-$(CONFIG_MLXSW_SWITCHX2) += mlxsw_switchx2.o
|
||||
mlxsw_switchx2-objs := switchx2.o
|
||||
obj-$(CONFIG_MLXSW_SPECTRUM) += mlxsw_spectrum.o
|
||||
|
||||
@@ -39,6 +39,8 @@
|
||||
|
||||
#define PCI_DEVICE_ID_MELLANOX_SWITCHX2 0xc738
|
||||
#define PCI_DEVICE_ID_MELLANOX_SPECTRUM 0xcb84
|
||||
#define PCI_DEVICE_ID_MELLANOX_SWITCHIB 0xcb20
|
||||
#define PCI_DEVICE_ID_MELLANOX_SWITCHIB2 0xcf08
|
||||
|
||||
#if IS_ENABLED(CONFIG_MLXSW_PCI)
|
||||
|
||||
|
||||
@@ -52,6 +52,9 @@
|
||||
#define MLXSW_PORT_MAX_PHY_PORTS 0x40
|
||||
#define MLXSW_PORT_MAX_PORTS (MLXSW_PORT_MAX_PHY_PORTS + 1)
|
||||
|
||||
#define MLXSW_PORT_MAX_IB_PHY_PORTS 36
|
||||
#define MLXSW_PORT_MAX_IB_PORTS (MLXSW_PORT_MAX_IB_PHY_PORTS + 1)
|
||||
|
||||
#define MLXSW_PORT_DEVID_BITS_OFFSET 10
|
||||
#define MLXSW_PORT_PHY_BITS_OFFSET 4
|
||||
#define MLXSW_PORT_PHY_BITS_MASK (MLXSW_PORT_MAX_PHY_PORTS - 1)
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
Reference in new issue
Block a user