Common use of Condition Code Description Clause in Contracts

Condition Code Description. For General TDs, the condition codes in ConditionCode have meaning to software only if the General TD is on the Done Queue. For CRC, BITSTUFFING, and DEVICENOTRESPONDING errors, the General TD is not moved to the Done Queue unless errors are encountered in three successive accesses of the device (error does not have to be the same in all three attempts.) For STALL, DATAOVERRUN, or DATAUNDERRUN, the General TD is moved to the done queue on the first occurrence of the error. BUFFEROVERRUN or BUFFERUNDERRUN are not used for General TDs. When a General TD is moved to the done queue with the ConditionCode set to other than NOERROR, the Halted bit in the ED for the endpoint is set to halt processing of General TDs for the endpoint until software clears the error condition. For an Isochronous TD, condition codes appear in two places: in ConditionCode of Dword0 and in each of the Offset/PacketStatusWords. For each data packet processed, the Host Controller converts OffsetR into PSWR by setting the ConditionCode field. All condition codes are valid for a PacketStatusWord. The ConditionCode in Dword0 of the Isochronous TD is set when the TD is moved to the done queue. The Isochronous TD can be moved to the done queue when the last data packet is transferred (in which case the ConditionCode will be NOERROR) or due to the frame for the last data packet having passed (in which case the ConditionCode will be DATAOVERRUN.) In no case does the Host Controller set the Halted bit in the ED for an Isochronous TD. An Isochronous TD with a NOERROR ConditionCode may contain PacketStatusWords with ConditionCodes other than NOERROR.

Appears in 1 contract

Sources: Adopter’s Agreement for Open Host Controller Interface Reciprocal Covenant

Condition Code Description. For General TDs, the condition codes in ConditionCode have meaning to software only if the General TD is on the Done Queue. For CRC, BITSTUFFING, and DEVICENOTRESPONDING errors, the General TD is not moved to the Done Queue unless errors are encountered in three successive accesses of the device (error does not have to be the same in all three attempts.) For STALL, DATAOVERRUN, or DATAUNDERRUN, the General TD is moved to the done queue on the first occurrence of the error. BUFFEROVERRUN or BUFFERUNDERRUN are not used for General TDs. When a General TD is moved to the done queue with the ConditionCode set to other than NOERROR, the Halted bit in the ED for the endpoint is set to halt processing of General TDs for the endpoint until software clears the error condition. For an Isochronous TD, condition codes appear in two places: in ConditionCode of Dword0 and in each of the Offset/PacketStatusWordsPacketStatusWords . For each data packet processed, the Host Controller converts OffsetR into PSWR by setting the ConditionCode field. All condition codes are valid for a PacketStatusWord. The ConditionCode in Dword0 of the Isochronous TD is set when the TD is moved to the done queue. The Isochronous TD can be moved to the done queue when the last data packet is transferred (in which case the ConditionCode will be NOERROR) or due to the frame for the last data packet having passed (in which case the ConditionCode will be DATAOVERRUN.) In no case does the Host Controller set the Halted bit in the ED for an Isochronous TD. An Isochronous TD with a NOERROR ConditionCode may contain PacketStatusWords with ConditionCodes other than NOERROR.

Appears in 1 contract

Sources: Adopter’s Agreement for Open Host Controller Interface Reciprocal Covenant