T1040 transmission on normal mode

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

T1040 transmission on normal mode

560 Views
kitsunegari
Contributor I

Hi,

I'm tring to transmit a simple UDP packet in normal mode, but i've a strange behaviour when the FD associated with this packet is enqueued to QMAN, instantly snaps the QMAN RX interrupt that dequeue the same packet sent

I've a doubt, maybe a single channel cannot be used for both RX and TX, in my case after FMAN has been initialized the code do channel configuration which in turns release buffers and instantiate two FQ, one for RX and one for TX.


what can cause this behaviour ?

Labels (1)
Tags (3)
0 Kudos
1 Reply

547 Views
yipingwang
NXP TechSupport
NXP TechSupport

The frame queues are allocated by the Private driver with IDs dynamically allocated and provided by the Queue Manager. The frame queues can also be statically defined using two additional device tree properties:

ethernet@0 { compatible = "fsl,b4860-dpa-ethernet", "fsl,dpa-ethernet";

                      fsl,fman-mac = <&fm1mac5>;

                      fsl,qman-frame-queues-rx = <0x100 1 0x101 1 0x180 128>;

                     fsl,qman-frame-queues-tx = <0x200 1 0x201 1 0x300 8>;

};

Within the example above, a value of 0x100 was assigned to the RX error frame queue ID and 0x101 to the RX default frame queue ID. In addition, 128 PCD frame queues raging between 0x180-0x1ff are defined and assigned to the core-affined portals in a round-robin fashion.

There is exactly one RX error and one RX default queue hence a value of "1" for the frame count. Optionally, one can specify a value of "0" for the base to instruct the driver to dynamically allocate the frame queue IDs.

Within the example above, a value of 0x200 was assigned to the TX error queue ID and 0x201 to the TX confirmation queue ID. The third entry specifies the queues used for transmission.

If the qman-frame-queues-rx and qman-frame-queues-tx are not present in the device tree, the number of dynamically allocated TX queues is equal to the number of cores available in the partition

0 Kudos