*
  ****************************************************************************/
 
-static void dump_dte_entry(u16 devid)
+static void dump_dte_entry(struct amd_iommu *iommu, u16 devid)
 {
        int i;
+       struct dev_table_entry *dev_table = get_dev_table(iommu);
 
        for (i = 0; i < 4; ++i)
-               pr_err("DTE[%d]: %016llx\n", i,
-                       amd_iommu_dev_table[devid].data[i]);
+               pr_err("DTE[%d]: %016llx\n", i, dev_table[devid].data[i]);
 }
 
 static void dump_command(unsigned long phys_addr)
                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),
                        pasid, address, flags);
-               dump_dte_entry(devid);
+               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 "