S32K ENET - TX descriptor ring usage

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

S32K ENET - TX descriptor ring usage

843 Views
jakub_mielczare
Contributor III

Hello,

As the Reference Manual for S32K148 says, there is only one TX descriptor ring.

I am researching the feasibility of splitting ENET TX descriptor ring into 2 pools. Each pool to be reserved for different type of traffic. I did a simple test, in which I am allocating 8 TX descriptors in the ring. The last descriptor wraps to 1st.

When sending packets I am filling only first 4 descriptors. The result is that ENET sends only first 4 frames and stops after this. This would mean that it expects the descriptors to be filled continuously and if it encounters an empty descriptor (with descriptor's "R - ready" field set to 0) it stops.

Is there a way to change this behavior? Like e.g. get notified when empty descriptor is reached and trigger ENET to check next descriptor in the ring?

Thanks,

Jakub

Tags (2)
0 Kudos
1 Reply

720 Views
PetrS
NXP TechSupport
NXP TechSupport

Hi,

the behavior you see is correct. As empty descriptor is found in the ring, the TDAR is cleared and no more frames will be sent until next descriptor in ring will be prepared and TDAR set.

If you want to point to new descriptor ring you need to disable MAC, i.e. clear ETHEREN bit, configure new TX BD start address in TDSR and enable MAC again by setting ETHEREN.

BR, Petr

0 Kudos