x86, dmar: start with sane state while enabling dma and interrupt-remapping
Impact: cleanup/sanitization Start from a sane state while enabling dma and interrupt-remapping, by clearing the previous recorded faults and disabling previously enabled queued invalidation and interrupt-remapping. Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
This commit is contained in:
committed by
H. Peter Anvin
parent
eba67e5da6
commit
1531a6a6b8
@@ -499,6 +499,23 @@ int __init enable_intr_remapping(int eim)
|
||||
struct dmar_drhd_unit *drhd;
|
||||
int setup = 0;
|
||||
|
||||
for_each_drhd_unit(drhd) {
|
||||
struct intel_iommu *iommu = drhd->iommu;
|
||||
|
||||
/*
|
||||
* Clear previous faults.
|
||||
*/
|
||||
dmar_fault(-1, iommu);
|
||||
|
||||
/*
|
||||
* Disable intr remapping and queued invalidation, if already
|
||||
* enabled prior to OS handover.
|
||||
*/
|
||||
disable_intr_remapping(iommu);
|
||||
|
||||
dmar_disable_qi(iommu);
|
||||
}
|
||||
|
||||
/*
|
||||
* check for the Interrupt-remapping support
|
||||
*/
|
||||
|
Reference in New Issue
Block a user