iommu/vt-d: Init QI before root entry is allocated
QI needs to be available when we write the root entry into hardware because flushes might be necessary after this. Tested-by: ZhenHua Li <zhen-hual@hp.com> Tested-by: Baoquan He <bhe@redhat.com> Signed-off-by: Joerg Roedel <jroedel@suse.de>
This commit is contained in:
parent
9f10e5bf62
commit
b63d80d1e0
|
@ -2803,6 +2803,8 @@ static int __init init_dmars(void)
|
||||||
for_each_active_iommu(iommu, drhd) {
|
for_each_active_iommu(iommu, drhd) {
|
||||||
g_iommus[iommu->seq_id] = iommu;
|
g_iommus[iommu->seq_id] = iommu;
|
||||||
|
|
||||||
|
intel_iommu_init_qi(iommu);
|
||||||
|
|
||||||
ret = iommu_init_domains(iommu);
|
ret = iommu_init_domains(iommu);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto free_iommu;
|
goto free_iommu;
|
||||||
|
@ -2819,9 +2821,6 @@ static int __init init_dmars(void)
|
||||||
hw_pass_through = 0;
|
hw_pass_through = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
for_each_active_iommu(iommu, drhd)
|
|
||||||
intel_iommu_init_qi(iommu);
|
|
||||||
|
|
||||||
if (iommu_pass_through)
|
if (iommu_pass_through)
|
||||||
iommu_identity_mapping |= IDENTMAP_ALL;
|
iommu_identity_mapping |= IDENTMAP_ALL;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue