|
@@ -472,6 +472,8 @@ static u8 * __init alloc_event_buffer(struct amd_iommu *iommu)
|
|
|
if (iommu->evt_buf == NULL)
|
|
|
return NULL;
|
|
|
|
|
|
+ iommu->evt_buf_size = EVT_BUFFER_SIZE;
|
|
|
+
|
|
|
return iommu->evt_buf;
|
|
|
}
|
|
|
|
|
@@ -691,6 +693,7 @@ static void __init init_iommu_from_acpi(struct amd_iommu *iommu,
|
|
|
|
|
|
devid = e->devid;
|
|
|
devid_to = e->ext >> 8;
|
|
|
+ set_dev_entry_from_acpi(iommu, devid , e->flags, 0);
|
|
|
set_dev_entry_from_acpi(iommu, devid_to, e->flags, 0);
|
|
|
amd_iommu_alias_table[devid] = devid_to;
|
|
|
break;
|
|
@@ -749,11 +752,13 @@ static void __init init_iommu_from_acpi(struct amd_iommu *iommu,
|
|
|
|
|
|
devid = e->devid;
|
|
|
for (dev_i = devid_start; dev_i <= devid; ++dev_i) {
|
|
|
- if (alias)
|
|
|
+ if (alias) {
|
|
|
amd_iommu_alias_table[dev_i] = devid_to;
|
|
|
- set_dev_entry_from_acpi(iommu,
|
|
|
- amd_iommu_alias_table[dev_i],
|
|
|
- flags, ext_flags);
|
|
|
+ set_dev_entry_from_acpi(iommu,
|
|
|
+ devid_to, flags, ext_flags);
|
|
|
+ }
|
|
|
+ set_dev_entry_from_acpi(iommu, dev_i,
|
|
|
+ flags, ext_flags);
|
|
|
}
|
|
|
break;
|
|
|
default:
|