-
Notifications
You must be signed in to change notification settings - Fork 99
MSIX Interrupts
trentmeester edited this page Apr 25, 2012
·
1 revision
MSI-X Interrupts under this framework follow these rules. The assumption of this page is that only MSI-X IRQs are being utilized.
- dnvme unmasks IRQ's for the CQ being reaped every time a CQ is reaped, if and only if that CQ is using IRQ's.
- The act of reap inquiry does not affect IRQ's what-so-ever. The state of the system remains.
A DUT only performs IRQ related actions when any of the following occur.
* A CQ head doorbell register is written by the host.
* The DUT wrote a CE to any CQ and the CQ is under the control of IRQ's.
The following table details the IRQ related actions a DUT will perform.
Outstanding IRQ
(unreapead) currently
CE's in a CQ? masked DUT action
-----------------------------------------------------------------------------------------------------------
true yes set pending bit in PBA table; no MSI-X msg is sent to host
true no if pending bit in PBA table is set, then send MSI-X msg to host
else no MSI-X msg is sent to host
false yes pending bit in PBA table is reset; no MSI-X msg is sent to host
false no pending bit in PBA table is reset; no MSI-X msg is sent to host