Print pci segment ID along with bdf. Useful for debugging.

Co-developed-by: Suravee Suthikulpaint <suravee.suthikulpa...@amd.com>
Signed-off-by: Suravee Suthikulpaint <suravee.suthikulpa...@amd.com>
Signed-off-by: Vasant Hegde <vasant.he...@amd.com>
---
 drivers/iommu/amd/init.c  | 10 +++++-----
 drivers/iommu/amd/iommu.c | 36 ++++++++++++++++++------------------
 2 files changed, 23 insertions(+), 23 deletions(-)

diff --git a/drivers/iommu/amd/init.c b/drivers/iommu/amd/init.c
index 969b496f7e74..8483d98a1775 100644
--- a/drivers/iommu/amd/init.c
+++ b/drivers/iommu/amd/init.c
@@ -1853,11 +1853,11 @@ static int __init init_iommu_all(struct 
acpi_table_header *table)
                h = (struct ivhd_header *)p;
                if (*p == amd_iommu_target_ivhd_type) {
 
-                       DUMP_printk("device: %02x:%02x.%01x cap: %04x "
-                                   "seg: %d flags: %01x info %04x\n",
-                                   PCI_BUS_NUM(h->devid), PCI_SLOT(h->devid),
-                                   PCI_FUNC(h->devid), h->cap_ptr,
-                                   h->pci_seg, h->flags, h->info);
+                       DUMP_printk("device: %04x:%02x:%02x.%01x cap: %04x "
+                                   "flags: %01x info %04x\n",
+                                   h->pci_seg, PCI_BUS_NUM(h->devid),
+                                   PCI_SLOT(h->devid), PCI_FUNC(h->devid),
+                                   h->cap_ptr, h->flags, h->info);
                        DUMP_printk("       mmio-addr: %016llx\n",
                                    h->mmio_phys);
 
diff --git a/drivers/iommu/amd/iommu.c b/drivers/iommu/amd/iommu.c
index 536dbc1d26ad..6320f2f97d88 100644
--- a/drivers/iommu/amd/iommu.c
+++ b/drivers/iommu/amd/iommu.c
@@ -496,8 +496,8 @@ static void amd_iommu_report_rmp_hw_error(struct amd_iommu 
*iommu, volatile u32
                                vmg_tag, spa, flags);
                }
        } else {
-               pr_err_ratelimited("Event logged [RMP_HW_ERROR 
device=%02x:%02x.%x, vmg_tag=0x%04x, spa=0x%llx, flags=0x%04x]\n",
-                       PCI_BUS_NUM(devid), PCI_SLOT(devid), PCI_FUNC(devid),
+               pr_err_ratelimited("Event logged [RMP_HW_ERROR 
device=%04x:%02x:%02x.%x, vmg_tag=0x%04x, spa=0x%llx, flags=0x%04x]\n",
+                       iommu->pci_seg->id, PCI_BUS_NUM(devid), 
PCI_SLOT(devid), PCI_FUNC(devid),
                        vmg_tag, spa, flags);
        }
 
@@ -529,8 +529,8 @@ static void amd_iommu_report_rmp_fault(struct amd_iommu 
*iommu, volatile u32 *ev
                                vmg_tag, gpa, flags_rmp, flags);
                }
        } else {
-               pr_err_ratelimited("Event logged [RMP_PAGE_FAULT 
device=%02x:%02x.%x, vmg_tag=0x%04x, gpa=0x%llx, flags_rmp=0x%04x, 
flags=0x%04x]\n",
-                       PCI_BUS_NUM(devid), PCI_SLOT(devid), PCI_FUNC(devid),
+               pr_err_ratelimited("Event logged [RMP_PAGE_FAULT 
device=%04x:%02x:%02x.%x, vmg_tag=0x%04x, gpa=0x%llx, flags_rmp=0x%04x, 
flags=0x%04x]\n",
+                       iommu->pci_seg->id, PCI_BUS_NUM(devid), 
PCI_SLOT(devid), PCI_FUNC(devid),
                        vmg_tag, gpa, flags_rmp, flags);
        }
 
@@ -576,8 +576,8 @@ static void amd_iommu_report_page_fault(struct amd_iommu 
*iommu,
                                domain_id, address, flags);
                }
        } else {
-               pr_err_ratelimited("Event logged [IO_PAGE_FAULT 
device=%02x:%02x.%x domain=0x%04x address=0x%llx flags=0x%04x]\n",
-                       PCI_BUS_NUM(devid), PCI_SLOT(devid), PCI_FUNC(devid),
+               pr_err_ratelimited("Event logged [IO_PAGE_FAULT 
device=%04x:%02x:%02x.%x domain=0x%04x address=0x%llx flags=0x%04x]\n",
+                       iommu->pci_seg->id, PCI_BUS_NUM(devid), 
PCI_SLOT(devid), PCI_FUNC(devid),
                        domain_id, address, flags);
        }
 
@@ -620,20 +620,20 @@ static void iommu_print_event(struct amd_iommu *iommu, 
void *__evt)
 
        switch (type) {
        case EVENT_TYPE_ILL_DEV:
-               dev_err(dev, "Event logged [ILLEGAL_DEV_TABLE_ENTRY 
device=%02x:%02x.%x pasid=0x%05x address=0x%llx flags=0x%04x]\n",
-                       PCI_BUS_NUM(devid), PCI_SLOT(devid), PCI_FUNC(devid),
+               dev_err(dev, "Event logged [ILLEGAL_DEV_TABLE_ENTRY 
device=%04x:%02x:%02x.%x pasid=0x%05x address=0x%llx flags=0x%04x]\n",
+                       iommu->pci_seg->id, PCI_BUS_NUM(devid), 
PCI_SLOT(devid), PCI_FUNC(devid),
                        pasid, address, flags);
                dump_dte_entry(iommu, devid);
                break;
        case EVENT_TYPE_DEV_TAB_ERR:
-               dev_err(dev, "Event logged [DEV_TAB_HARDWARE_ERROR 
device=%02x:%02x.%x "
+               dev_err(dev, "Event logged [DEV_TAB_HARDWARE_ERROR 
device=%04x:%02x:%02x.%x "
                        "address=0x%llx flags=0x%04x]\n",
-                       PCI_BUS_NUM(devid), PCI_SLOT(devid), PCI_FUNC(devid),
+                       iommu->pci_seg->id, PCI_BUS_NUM(devid), 
PCI_SLOT(devid), PCI_FUNC(devid),
                        address, flags);
                break;
        case EVENT_TYPE_PAGE_TAB_ERR:
-               dev_err(dev, "Event logged [PAGE_TAB_HARDWARE_ERROR 
device=%02x:%02x.%x pasid=0x%04x address=0x%llx flags=0x%04x]\n",
-                       PCI_BUS_NUM(devid), PCI_SLOT(devid), PCI_FUNC(devid),
+               dev_err(dev, "Event logged [PAGE_TAB_HARDWARE_ERROR 
device=%04x:%02x:%02x.%x pasid=0x%04x address=0x%llx flags=0x%04x]\n",
+                       iommu->pci_seg->id, PCI_BUS_NUM(devid), 
PCI_SLOT(devid), PCI_FUNC(devid),
                        pasid, address, flags);
                break;
        case EVENT_TYPE_ILL_CMD:
@@ -645,13 +645,13 @@ static void iommu_print_event(struct amd_iommu *iommu, 
void *__evt)
                        address, flags);
                break;
        case EVENT_TYPE_IOTLB_INV_TO:
-               dev_err(dev, "Event logged [IOTLB_INV_TIMEOUT 
device=%02x:%02x.%x address=0x%llx]\n",
-                       PCI_BUS_NUM(devid), PCI_SLOT(devid), PCI_FUNC(devid),
+               dev_err(dev, "Event logged [IOTLB_INV_TIMEOUT 
device=%04x:%02x:%02x.%x address=0x%llx]\n",
+                       iommu->pci_seg->id, PCI_BUS_NUM(devid), 
PCI_SLOT(devid), PCI_FUNC(devid),
                        address);
                break;
        case EVENT_TYPE_INV_DEV_REQ:
-               dev_err(dev, "Event logged [INVALID_DEVICE_REQUEST 
device=%02x:%02x.%x pasid=0x%05x address=0x%llx flags=0x%04x]\n",
-                       PCI_BUS_NUM(devid), PCI_SLOT(devid), PCI_FUNC(devid),
+               dev_err(dev, "Event logged [INVALID_DEVICE_REQUEST 
device=%04x:%02x:%02x.%x pasid=0x%05x address=0x%llx flags=0x%04x]\n",
+                       iommu->pci_seg->id, PCI_BUS_NUM(devid), 
PCI_SLOT(devid), PCI_FUNC(devid),
                        pasid, address, flags);
                break;
        case EVENT_TYPE_RMP_FAULT:
@@ -663,8 +663,8 @@ static void iommu_print_event(struct amd_iommu *iommu, void 
*__evt)
        case EVENT_TYPE_INV_PPR_REQ:
                pasid = PPR_PASID(*((u64 *)__evt));
                tag = event[1] & 0x03FF;
-               dev_err(dev, "Event logged [INVALID_PPR_REQUEST 
device=%02x:%02x.%x pasid=0x%05x address=0x%llx flags=0x%04x tag=0x%03x]\n",
-                       PCI_BUS_NUM(devid), PCI_SLOT(devid), PCI_FUNC(devid),
+               dev_err(dev, "Event logged [INVALID_PPR_REQUEST 
device=%04x:%02x:%02x.%x pasid=0x%05x address=0x%llx flags=0x%04x 
tag=0x%03x]\n",
+                       iommu->pci_seg->id, PCI_BUS_NUM(devid), 
PCI_SLOT(devid), PCI_FUNC(devid),
                        pasid, address, flags, tag);
                break;
        default:
-- 
2.27.0

_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

Reply via email to