mirror of
https://github.com/torvalds/linux.git
synced 2026-09-12 20:53:03 +02:00
octeontx2-af: fix PF/CGX debugfs PCI bus lookup
rvu_dbg_rvu_pf_cgx_map_display() locates each RVU PF PCI device via
pci_get_domain_bus_and_slot() when printing the PF-to-CGX map. It
assumed PF0 always sits on PCI bus 1 and derived other PF bus numbers
as pf + 1, but the AF device can be enumerated on a different bus.
Use rvu->pdev->bus->number as the base bus instead, so each PF lookup
uses pf + start on systems where RVU functions are on contiguous buses
but do not start at bus 1.
Fixes: e2fb373038 ("octeontx2-af: Display CGX, NIX and PF map in debugfs.")
Signed-off-by: Subbaraya Sundeep <sbhatta@marvell.com>
Signed-off-by: Ratheesh Kannoth <rkannoth@marvell.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20260904085114.3385530-1-rkannoth@marvell.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
985a663bf0
commit
4f4b743c2d
|
|
@ -829,19 +829,25 @@ static int rvu_dbg_rvu_pf_cgx_map_display(struct seq_file *filp, void *unused)
|
|||
int pf, domain, blkid;
|
||||
u8 cgx_id, lmac_id;
|
||||
u16 pcifunc;
|
||||
u8 start;
|
||||
|
||||
domain = 2;
|
||||
domain = pci_domain_nr(rvu->pdev->bus);
|
||||
mac_ops = get_mac_ops(rvu_first_cgx_pdata(rvu));
|
||||
/* There can be no CGX devices at all */
|
||||
if (!mac_ops)
|
||||
return 0;
|
||||
seq_printf(filp, "PCI dev\t\tRVU PF Func\tNIX block\t%s\tLMAC\tCHAN\n",
|
||||
mac_ops->name);
|
||||
|
||||
/* All the PF devices are on contiguous PCI bus numbers, but the PF0(AF)
|
||||
* may not start from 1 always. Hence get domain and bus from PCI device.
|
||||
*/
|
||||
start = rvu->pdev->bus->number;
|
||||
for (pf = 0; pf < rvu->hw->total_pfs; pf++) {
|
||||
if (!is_pf_cgxmapped(rvu, pf))
|
||||
continue;
|
||||
|
||||
pdev = pci_get_domain_bus_and_slot(domain, pf + 1, 0);
|
||||
pdev = pci_get_domain_bus_and_slot(domain, pf + start, 0);
|
||||
if (!pdev)
|
||||
continue;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user