Message ID | 1666034441-15424-1-git-send-email-longli@linuxonhyperv.com |
---|---|
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp1605792wrs; Mon, 17 Oct 2022 12:21:59 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4P1nuZaOP+1OxqFTh0d44hc/4UYM1cQ3gDUwfKA7+w9FroLWjlz7jjvgIxO8jtr4zeqwEa X-Received: by 2002:a17:90b:1a88:b0:20d:8df0:ac63 with SMTP id ng8-20020a17090b1a8800b0020d8df0ac63mr31627693pjb.206.1666034508615; Mon, 17 Oct 2022 12:21:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666034508; cv=none; d=google.com; s=arc-20160816; b=LzAMkLknMqQ28MjeApjvefY0cYrhwlT64zRGniQ1dTmzpKuNxhPmldsca77hDBloi5 4l1NbVaVEaeUyodcsJ0VS8wOaozpRvp4oUKzFbEJkWKJDsUFK+RaHDLv4L1KNuBIDzrI sMcejSFzk+6yvbHBnbii8kMXRIFpBOiKl3J2+TUuyGj3eAcmq7YyPvDx5g6SzHT5ghuH IhLHjWybaULFSCjzLb1ZNiF70SNs1qfmAZ/W9xfMKrmgc1ASutdLS0FT3nWySKMmrXPs m0uCwzBIDecURqUK4Sr0LXx9mKrQZ2bUNqpEhD+WeKNfFoFhA0xyh1nBkaslOQl5oZC8 6l7Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-filter; bh=Ymtr4NC/p7G4dhVJgRsevX0//AmTAesmxqym7mMRINc=; b=k8AT+z6p0ChFvoILGXsV+secuQc/de0Q85GYzkcnf3EkmD9XtTLYKvZrm+HSr0efqB Hci1j62xh18oaWV/on91NimAmvQIONpVis54lt8ThDrkwtAb8aOUw1G4J/phDJxS9TbW 84ZleP1u8cYWWTrHrj/6cxurlmkzTJ1bDC1WR6iAscIXFG6sOzkL3v++xj3cYzK7lzmZ nTH8+HKQBuxvKLfg184EOqZz8KMfFqIpF1tt8CDiSuByDIXMIxZ1CZjwDYzGZ/GMwXK8 uCQEySrTGYkUKM6yd+PpNy5DNsvlLtZ5RHsvVT9EIHW+g7YInh473/EeToaa/sh4MU20 swMw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxonhyperv.com header.s=default header.b=YM9k3tRL; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxonhyperv.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id j192-20020a638bc9000000b00462c469b730si12433255pge.648.2022.10.17.12.21.35; Mon, 17 Oct 2022 12:21:48 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxonhyperv.com header.s=default header.b=YM9k3tRL; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxonhyperv.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231231AbiJQTVR (ORCPT <rfc822;kernel.ruili@gmail.com> + 99 others); Mon, 17 Oct 2022 15:21:17 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55802 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230483AbiJQTUz (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Mon, 17 Oct 2022 15:20:55 -0400 Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id C84D776761; Mon, 17 Oct 2022 12:20:50 -0700 (PDT) Received: by linux.microsoft.com (Postfix, from userid 1004) id 01FDF20FD46C; Mon, 17 Oct 2022 12:20:50 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 01FDF20FD46C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linuxonhyperv.com; s=default; t=1666034450; bh=Ymtr4NC/p7G4dhVJgRsevX0//AmTAesmxqym7mMRINc=; h=From:To:Cc:Subject:Date:Reply-To:From; b=YM9k3tRLH3o9BkFvjxj3acNu4CeIw52pySCgGiniACHSo2rT0o161Y9hTWh9qSmz6 DRs+j+fJL2guzvTI9Iq1bjl1GW3jXE2EVBDlv1rFNeWvfqprDCkE028Pc2tewJmkWT nyXJerL/0dE05IgxyASAF/1s+XH4lWbrN0zVrVWc= From: longli@linuxonhyperv.com To: "K. Y. Srinivasan" <kys@microsoft.com>, Haiyang Zhang <haiyangz@microsoft.com>, Stephen Hemminger <sthemmin@microsoft.com>, Wei Liu <wei.liu@kernel.org>, Dexuan Cui <decui@microsoft.com>, "David S. Miller" <davem@davemloft.net>, Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>, Jason Gunthorpe <jgg@ziepe.ca>, Leon Romanovsky <leon@kernel.org>, edumazet@google.com, shiraz.saleem@intel.com, Ajay Sharma <sharmaajay@microsoft.com> Cc: linux-hyperv@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-rdma@vger.kernel.org, Long Li <longli@microsoft.com> Subject: [Patch v7 00/12] Introduce Microsoft Azure Network Adapter (MANA) RDMA driver Date: Mon, 17 Oct 2022 12:20:29 -0700 Message-Id: <1666034441-15424-1-git-send-email-longli@linuxonhyperv.com> X-Mailer: git-send-email 1.8.3.1 Reply-To: longli@microsoft.com X-Spam-Status: No, score=-11.6 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, RCVD_IN_DNSWL_MED,SPF_HELO_PASS,SPF_PASS,USER_IN_DEF_SPF_WL autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1746963800896523864?= X-GMAIL-MSGID: =?utf-8?q?1746963800896523864?= |
Series |
Introduce Microsoft Azure Network Adapter (MANA) RDMA driver
|
|
Message
longli@linuxonhyperv.com
Oct. 17, 2022, 7:20 p.m. UTC
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 | 508 ++++++++++++++++++
drivers/infiniband/hw/mana/mana_ib.h | 156 ++++++
drivers/infiniband/hw/mana/mr.c | 200 +++++++
drivers/infiniband/hw/mana/qp.c | 505 +++++++++++++++++
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, 2147 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