From patchwork Wed Oct 19 22:24:02 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: longli@linuxonhyperv.com X-Patchwork-Id: 5870 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp563560wrs; Wed, 19 Oct 2022 15:27:06 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6ypVFSOrmNfBVop9ET0cQaRaMkShuROhVSAkfGrlZz4956dARz/ZVHk8KtjdK42KQrRI3Q X-Received: by 2002:aa7:c144:0:b0:459:f897:793e with SMTP id r4-20020aa7c144000000b00459f897793emr9473173edp.8.1666218426625; Wed, 19 Oct 2022 15:27:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666218426; cv=none; d=google.com; s=arc-20160816; b=Hh0R+8WG1JE9dgqQ53FI4+0IGgk7MgMPhVt4UFzI2TF3+QS8347Xr+tPX+S59bRu8+ lUT8gSF7MlT+TpZbAlfRdaFxtUZ9/1zDruADA7ohM21fuIbIx5ymoFV9kHChmV8QNab1 rkluGE89mwZlN5+b/j5Q3sbBF50T0/cOSner0ofywr973THTdXaMLyhWgM1mVR+nw8V5 pd1yvFTHSmXO3ztoHzZHlpIb0/YAEykhOIZjxxJl18vaNUnEmZrmlqUZDahIEAK0aoH7 cVXpF3VF23G4pz33L38u2Dx7FPPdLdKEbBvEc7/EOaDTEcydfjqPvcwoIqq53L/Qehy6 Jg+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:reply-to:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:dkim-filter; bh=8Z6yW2KqbQl4Wyror+q4zSVQuzt8hLhkxhobys217qM=; b=Ujw0YHAxETWSeRgkY+AjaMDf2eOHZaz2gnuvnuVp33djZsfRTP6sKbNFGf15dzu14w OVvV2YaxrIlTCZ5JK2bG/QK68m1cuew3l6vDNUAMacCZcZAMqOaI8IRj2BSZRqOaAdjr b8FYzWQfjxdzBqrq8YEekzmzx1yPWkrvkQvtUuYWJcYtHZIEZgk0yUij+ik76rzONppy H09TPWQmKeAyZLDgK0amTs1v1ZeNkdH/sYKDGS1loHqIrRsdN9eE7ED8nsqzi/ufU1Ao BkxoezKF5cq3xRl2xXvtmzb2nkCevwzuTIgY4bkDn8iFntXlwenGVexDvzxIRE6x8nWl bDdg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxonhyperv.com header.s=default header.b=ioL2vpSZ; 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 kf25-20020a17090776d900b00782035a06b4si13848826ejc.200.2022.10.19.15.26.41; Wed, 19 Oct 2022 15:27:06 -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=ioL2vpSZ; 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 S231230AbiJSWYs (ORCPT + 99 others); Wed, 19 Oct 2022 18:24:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34572 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231187AbiJSWY0 (ORCPT ); Wed, 19 Oct 2022 18:24:26 -0400 Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 25E262719; Wed, 19 Oct 2022 15:24:23 -0700 (PDT) Received: by linux.microsoft.com (Postfix, from userid 1004) id E508F20FE898; Wed, 19 Oct 2022 15:24:22 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com E508F20FE898 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linuxonhyperv.com; s=default; t=1666218262; bh=8Z6yW2KqbQl4Wyror+q4zSVQuzt8hLhkxhobys217qM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:Reply-To:From; b=ioL2vpSZnlDz3s0xHQSjrYwE5iIm31aTfiquHiSbCzNcQH9hS0eHF+kUcOCUEIOvE S5abgwupVwDPRkqKtJIp3rs+9d87AO2eqlFCxB9hulj4KZaMXCh+Bm5n8ujmFF1uGx CaKa2VWj6n09PW12Yf7nzV85gb+XCTWlIivwDNgs= 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 v8 02/12] net: mana: Record the physical address for doorbell page region Date: Wed, 19 Oct 2022 15:24:02 -0700 Message-Id: <1666218252-32191-3-git-send-email-longli@linuxonhyperv.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1666218252-32191-1-git-send-email-longli@linuxonhyperv.com> References: <1666218252-32191-1-git-send-email-longli@linuxonhyperv.com> 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: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1747156652661435210?= X-GMAIL-MSGID: =?utf-8?q?1747156652661435210?= From: Long Li For supporting RDMA device with multiple user contexts with their individual doorbell pages, record the start address of doorbell page region for use by the RDMA driver to allocate user context doorbell IDs. Reviewed-by: Dexuan Cui Signed-off-by: Long Li Acked-by: Haiyang Zhang --- Change log: v6: rebased to rdma-next drivers/net/ethernet/microsoft/mana/gdma.h | 2 ++ drivers/net/ethernet/microsoft/mana/gdma_main.c | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/drivers/net/ethernet/microsoft/mana/gdma.h b/drivers/net/ethernet/microsoft/mana/gdma.h index f321a2616d03..72eaec2470c0 100644 --- a/drivers/net/ethernet/microsoft/mana/gdma.h +++ b/drivers/net/ethernet/microsoft/mana/gdma.h @@ -351,9 +351,11 @@ struct gdma_context { u32 test_event_eq_id; bool is_pf; + phys_addr_t bar0_pa; void __iomem *bar0_va; void __iomem *shm_base; void __iomem *db_page_base; + phys_addr_t phys_db_page_base; u32 db_page_size; /* Shared memory chanenl (used to bootstrap HWC) */ diff --git a/drivers/net/ethernet/microsoft/mana/gdma_main.c b/drivers/net/ethernet/microsoft/mana/gdma_main.c index 5f9240182351..0cfe5f15458e 100644 --- a/drivers/net/ethernet/microsoft/mana/gdma_main.c +++ b/drivers/net/ethernet/microsoft/mana/gdma_main.c @@ -44,6 +44,9 @@ static void mana_gd_init_vf_regs(struct pci_dev *pdev) gc->db_page_base = gc->bar0_va + mana_gd_r64(gc, GDMA_REG_DB_PAGE_OFFSET); + gc->phys_db_page_base = gc->bar0_pa + + mana_gd_r64(gc, GDMA_REG_DB_PAGE_OFFSET); + gc->shm_base = gc->bar0_va + mana_gd_r64(gc, GDMA_REG_SHM_OFFSET); } @@ -1367,6 +1370,7 @@ static int mana_gd_probe(struct pci_dev *pdev, const struct pci_device_id *ent) mutex_init(&gc->eq_test_event_mutex); pci_set_drvdata(pdev, gc); + gc->bar0_pa = pci_resource_start(pdev, 0); bar0_va = pci_iomap(pdev, bar, 0); if (!bar0_va)