diff options
author | kib <kib@FreeBSD.org> | 2015-06-05 08:23:33 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2015-06-05 08:23:33 +0000 |
commit | c5849be284e9318aa6ee606e73c15787f4f39329 (patch) | |
tree | aad053f51058137f9fd02c49027417356a32df58 /sys/x86 | |
parent | c84e575eec81d97264ecd157eaff36672a5b66d3 (diff) | |
download | FreeBSD-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.c | 2 |
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)); |