From: Eli Cohen <[email protected]> The patches that follow constitute the driver for Mellanox's 5th generation of HCAs named Connect-IB.
The driver is comprised of two kernel modules: mlx5_ib and mlx5_core. This partitioning resembles what we have for mlx4 with the substantial difference that mlx5_ib is the pci device driver and not mlx5_core. mlx5_core provides general functionality that is intended to be used by other Mellanox devices that will be introduced in the future. In this sense, it can be perceived as a library. mlx5_ib has a similar role as any hardware device under drivers/infiniband/hw. The patches are partitioned to avoid exceeding the 100KB vger.kernel.org limitation. Only the last patch adds the Makefiles and Kconfigs, to make things robust for future bisections. PPC is not yet supported but support will be included in the near future. Eli Eli Cohen (8): mlx5: Mellanox Connect-IB driver part 1/8 mlx5: Mellanox Connect-IB driver part 2/8 mlx5: Mellanox Connect-IB driver part 3/8 mlx5: Mellanox Connect-IB driver part 4/8 mlx5: Mellanox Connect-IB driver part 5/8 mlx5: Mellanox Connect-IB driver part 6/8 mlx5: Mellanox Connect-IB driver part 7/8 mlx5: Mellanox Connect-IB driver part 8/8 MAINTAINERS | 22 + drivers/infiniband/Kconfig | 1 + drivers/infiniband/Makefile | 1 + drivers/infiniband/hw/mlx5/Kconfig | 10 + drivers/infiniband/hw/mlx5/Makefile | 4 + drivers/infiniband/hw/mlx5/ah.c | 95 + drivers/infiniband/hw/mlx5/cq.c | 851 +++++++ drivers/infiniband/hw/mlx5/doorbell.c | 100 + drivers/infiniband/hw/mlx5/mad.c | 143 ++ drivers/infiniband/hw/mlx5/main.c | 1512 ++++++++++++ drivers/infiniband/hw/mlx5/mem.c | 194 ++ drivers/infiniband/hw/mlx5/mlx5_ib.h | 593 +++++ drivers/infiniband/hw/mlx5/mr.c | 1025 ++++++++ drivers/infiniband/hw/mlx5/qp.c | 2549 ++++++++++++++++++++ drivers/infiniband/hw/mlx5/srq.c | 481 ++++ drivers/infiniband/hw/mlx5/user.h | 123 + drivers/net/ethernet/mellanox/Kconfig | 1 + drivers/net/ethernet/mellanox/Makefile | 1 + drivers/net/ethernet/mellanox/mlx5/core/Kconfig | 18 + drivers/net/ethernet/mellanox/mlx5/core/Makefile | 6 + drivers/net/ethernet/mellanox/mlx5/core/alloc.c | 244 ++ drivers/net/ethernet/mellanox/mlx5/core/cmd.c | 1497 ++++++++++++ drivers/net/ethernet/mellanox/mlx5/core/cq.c | 226 ++ drivers/net/ethernet/mellanox/mlx5/core/debugfs.c | 600 +++++ drivers/net/ethernet/mellanox/mlx5/core/eq.c | 523 ++++ drivers/net/ethernet/mellanox/mlx5/core/fw.c | 187 ++ drivers/net/ethernet/mellanox/mlx5/core/health.c | 216 ++ drivers/net/ethernet/mellanox/mlx5/core/mad.c | 80 + drivers/net/ethernet/mellanox/mlx5/core/main.c | 483 ++++ drivers/net/ethernet/mellanox/mlx5/core/mcg.c | 108 + .../net/ethernet/mellanox/mlx5/core/mlx5_core.h | 96 + drivers/net/ethernet/mellanox/mlx5/core/mr.c | 138 ++ .../net/ethernet/mellanox/mlx5/core/pagealloc.c | 438 ++++ drivers/net/ethernet/mellanox/mlx5/core/pd.c | 103 + drivers/net/ethernet/mellanox/mlx5/core/port.c | 106 + drivers/net/ethernet/mellanox/mlx5/core/qp.c | 303 +++ drivers/net/ethernet/mellanox/mlx5/core/srq.c | 225 ++ drivers/net/ethernet/mellanox/mlx5/core/uar.c | 225 ++ include/linux/mlx5/cmd.h | 51 + include/linux/mlx5/cq.h | 166 ++ include/linux/mlx5/device.h | 886 +++++++ include/linux/mlx5/doorbell.h | 81 + include/linux/mlx5/driver.h | 763 ++++++ include/linux/mlx5/qp.h | 467 ++++ include/linux/mlx5/srq.h | 41 + 45 files changed, 15983 insertions(+) create mode 100644 drivers/infiniband/hw/mlx5/Kconfig create mode 100644 drivers/infiniband/hw/mlx5/Makefile create mode 100644 drivers/infiniband/hw/mlx5/ah.c create mode 100644 drivers/infiniband/hw/mlx5/cq.c create mode 100644 drivers/infiniband/hw/mlx5/doorbell.c create mode 100644 drivers/infiniband/hw/mlx5/mad.c create mode 100644 drivers/infiniband/hw/mlx5/main.c create mode 100644 drivers/infiniband/hw/mlx5/mem.c create mode 100644 drivers/infiniband/hw/mlx5/mlx5_ib.h create mode 100644 drivers/infiniband/hw/mlx5/mr.c create mode 100644 drivers/infiniband/hw/mlx5/qp.c create mode 100644 drivers/infiniband/hw/mlx5/srq.c create mode 100644 drivers/infiniband/hw/mlx5/user.h create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/Kconfig create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/Makefile create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/alloc.c create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/cmd.c create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/cq.c create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/debugfs.c create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/eq.c create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/fw.c create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/health.c create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/mad.c create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/main.c create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/mcg.c create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.h create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/mr.c create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/pagealloc.c create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/pd.c create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/port.c create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/qp.c create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/srq.c create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/uar.c create mode 100644 include/linux/mlx5/cmd.h create mode 100644 include/linux/mlx5/cq.h create mode 100644 include/linux/mlx5/device.h create mode 100644 include/linux/mlx5/doorbell.h create mode 100644 include/linux/mlx5/driver.h create mode 100644 include/linux/mlx5/qp.h create mode 100644 include/linux/mlx5/srq.h -- 1.8.1.3 -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
