描述符上下文供描述符引擎适用。
位 | 位宽 | 字段名称 | 描述 |
---|---|---|---|
[255:140] | 116 | reserved | 保留。设为 0。 |
[139] | 1 | int_aggr | 如果该位完成置位,则将在中断环中聚合中断。 |
[138:128] | [10:0] | vec | 此 MSI-X 矢量用于对应直接中断的中断或者对应聚合中断的中断聚合条目。 |
[127:64] | 64 | dsc_base | 描述符环的 4K 对齐基址。 |
[63] | 1 | is_mm |
该字段可判定队列是否是存储器映射队列。如果该字段置位,描述符将交付至关联的 H2C 或 C2H MM 引擎。 1:存储器映射 0:串流 |
[62] | 1 | mrkr_dis |
如果该字段置位,则在内部模式中禁用标记响应。 不适用于 C2H ST。 |
[61] | 1 | irq_req |
由于等待发送时出错(等待 irq_arm)而中断。初始化队列上下文时,该位应清零。 不适用于 C2H ST。 |
[60] | 1 | err_wb_sent |
针对错误已发送写回/中断。该位完成置位后,则针对此队列将不再发送写回或中断。初始化队列上下文时,该位应清零。 不适用于 C2H ST。 |
[59:58] | 2 | err |
错误状态。 Bit[1] dma – DMA 操作期间发生错误。检查引擎状态寄存器。 Bit[0] dsc – 描述符提取或更新期间发生错误。检查描述符引擎状态寄存器。初始化队列上下文时,该字段应设为 0。 |
[57] | 1 | irq_no_last |
未发送中断,并且在内部模式下,生产者索引 (PIDX) 或使用者索引 (CIDX) 已处于空闲状态。当 irq_arm 位进行置位时,将发送中断。发送中断时或者队列的 PIDX 更新后,该位应自动清零。 初始化队列上下文时,该位应初始化为 0。 不适用于 C2H ST。 |
[56:54] | 3 | port_id |
Port_id 在用户接口上将针对与此队列关联的事件发送此端口 ID。 |
[53] | 1 | irq_en |
中断使能。 在主机状态更新时,将向主机发送中断。 针对 C2H ST 设为 0。 |
[52] | 1 | wbk_en |
写回使能。 在主机状态更新时,将发送针对状态描述符的存储器写入。 |
[51] | 1 | mm_chn | 设为 0 且不可修改。 |
[50] | 1 | bypass |
如果该位完成置位,则队列将在旁路模式下运行,否则将在内部模式下运行。 |
[49:48] | 2 | dsc_sz |
描述符提取大小。0:8B,1:16B;2:32B;3:64B。 如果不启用旁路模式,则存储器映射 DMA 需 32B,H2C 串流 DMA 需 16B,C2H 串流 DMA 需 8B。 如果针对旁路模式配置队列,则可选择任意描述符大小。描述符将在旁路输出接口上交付。由用户逻辑负责处理描述符,然后将其回馈给描述符旁路输入。 |
[47:44] | 4 | rng_sz | 描述符环大小索引。该索引会从 16 个寄存器(偏移 0x204:0x240)中选出大小与其他环不同的那一个环。 |
[43:41] | 3 | reserved | 保留 |
[40:37] | 4 | fetch_max | 针对此队列未完成的描述符提取的最大数量。最大未完成为 fetch_max + 1。更高的值可提升单一队列性能。 |
[36] | 1 | at | 基址的地址类型。 0:未转换 1:已转换 此类型将作为地址类型 (AT) 在 PCIe 上用于描述符提取和状态描述符写回。 |
[35] | 1 | wbi_intvl_en |
写回/中断时间间隔。 基于处理的描述符数量启用定期状态更新。 适用于内部模式。 不适用于 C2H ST。写回时间间隔由寄存器 QDMA_GLBL_DSC_CFG (0x250) bits[2:0] 来判定。 |
[34] | 1 | wbi_chk |
暂挂检查后的写回/中断。 当队列已完成所有可用描述符时启用状态更新。 适用于内部模式。 |
[33] | 1 | fcrd_en |
启用提取信用值。 提供给该队列的信用值数量将用于限定提取的描述符数量。 针对 C2H ST 设为 1。 |
[32] | 1 | qen |
表示队列已启用。 |
[31:25] | 7 | reserved | 保留 |
[24:17] | 8 | fnc_id | 功能 ID |
[16] | 1 | irq_arm | 中断装备。当该位进行置位时,允许队列生成中断。 |
[15:0] | 16 | pidx | 生产者索引。 |