SPRUJ28E November 2021 – September 2024 AM68 , AM68A , TDA4AL-Q1 , TDA4VE-Q1 , TDA4VL-Q1
A Rx channel teardown is intended to be initiated at the data source (the source thread). Initiation is commanded by the host by writing the teardown bit in the PSI-L source thread register 0x408. This will cause the source of the data to gracefully terminate any packet that is in flight and send a PSI-L data phase with the tdown signal asserted. When the UDMA receives a data phase with the tdown attribute asserted it will immediately set the internal RX_TEARDOWN bit in the Rx Channel N Realtime Control Register.
Upon seeing the RX_TEARDOWN bit asserted the port can perform either a graceful (no data loss) or forced teardown of the channel depending on the setting of the RX_FORCED_TEARDOWN bit in the Rx Channel N Realtime Control Register.
If the RX_FORCED_TEARDOWN bit is clear, a normal teardown has been initiated. In this case, the UDMA will do the following:
Bits | Field | Value | Description |
---|---|---|---|
31 | Forced | 0 | Indicates that the teardown was graceful and data was not lost. |
30:14 | - | 0 | RESERVED |
13:4 | Channel ID | channel number | Indicates which channel the teardown completed on |
3:0 | Teardown Indicator | 0x1 | Indicates that a teardown has completed – normal pointers must be 16 byte aligned so this value indicates this is a teardown |
If the RX_FORCED_TEARDOWN bit is set, a destructive teardown has been initiated. In this case, the UDMA will do the following:
Bits | Field | Value | Description |
---|---|---|---|
31 | Forced | 1 | Indicates that the teardown was not graceful. Data was potentially lost. |
30:14 | - | 0 | RESERVED |
13:4 | Channel ID | channel number | Indicates which channel the teardown completed on |
3:0 | Teardown Indicator | 0x1 | Indicates that a teardown has completed – normal pointers must be 16 byte aligned so this value indicates this is a teardown |
The host may issue a teardown on any channel at any time, regardless of whether the channel is actively receiving a packet or not. The normally intended method of issuing a teardown on a packet mode or single ended TR mode channel is to initiate the teardown at the remote PSI-L data source and allow it to flow into the UDMA. If that is not possible, the host may write the RX_TEARDOWN bit directly to a 1.
The Host determines that a teardown is complete by periodically polling the teardown and enable bits for the channel or by waiting to receive the teardown record on the queue specified in the Tx Channel Completion Queue register for the channel.