]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
net: mana: Record doorbell physical address in PF mode
authorLong Li <longli@microsoft.com>
Wed, 18 Jun 2025 01:36:46 +0000 (18:36 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 17 Jul 2025 16:35:21 +0000 (18:35 +0200)
[ Upstream commit e0fca6f2cebff539e9317a15a37dcf432e3b851a ]

MANA supports RDMA in PF mode. The driver should record the doorbell
physical address when in PF mode.

The doorbell physical address is used by the RDMA driver to map
doorbell pages of the device to user-mode applications through RDMA
verbs interface. In the past, they have been mapped to user-mode while
the device is in VF mode. With the support for PF mode implemented,
also expose those pages in PF mode.

Support for PF mode is implemented in
290e5d3c49f6 ("net: mana: Add support for Multi Vports on Bare metal")

Signed-off-by: Long Li <longli@microsoft.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/1750210606-12167-1-git-send-email-longli@linuxonhyperv.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/microsoft/mana/gdma_main.c

index 9ed965d61e35549756cd5caf517b814a8a65e263..d3c9a3020fbf6eeab2c2a0ea808de6d454d7b003 100644 (file)
@@ -28,6 +28,9 @@ static void mana_gd_init_pf_regs(struct pci_dev *pdev)
        gc->db_page_base = gc->bar0_va +
                                mana_gd_r64(gc, GDMA_PF_REG_DB_PAGE_OFF);
 
+       gc->phys_db_page_base = gc->bar0_pa +
+                               mana_gd_r64(gc, GDMA_PF_REG_DB_PAGE_OFF);
+
        sriov_base_off = mana_gd_r64(gc, GDMA_SRIOV_REG_CFG_BASE_OFF);
 
        sriov_base_va = gc->bar0_va + sriov_base_off;