Queue Status Data (qsts_out_data) - 2.0 English

Versal Adaptive SoC DMA and Bridge Subsystem for PCI Express Product Guide (PG344)

Document ID
PG344
Release Date
2024-06-03
Version
2.0 English
Table 1. Description for CMPT Marker Response
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
Table 2. Description of AXI_ST H2C, AXI-MM H2C and C2H Marker Response
qsts_out_data Field Description
[15:0] cidx

For a queue in the bypass mode, this is the CIDX of the descriptor that contains the marker request.

For a queue in an internal mode, this is the CIDX of the descriptor that resulted in the marker response issued.

[16] err Indicates that an error has occurred on this queue. This error could be in the queue context or a data error. It is expected that appropriate error registers are read to determine the exact error.
[63:17] rsv Reserved