linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [Patch v9 00/12] Introduce Microsoft Azure Network Adapter (MANA) RDMA driver
@ 2022-10-22  0:01 longli
  2022-10-22  0:01 ` [Patch v9 01/12] net: mana: Add support for auxiliary device longli
                   ` (11 more replies)
  0 siblings, 12 replies; 21+ messages in thread
From: longli @ 2022-10-22  0:01 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: 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
  net: mana: Define data structures for allocating doorbell page from
    GDMA
  RDMA/mana_ib: Add a driver for Microsoft Azure Network Adapter

 MAINTAINERS                                   |  10 +
 drivers/infiniband/Kconfig                    |   1 +
 drivers/infiniband/hw/Makefile                |   1 +
 drivers/infiniband/hw/mana/Kconfig            |  10 +
 drivers/infiniband/hw/mana/Makefile           |   4 +
 drivers/infiniband/hw/mana/cq.c               |  79 +++
 drivers/infiniband/hw/mana/device.c           | 117 ++++
 drivers/infiniband/hw/mana/main.c             | 507 ++++++++++++++++++
 drivers/infiniband/hw/mana/mana_ib.h          | 162 ++++++
 drivers/infiniband/hw/mana/mr.c               | 197 +++++++
 drivers/infiniband/hw/mana/qp.c               | 506 +++++++++++++++++
 drivers/infiniband/hw/mana/wq.c               | 115 ++++
 drivers/net/ethernet/microsoft/Kconfig        |   1 +
 .../net/ethernet/microsoft/mana/gdma_main.c   |  40 +-
 .../net/ethernet/microsoft/mana/hw_channel.c  |   6 +-
 .../net/ethernet/microsoft/mana/mana_bpf.c    |   2 +-
 drivers/net/ethernet/microsoft/mana/mana_en.c | 175 +++++-
 .../ethernet/microsoft/mana/mana_ethtool.c    |   2 +-
 .../net/ethernet/microsoft/mana/shm_channel.c |   2 +-
 .../microsoft => include/net}/mana/gdma.h     | 158 +++++-
 .../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, 2150 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] 21+ messages in thread

end of thread, other threads:[~2022-11-01 18:31 UTC | newest]

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