From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A9854C433EF for ; Tue, 17 May 2022 09:05:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S244046AbiEQJE5 (ORCPT ); Tue, 17 May 2022 05:04:57 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53124 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240554AbiEQJEw (ORCPT ); Tue, 17 May 2022 05:04:52 -0400 Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 545103F316; Tue, 17 May 2022 02:04:44 -0700 (PDT) Received: by linux.microsoft.com (Postfix, from userid 1004) id 012E920F32C6; Tue, 17 May 2022 02:04:43 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 012E920F32C6 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linuxonhyperv.com; s=default; t=1652778284; bh=ojA9Vp3b1/V9h3FkXwTJNt9d/ThwRugOJ3+/bcYv0TQ=; h=From:To:Cc:Subject:Date:Reply-To:From; b=DJqd5IdhkvSx7eWgpVps6BFS03s780foB6vAch5Lq68bOR5JaH2Bc2UxOUSTaW9lZ sNJLXccvW4G8sHUnTM5EnhNPHPLFswBrr1TytSzIP1FKytqekMKpnpBIH7EVRSFo9W n9vqSfe7qjo1y9HrCt3VdPZGIzgx6rvsCAxbu4nI= From: longli@linuxonhyperv.com To: "K. Y. Srinivasan" , Haiyang Zhang , Stephen Hemminger , Wei Liu , Dexuan Cui , "David S. Miller" , Jakub Kicinski , Paolo Abeni , Jason Gunthorpe , Leon Romanovsky Cc: linux-hyperv@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-rdma@vger.kernel.org, Long Li Subject: [PATCH 00/12] Introduce Microsoft Azure Network Adapter (MANA) RDMA driver Date: Tue, 17 May 2022 02:04:24 -0700 Message-Id: <1652778276-2986-1-git-send-email-longli@linuxonhyperv.com> X-Mailer: git-send-email 1.8.3.1 Reply-To: longli@microsoft.com Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org From: Long Li 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. Long Li (12): 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: Set the DMA device max page size net: mana: Define data structures for protection domain and memory registration 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 and process GDMA response code GDMA_STATUS_MORE_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 | 74 ++ drivers/infiniband/hw/mana/main.c | 679 ++++++++++++++++++ drivers/infiniband/hw/mana/mana_ib.h | 145 ++++ drivers/infiniband/hw/mana/mr.c | 133 ++++ drivers/infiniband/hw/mana/qp.c | 466 ++++++++++++ drivers/infiniband/hw/mana/wq.c | 111 +++ .../net/ethernet/microsoft/mana/gdma_main.c | 94 ++- .../net/ethernet/microsoft/mana/hw_channel.c | 6 +- .../net/ethernet/microsoft/mana/mana_bpf.c | 2 +- drivers/net/ethernet/microsoft/mana/mana_en.c | 139 +++- .../ethernet/microsoft/mana/mana_ethtool.c | 2 +- .../net/ethernet/microsoft/mana/shm_channel.c | 2 +- .../microsoft => include/linux}/mana/gdma.h | 191 ++++- .../linux}/mana/hw_channel.h | 0 .../microsoft => include/linux}/mana/mana.h | 26 +- .../linux}/mana/shm_channel.h | 0 include/uapi/rdma/ib_user_ioctl_verbs.h | 1 + include/uapi/rdma/mana-abi.h | 68 ++ 23 files changed, 2111 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/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/linux}/mana/gdma.h (77%) rename {drivers/net/ethernet/microsoft => include/linux}/mana/hw_channel.h (100%) rename {drivers/net/ethernet/microsoft => include/linux}/mana/mana.h (94%) rename {drivers/net/ethernet/microsoft => include/linux}/mana/shm_channel.h (100%) create mode 100644 include/uapi/rdma/mana-abi.h -- 2.17.1