中断上下文结构 - 5.0 简体中文

QDMA Subsystem for PCI Express 产品指南 (PG302)

Document ID
PG302
Release Date
2023-10-18
Version
5.0 简体中文

中断上下文结构 (0x8) 如下所示。

表 1. 中断上下文结构 (0x8)
信号 所有者 描述
rsvd [255:126] 驱动 保留。初始化为 0
func [125:114] 驱动 功能编号
rsvd [113:83] 驱动 保留。初始化为 0
at [82] 驱动 1'b0:未转换的地址

1'b1:已转换的地址

pidx [81:70] DMA 生产者索引,由 DMA IP 更新。
page_size [69:67] 驱动

中断聚合环大小:

0:4 KB

1:8 KB

2:12 KB

3:16 KB

4:20 KB

5:24 KB

6:28 KB

7:32 KB

baddr_4k [66:15] 驱动 中断聚合环的基址 – 位 [63:12]
color [14] DMA 颜色位
int_st [13] DMA 中断状态:

0:WAIT_TRIGGER

1:ISR_RUNNING

Rsvd [12] NA

保留

vec [11:1] 驱动 msix 表中的中断矢量索引
valid [0] 驱动 有效

软件需要对中断聚合环大小进行相应调整。每个源均可向环发送最多 2 条报文。因此,环的大小需满足以下公式。

条目数量 ≥ 队列数的 3 倍

Interrupt Context(中断上下文)由上下文访问进行编程。QDMA_IND_CTXT_CMD.Qid 包含来自中断源的环索引。MDMA_CTXT_CMD_CLR 操作可清除中断上下文中所有位。MDMA_CTXT_CMD_INV 可清除有效位。

  • 通过 QDMA_TRQ_SEL_IND 执行上下文访问:
    • QDMA_IND_CTXT_CMD.Qid = 环索引
    • QDMA_IND_CTXT_CMD.Sel = MDMA_CTXT_SEL_INT_COAL (0x8)
    • QDMA_IND_CTXT_CMD.cmd.Op =
      • MDMA_CTXT_CMD_WR
      • MDMA_CTXT_CMD_RD
      • MDMA_CTXT_CMD_CLR
      • MDMA_CTXT_CMD_INV

中断引擎查找中断上下文后,中断引擎会写入中断聚合环。中断引擎还会以新的 PIDX、颜色和中断状态来更新中断上下文。