Received: by 2002:a6b:fb09:0:0:0:0:0 with SMTP id h9csp101383iog; Sun, 12 Jun 2022 20:26:51 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzMM3zUc6CEIZo4A7AUe1sMPjI5gT9AAMXuJEGNDKPtKxCBEYDvErje7lC665xC33aV1NCl X-Received: by 2002:a17:907:6e90:b0:711:cb3c:8c1a with SMTP id sh16-20020a1709076e9000b00711cb3c8c1amr36888368ejc.516.1655090811031; Sun, 12 Jun 2022 20:26:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1655090811; cv=none; d=google.com; s=arc-20160816; b=HsGeK22RcSPkKb+ncB6ZTeUr3QCWMhB1sIkqXled6ijmTb1EY1hHgcc4bd5FXFPAaw HqH3HOqKWJdYt2w101uimDE8zCMfv1v5IMNFeOswK0v/01rZg0siBKZ/FaVDAMi4AD/a 1DYWhZl9kwfoosjPMtxGl68UW2jh3bVK8tIA2SP3OQ1GQJGvWpXVz6Qfl3mqh/fCEaEs MevC79CMVAyOqC60VTWs2vrRygMYJ5Tu9k78J+UBMFT9oq0PwLenZ5z45zvGDW1Z8BG+ cmLdd3hrG4DXpsbUCvK5rdBHcCnc2rZtS3IqNCguETf9Zl1BANEZEFz+F9e4h4fGjmnr UtrQ== 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=XE8GwgX0PUfkW0qZHzueXyliNP5uMGgm+d0MEyjzUwA=; b=a9pUmahq6u5b62/aS+OaSQolcB3Zf4ZF+UFW0HULeD59uZU/TiEkVVrQHpG78uiXPq eDYk7LgYlO6U6tv1K+9sKalqKh8x6JcfxfHq3760gdkEHr+NNQ8V2662JbJa9XG6QQvK CcpWZ1QAShS00VUPx4/l2iTbB9xbvY6egBkuSJjcVoiJttfyVNPwg7wB/7ltrUtUvK1i crJwC6QMZWSRR52O6mCiSHAXQ8fzI72k4wnrzKkliUlbmYPyGO0avyL9IbE9t0oCRIIS Zzb+KlluHLE8wf2kQHtvoyd1d1eWUiWKY3ROpHj109PjQomkp2KFtc72iqXVza5nTTIK U27w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxonhyperv.com header.s=default header.b=LKnb4mzC; 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 Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id qk12-20020a1709077f8c00b00711ec13b7f2si6911235ejc.920.2022.06.12.20.26.26; Sun, 12 Jun 2022 20:26:51 -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=LKnb4mzC; 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 S235485AbiFLVPH (ORCPT + 99 others); Sun, 12 Jun 2022 17:15:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33878 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230245AbiFLVPF (ORCPT ); Sun, 12 Jun 2022 17:15:05 -0400 Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id E97CDE08A; Sun, 12 Jun 2022 14:15:04 -0700 (PDT) Received: by linux.microsoft.com (Postfix, from userid 1004) id 79E0F20C14B6; Sun, 12 Jun 2022 14:15:04 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 79E0F20C14B6 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linuxonhyperv.com; s=default; t=1655068504; bh=XE8GwgX0PUfkW0qZHzueXyliNP5uMGgm+d0MEyjzUwA=; h=From:To:Cc:Subject:Date:Reply-To:From; b=LKnb4mzCbt/RvO4Ojmlq4zFnLOAj3cvuM6hKmHHb1BPRGrJydr4ZPcAKoqFJi/Iqr rHASDC+8q4ZMj7+iDqA6wdhAmTSs/NJ7OEy4PjpjgTKMyXzO3PyTbO10Zt2C6dzFJQ jeV9GabsTC9L76o2ka39TO1NGUoH3l3tafiwX2hw= 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 , edumazet@google.com, shiraz.saleem@intel.com, Ajay Sharma Cc: linux-hyperv@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-rdma@vger.kernel.org, Long Li Subject: [Patch v3 00/12] Introduce Microsoft Azure Network Adapter (MANA) RDMA driver Date: Sun, 12 Jun 2022 14:14:42 -0700 Message-Id: <1655068494-16440-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,T_SCC_BODY_TEXT_LINE, 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: X-Mailing-List: linux-kernel@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. 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 data structures for protection domain and memory registration net: mana: Define and process GDMA response code GDMA_STATUS_MORE_ENTRIES 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/main.c | 686 ++++++++++++++++++ drivers/infiniband/hw/mana/mana_ib.h | 145 ++++ drivers/infiniband/hw/mana/mr.c | 133 ++++ drivers/infiniband/hw/mana/qp.c | 501 +++++++++++++ drivers/infiniband/hw/mana/wq.c | 114 +++ .../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 | 149 +++- .../ethernet/microsoft/mana/mana_ethtool.c | 2 +- .../net/ethernet/microsoft/mana/shm_channel.c | 2 +- .../microsoft => include/net}/mana/gdma.h | 188 ++++- .../net}/mana/hw_channel.h | 0 .../microsoft => include/net}/mana/mana.h | 26 +- .../net}/mana/shm_channel.h | 0 include/uapi/rdma/ib_user_ioctl_verbs.h | 1 + include/uapi/rdma/mana-abi.h | 66 ++ 23 files changed, 2169 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/net}/mana/gdma.h (77%) rename {drivers/net/ethernet/microsoft => include/net}/mana/hw_channel.h (100%) rename {drivers/net/ethernet/microsoft => include/net}/mana/mana.h (94%) rename {drivers/net/ethernet/microsoft => include/net}/mana/shm_channel.h (100%) create mode 100644 include/uapi/rdma/mana-abi.h -- 2.17.1