3.1.1.7. PCIe* MSI-X Controller
The MSI-X Controller is responsible to generate MSI-X interrupt to PCIe* host through Memory write TLPs upon the descriptor completion if interrupt is enabled:
- MSI-X message TLP moderation is controlled by a timer value in the WB_INTR_TIMEOUT Register.
- If interrupt is enabled, and the WB_INTR_TIMEOUT time is satisfied, MSI-X is sent.
- If the FIFO in the logic that handles the MSI-X generation begins to fill up, interrupts are processed regardless of the delay value programmed in the WB_INTR_TIMEOUT register.
- 2’b00: H2D/D2H Prefetcher Engine Vector
- 2’b01: H2D/D2H Agent Vector
- 2’b10: Reserved
- 2’b11: Video Data Flushing Event Interrupt (D2H ST only)
The following example shows MSI-X vector mapping based on the given parameters configured in build time:
MSI-X Vector Mapping
Number of H2D MM Device Port = 0, Number of H2D ST Device Port = 1, Number of D2H ST Device Port = 2
MSI-X Table Vector Entries | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
H2D ST Port Number | 0 | 0 | 0 | ||||||||
D2H ST Port Number | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
-
Vector Entry 0 - Prefetcher Engine Vector
-
Vector Entry 1 - Agent Vector
-
Vector Entry 2 - Reserved
-
Vector Entry 3 - Prefetcher Engine Vector
-
Vector Entry 4 - Agent Vector
-
Vector Entry 5 - Reserved
-
Vector Entry 6 - Video Data Flushing Event Interrupt
-
Vector Entry 7 - Prefetcher Engine Vector
-
Vector Entry 8 - Agent Vector
-
Vector Entry 9 - Reserved
-
Vector Entry 10 - Video Data Flushing Event Interrupt