[PATCH 4/4] perf/x86/intel/uncore: Use D0:F0 as a default device

From: kan . liang
Date: Thu Apr 04 2024 - 10:18:48 EST


From: Zhenyu Wang <zhenyuw@xxxxxxxxxxxxxxx>

Some uncore PMON registers are located in the MMIO space of the Host
Bridge and DRAM Controller device, which is located at D0:F0 for
Tiger Lake and later client generation.

Use D0:F0 as a default device. So it doesn't need to keep adding the
complete Device ID list for each generation anymore.

Signed-off-by: Zhenyu Wang <zhenyuw@xxxxxxxxxxxxxxx>
Signed-off-by: Kan Liang <kan.liang@xxxxxxxxxxxxxxx>
---
arch/x86/events/intel/uncore_snb.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/arch/x86/events/intel/uncore_snb.c b/arch/x86/events/intel/uncore_snb.c
index 4cab1bf57602..8625d6d279c3 100644
--- a/arch/x86/events/intel/uncore_snb.c
+++ b/arch/x86/events/intel/uncore_snb.c
@@ -1488,6 +1488,10 @@ static struct pci_dev *tgl_uncore_get_mc_dev(void)
ids++;
}

+ /* Just try to grab 00:00.0 device */
+ if (!mc_dev)
+ mc_dev = pci_get_domain_bus_and_slot(0, 0, PCI_DEVFN(0, 0));
+
return mc_dev;
}

--
2.35.1