summaryrefslogtreecommitdiffstats
path: root/sys/x86
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2015-06-05 08:23:33 +0000
committerkib <kib@FreeBSD.org>2015-06-05 08:23:33 +0000
commitc5849be284e9318aa6ee606e73c15787f4f39329 (patch)
treeaad053f51058137f9fd02c49027417356a32df58 /sys/x86
parentc84e575eec81d97264ecd157eaff36672a5b66d3 (diff)
downloadFreeBSD-src-c5849be284e9318aa6ee606e73c15787f4f39329.zip
FreeBSD-src-c5849be284e9318aa6ee606e73c15787f4f39329.tar.gz
MFC r283692:
Explicitely enable queued invalidation completion interrupt.
Diffstat (limited to 'sys/x86')
-rw-r--r--sys/x86/iommu/intel_qi.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/x86/iommu/intel_qi.c b/sys/x86/iommu/intel_qi.c
index a682c93..0f00dc9 100644
--- a/sys/x86/iommu/intel_qi.c
+++ b/sys/x86/iommu/intel_qi.c
@@ -356,6 +356,7 @@ dmar_init_qi(struct dmar_unit *unit)
ics = DMAR_ICS_IWC;
dmar_write4(unit, DMAR_ICS_REG, ics);
}
+ dmar_enable_qi_intr(unit);
DMAR_UNLOCK(unit);
return (0);
@@ -379,6 +380,7 @@ dmar_fini_qi(struct dmar_unit *unit)
dmar_qi_advance_tail(unit);
dmar_qi_wait_for_seq(unit, &gseq);
/* only after the quisce, disable queue */
+ dmar_disable_qi_intr(unit);
dmar_disable_qi(unit);
KASSERT(unit->inv_seq_waiters == 0,
("dmar%d: waiters on disabled queue", unit->unit));
OpenPOWER on IntegriCloud