
84
8.7
Receive Data Path(RXDP)
Section:
4.1, 6.8
ceLynx does not correctly deselect the incoming streams that are not configured to be re-
ceived in ceLynx RX data path/buffer 0.There are some automatic packet abort features in
ceLynx HW that flushes thepacket when ceLynx HW detects an error condition. For example,
settingRXDPCTL.ABTDBCERR bit to 1 enables the function that aborts an entire MPEGcell
or DV frame when ceLynx hardware sees the discontinuity in incoming packetswhich causes
the DBC error. However, this function may incorrectly behave in thecondition that there are
multiple ISO streams broadcasted on the bus and ceLynxbuffer 0 is configured to receive.
In this condition, ceLynx hardware aborts all incomingpackets including the ones that are pro-
grammed to receive into buffer 0 andflags RXDPINT.PKTRCVERR = 1.
Example: There are two ISO streams, DVB and DV being broadcasted in separate ISO chan-
nels, and buffer 0 is configured to receive DV streams. In this condition, nothing willbe re-
ceived into buffer 0 and RXDPINT.PKTRCVERR0 keeps being set to 1 un-
tilRXDPCTL.ABTDBCERR is set to 0. As soon as RXDPCTL.ABTDBCERR set to0, DV
stream RX recovers correctly and no RXDPINT.PKTRCVERR0 flagged. Noproblem when
buffers other than buffer 0 is configured to receive DV streams, orthere is another buffer con-
figured to receive the second ISO stream(DVB streamin this example) so that there is no
stream on the bus that ceLynx is not configuredto receive.
Workaround: Use buffers other than buffer 0 for 1394 RX operations. If the application has
to use buffer 0 for 1394 RX operation, disable all automatic abort functions such
asRXDPCTL.ABTDBCERR for correct RX operation. In this case, automatic abort functions
are not supported by ceLynx hardware.
6.8
If the application wants to keep receiving ISO streams while it is forcing to acknowledge the
incoming asynchronous packets with ACK_TARDY or ACK_BUSY_X, do not set
RXDPCTL.ACKTARDYEN or RXDPCTL.BSYALLPKTS bit. Setting any of these bits will
block ISO stream RX.
Workaround: The application can force the node to acknowledge the incoming Asynchro-
nous packets with ACK_BUSY_X by setting RXDP(N)CFG1 = 0x00000000.