svn commit: r283692 - head/sys/x86/iommu
Konstantin Belousov
kib at FreeBSD.org
Fri May 29 09:18:00 UTC 2015
Author: kib
Date: Fri May 29 09:17:59 2015
New Revision: 283692
URL: https://svnweb.freebsd.org/changeset/base/283692
Log:
Explicitely enable queued invalidation completion interrupt when the
queue is started, not relying on the interrupt remaping method to
happen. Also disable interrupts when shooting down the queue.
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Modified:
head/sys/x86/iommu/intel_qi.c
Modified: head/sys/x86/iommu/intel_qi.c
==============================================================================
--- head/sys/x86/iommu/intel_qi.c Fri May 29 08:31:15 2015 (r283691)
+++ head/sys/x86/iommu/intel_qi.c Fri May 29 09:17:59 2015 (r283692)
@@ -411,6 +411,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);
@@ -434,6 +435,7 @@ dmar_fini_qi(struct dmar_unit *unit)
dmar_qi_advance_tail(unit);
dmar_qi_wait_for_seq(unit, &gseq, false);
/* 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));
More information about the svn-src-all
mailing list