linux-hyperv.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [Patch v6 00/12] Introduce Microsoft Azure Network Adapter (MANA) RDMA driver
@ 2022-09-21  1:22 longli
  2022-09-21  1:22 ` [Patch v6 01/12] net: mana: Add support for auxiliary device longli
                   ` (12 more replies)
  0 siblings, 13 replies; 19+ messages in thread
From: longli @ 2022-09-21  1:22 UTC (permalink / raw)
  To: K. Y. Srinivasan, Haiyang Zhang, Stephen Hemminger, Wei Liu,
	Dexuan Cui, David S. Miller, Jakub Kicinski, Paolo Abeni,
	Jason Gunthorpe, Leon Romanovsky, edumazet, shiraz.saleem,
	Ajay Sharma
  Cc: linux-hyperv, netdev, linux-kernel, linux-rdma, Long Li

From: Long Li <longli@microsoft.com>

This patchset implements a RDMA driver for Microsoft Azure Network
Adapter (MANA). In MANA, the RDMA device is modeled as an auxiliary device
to the Ethernet device.

The first 11 patches modify the MANA Ethernet driver to support RDMA driver.
The last patch implementes the RDMA driver.

The user-mode of the driver is being reviewed at:
https://github.com/linux-rdma/rdma-core/pull/1177


Ajay Sharma (3):
  net: mana: Set the DMA device max segment size
  net: mana: Define and process GDMA response code
    GDMA_STATUS_MORE_ENTRIES
  net: mana: Define data structures for protection domain and memory
    registration

Long Li (9):
  net: mana: Add support for auxiliary device
  net: mana: Record the physical address for doorbell page region
  net: mana: Handle vport sharing between devices
  net: mana: Add functions for allocating doorbell page from GDMA
  net: mana: Export Work Queue functions for use by RDMA driver
  net: mana: Record port number in netdev
  net: mana: Move header files to a common location
  net: mana: Define max values for SGL entries
  RDMA/mana_ib: Add a driver for Microsoft Azure Network Adapter

 MAINTAINERS                                   |   4 +
 drivers/infiniband/Kconfig                    |   1 +
 drivers/infiniband/hw/Makefile                |   1 +
 drivers/infiniband/hw/mana/Kconfig            |   7 +
 drivers/infiniband/hw/mana/Makefile           |   4 +
 drivers/infiniband/hw/mana/cq.c               |  80 +++
 drivers/infiniband/hw/mana/device.c           | 129 ++++
 drivers/infiniband/hw/mana/main.c             | 555 ++++++++++++++++++
 drivers/infiniband/hw/mana/mana_ib.h          | 165 ++++++
 drivers/infiniband/hw/mana/mr.c               | 133 +++++
 drivers/infiniband/hw/mana/qp.c               | 501 ++++++++++++++++
 drivers/infiniband/hw/mana/wq.c               | 114 ++++
 drivers/net/ethernet/microsoft/Kconfig        |   1 +
 .../net/ethernet/microsoft/mana/gdma_main.c   |  96 ++-
 .../net/ethernet/microsoft/mana/hw_channel.c  |   6 +-
 .../net/ethernet/microsoft/mana/mana_bpf.c    |   2 +-
 drivers/net/ethernet/microsoft/mana/mana_en.c | 176 +++++-
 .../ethernet/microsoft/mana/mana_ethtool.c    |   2 +-
 .../net/ethernet/microsoft/mana/shm_channel.c |   2 +-
 .../microsoft => include/net}/mana/gdma.h     | 162 ++++-
 .../net}/mana/hw_channel.h                    |   0
 .../microsoft => include/net}/mana/mana.h     |  23 +-
 include/net/mana/mana_auxiliary.h             |  10 +
 .../net}/mana/shm_channel.h                   |   0
 include/uapi/rdma/ib_user_ioctl_verbs.h       |   1 +
 include/uapi/rdma/mana-abi.h                  |  66 +++
 26 files changed, 2196 insertions(+), 45 deletions(-)
 create mode 100644 drivers/infiniband/hw/mana/Kconfig
 create mode 100644 drivers/infiniband/hw/mana/Makefile
 create mode 100644 drivers/infiniband/hw/mana/cq.c
 create mode 100644 drivers/infiniband/hw/mana/device.c
 create mode 100644 drivers/infiniband/hw/mana/main.c
 create mode 100644 drivers/infiniband/hw/mana/mana_ib.h
 create mode 100644 drivers/infiniband/hw/mana/mr.c
 create mode 100644 drivers/infiniband/hw/mana/qp.c
 create mode 100644 drivers/infiniband/hw/mana/wq.c
 rename {drivers/net/ethernet/microsoft => include/net}/mana/gdma.h (80%)
 rename {drivers/net/ethernet/microsoft => include/net}/mana/hw_channel.h (100%)
 rename {drivers/net/ethernet/microsoft => include/net}/mana/mana.h (95%)
 create mode 100644 include/net/mana/mana_auxiliary.h
 rename {drivers/net/ethernet/microsoft => include/net}/mana/shm_channel.h (100%)
 create mode 100644 include/uapi/rdma/mana-abi.h

-- 
2.17.1


^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2022-09-22  8:23 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-21  1:22 [Patch v6 00/12] Introduce Microsoft Azure Network Adapter (MANA) RDMA driver longli
2022-09-21  1:22 ` [Patch v6 01/12] net: mana: Add support for auxiliary device longli
2022-09-21  1:22 ` [Patch v6 02/12] net: mana: Record the physical address for doorbell page region longli
2022-09-21  1:22 ` [Patch v6 03/12] net: mana: Handle vport sharing between devices longli
2022-09-21  1:22 ` [Patch v6 04/12] net: mana: Add functions for allocating doorbell page from GDMA longli
2022-09-21  1:22 ` [Patch v6 05/12] net: mana: Set the DMA device max segment size longli
2022-09-21  1:22 ` [Patch v6 06/12] net: mana: Export Work Queue functions for use by RDMA driver longli
2022-09-21  1:22 ` [Patch v6 07/12] net: mana: Record port number in netdev longli
2022-09-21  1:22 ` [Patch v6 08/12] net: mana: Move header files to a common location longli
2022-09-21  1:22 ` [Patch v6 09/12] net: mana: Define max values for SGL entries longli
2022-09-21  1:22 ` [Patch v6 10/12] net: mana: Define and process GDMA response code GDMA_STATUS_MORE_ENTRIES longli
2022-09-21  1:22 ` [Patch v6 11/12] net: mana: Define data structures for protection domain and memory registration longli
2022-09-21  1:22 ` [Patch v6 12/12] RDMA/mana_ib: Add a driver for Microsoft Azure Network Adapter longli
2022-09-21 16:26   ` Jason Gunthorpe
2022-09-21 21:00     ` Long Li
2022-09-21 17:59   ` Jason Gunthorpe
2022-09-22  8:23     ` Long Li
2022-09-21 16:25 ` [Patch v6 00/12] Introduce Microsoft Azure Network Adapter (MANA) RDMA driver Jason Gunthorpe
2022-09-21 18:53   ` Long Li

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).