From 424f05599bf08e31252f79fc9901405c374ede31 Mon Sep 17 00:00:00 2001 From: Helge Deller Date: Thu, 8 Feb 2024 19:44:11 +0100 Subject: parisc: Fix hpa_name() to resolve & print PCI device Signed-off-by: Helge Deller --- src/parisc/parisc.c | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/src/parisc/parisc.c b/src/parisc/parisc.c index 8813d33..2e66a95 100644 --- a/src/parisc/parisc.c +++ b/src/parisc/parisc.c @@ -370,7 +370,6 @@ static hppa_device_t *parisc_devices = machine_B160L.device_list; static const char *hpa_name(unsigned long hpa) { - struct pci_device *pci; int i; #define DO(x) if (hpa == F_EXTEND(x)) return #x; @@ -407,17 +406,12 @@ static const char *hpa_name(unsigned long hpa) } } - /* could be a PCI device */ - foreachpci(pci) { - unsigned long mem, mmio; - mem = pci_config_readl(pci->bdf, PCI_BASE_ADDRESS_0); - mem &= PCI_BASE_ADDRESS_MEM_MASK; - if (hpa == mem) - return "HPA_PCI_CARD_MEM"; - mmio = pci_config_readl(pci->bdf, PCI_BASE_ADDRESS_2); - mmio &= PCI_BASE_ADDRESS_MEM_MASK; - if (hpa == mem) - return "HPA_PCI_CARD_MMIO"; + /* search PCI devices */ + hppa_device_t *dev = find_hpa_device(hpa); + if (dev) { + static char pci_dev_name[12]; + snprintf(pci_dev_name, sizeof(pci_dev_name), "PCI_%pP", dev->pci); + return pci_dev_name; } return "UNKNOWN HPA"; -- cgit v1.1