[PATCH 00/14] Introduce AMD Pensando RDMA driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This patchset introduces an RDMA driver for the AMD Pensando adapter. 
An AMD Pensando Ethernet device with RDMA capabilities extends its 
functionality through an auxiliary device.

The first 6 patches of the series modify the ionic Ethernet driver 
to support the RDMA driver. The ionic RDMA driver implementation is 
split into the remaining 8 patches.

Abhijit Gangurde (14):
  net: ionic: Rename neqs_per_lif to reflect rdma capability
  net: ionic: Create an auxiliary device for rdma driver
  net: ionic: Export the APIs from net driver to get RDMA capabilities
  net: ionic: Export the APIs from net driver to support device commands
  net: ionic: Provide doorbell and CMB region information
  net: ionic: Move header files to a common location
  RDMA: Add IONIC to rdma_driver_id definition
  RDMA/ionic: Register auxiliary module for ionic ethernet adapter
  RDMA/ionic: Create device queues to support admin operations
  RDMA/ionic: Register device ops for control path
  RDMA/ionic: Register device ops for datapath
  RDMA/ionic: Register device ops for miscellaneous functionality
  RDMA/ionic: Implement device stats ops
  RDMA/ionic: Add Makefile/Kconfig to kernel build environment

 .../ethernet/pensando/ionic_rdma.rst          |   43 +
 MAINTAINERS                                   |   11 +
 drivers/infiniband/Kconfig                    |    1 +
 drivers/infiniband/hw/Makefile                |    1 +
 drivers/infiniband/hw/ionic/Kconfig           |   17 +
 drivers/infiniband/hw/ionic/Makefile          |    7 +
 drivers/infiniband/hw/ionic/ionic_admin.c     | 1237 +++++++
 .../infiniband/hw/ionic/ionic_controlpath.c   | 2900 +++++++++++++++++
 drivers/infiniband/hw/ionic/ionic_datapath.c  | 1422 ++++++++
 drivers/infiniband/hw/ionic/ionic_fw.h        | 1031 ++++++
 drivers/infiniband/hw/ionic/ionic_hw_stats.c  |  484 +++
 drivers/infiniband/hw/ionic/ionic_ibdev.c     |  546 ++++
 drivers/infiniband/hw/ionic/ionic_ibdev.h     |  540 +++
 drivers/infiniband/hw/ionic/ionic_pgtbl.c     |  143 +
 drivers/infiniband/hw/ionic/ionic_queue.c     |   52 +
 drivers/infiniband/hw/ionic/ionic_queue.h     |  234 ++
 drivers/infiniband/hw/ionic/ionic_res.c       |   42 +
 drivers/infiniband/hw/ionic/ionic_res.h       |  182 ++
 drivers/net/ethernet/pensando/Kconfig         |    1 +
 drivers/net/ethernet/pensando/ionic/Makefile  |    2 +-
 drivers/net/ethernet/pensando/ionic/ionic.h   |   12 +-
 .../net/ethernet/pensando/ionic/ionic_api.c   |  214 ++
 .../net/ethernet/pensando/ionic/ionic_aux.c   |   95 +
 .../net/ethernet/pensando/ionic/ionic_aux.h   |   10 +
 .../net/ethernet/pensando/ionic/ionic_bus.h   |    1 +
 .../ethernet/pensando/ionic/ionic_bus_pci.c   |   13 +
 .../net/ethernet/pensando/ionic/ionic_dev.c   |  268 +-
 .../net/ethernet/pensando/ionic/ionic_dev.h   |   28 +-
 .../net/ethernet/pensando/ionic/ionic_lif.c   |   70 +-
 .../net/ethernet/pensando/ionic/ionic_lif.h   |   21 +-
 .../net/ethernet/pensando/ionic/ionic_main.c  |    2 +-
 include/linux/ionic/ionic_api.h               |  240 ++
 .../linux}/ionic/ionic_if.h                   |  115 +-
 .../linux}/ionic/ionic_regs.h                 |    0
 include/uapi/rdma/ib_user_ioctl_verbs.h       |    1 +
 include/uapi/rdma/ionic-abi.h                 |  115 +
 36 files changed, 10032 insertions(+), 69 deletions(-)
 create mode 100644 Documentation/networking/device_drivers/ethernet/pensando/ionic_rdma.rst
 create mode 100644 drivers/infiniband/hw/ionic/Kconfig
 create mode 100644 drivers/infiniband/hw/ionic/Makefile
 create mode 100644 drivers/infiniband/hw/ionic/ionic_admin.c
 create mode 100644 drivers/infiniband/hw/ionic/ionic_controlpath.c
 create mode 100644 drivers/infiniband/hw/ionic/ionic_datapath.c
 create mode 100644 drivers/infiniband/hw/ionic/ionic_fw.h
 create mode 100644 drivers/infiniband/hw/ionic/ionic_hw_stats.c
 create mode 100644 drivers/infiniband/hw/ionic/ionic_ibdev.c
 create mode 100644 drivers/infiniband/hw/ionic/ionic_ibdev.h
 create mode 100644 drivers/infiniband/hw/ionic/ionic_pgtbl.c
 create mode 100644 drivers/infiniband/hw/ionic/ionic_queue.c
 create mode 100644 drivers/infiniband/hw/ionic/ionic_queue.h
 create mode 100644 drivers/infiniband/hw/ionic/ionic_res.c
 create mode 100644 drivers/infiniband/hw/ionic/ionic_res.h
 create mode 100644 drivers/net/ethernet/pensando/ionic/ionic_api.c
 create mode 100644 drivers/net/ethernet/pensando/ionic/ionic_aux.c
 create mode 100644 drivers/net/ethernet/pensando/ionic/ionic_aux.h
 create mode 100644 include/linux/ionic/ionic_api.h
 rename {drivers/net/ethernet/pensando => include/linux}/ionic/ionic_if.h (96%)
 rename {drivers/net/ethernet/pensando => include/linux}/ionic/ionic_regs.h (100%)
 create mode 100644 include/uapi/rdma/ionic-abi.h

-- 
2.34.1





[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux