Queue Status Ports - 4.0 English

QDMA Subsystem for PCI Express Product Guide (PG302)

Document ID
PG302
Release Date
2022-05-20
Version
4.0 English
Table 1. Queue Status Ports
Port Name I/O Description
qsts_out_op[7:0] O Opcode This indicates the type of packet being issued. Encoding of this field is as follows.

0x0: CMPT Marker Response

0x1: H2C-ST Marker Response

0x2: C2H-MM Marker Response

0x3: H2C-MM Marker Response

0x4-0xff: reserved

qsts_out_data[63:0] O The data field for the individual opcodes are defined in the tables below.
qsts_out_port_id[2:0] O Port ID
qsts_out_qid[11:0] O Queue ID
qsts_out_vld O Queue status valid
qsts_out_rdy I Queue status ready. Ready must be tied to 1 so status output will not be blocked. Even if this interface is not used, the ready port must be tied to 1.
Table 2. Queue Status Data
qsts_out_data Field Description
[1:0] err Error code reported by the CMPT Engine.

0: No error

1: SW gave bad Completion CIDX update

2: Descriptor error received while processing the C2H packet

3: Completion dropped by the C2H Engine because Completion Ring was full

[2] retry_marker_req An Interrupt could not be generated in spite of being enabled. This happens when an Interrupt is already outstanding on the queue when the marker request was received. The user logic must wait and retry the marker request again if an Interrupt is desired to be sent.
[25:3] marker_cookie When the CMPT Engine sends a marker to the Queues status port interface, it sends the lower 23 bits of the CMPT as part of the marker response on the Queues status port interface. Thus the user logic can place a 23-bit value in the CMPT when making the marker request and it will receive the same 23 bits with the marker response. When the marker is generated as a result of an error that the CMPT Engine encountered (as opposed to a marker request made by the user logic), then this 23-bit field is not valid.
Note: Even if the user has enabled stamping of error and/or color bits in the CMPT writes to the host, the marker_cookie does not contain them. It is exactly the lower 23 bits of the CMPT that the user logic provided to the QDMA when making the marker request.
[26] is_mrkr_rsp This bit will be set to 1 if the marker response is based on marker request. If this bit is set to '0' marker response is based on errors.
[63:27] rsv Reserved