Where is the buffers that FBPRs managing?

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

Where is the buffers that FBPRs managing?

Contributor II

When FMan receives a packet, it first stores it in its internal memory, then FMan will require memory from BMan, and use DMA to move the packet out.

My question is, where is the packet goes to?

From my understanding, FBPRs are used to manage the buffer to store the packet, where is this "buffer" located? and how to config the size and location of it?



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

NXP TechSupport
NXP TechSupport

Hello Michael Chen,

The main Rx flow follows these steps: packets are received from one of the Ethernet MACs, are temporarily stored in the FMan internal memory, then delivered to SoC memory via the FMan DMA. The packet header (max size 256 bytes) is stored and the modules common database structure is allocated. Then the packet is parsed according to PCD policy to a frame queue managed by QMAN.

1. Packets arriving in FMAN internal memory.

2. Buffer Acquisition Request

3. Get Buffer Reference from BMAN

4. Packet Data written to main memory subsystem(DDR SDRAM) managed by BMAN.

5. Parse, classify/hash, select queue

Please refer to the following dts file definition.

bman: bman@31a000 {
compatible = "fsl,bman";
reg = <0x31a000 0x1000>;
interrupts = <16 2 1 3>;
fsl,bman-fbpr = <0x0 0x22000000 0x0 0x01000000>; */

The fsl,bman-fbpr properties can be used to specify which contiguous sub-regions of memory should be used for the various memory requirements of BMan. The properties use 64-bit values, so 4 cells
express the address/size 2-tuple to use. In the above example BMan resources would be
allocated in the range 0x2200000-0x221fffff, with 16MB each for BMan FBPR memory.
If these properties are not specified in the device tree, then default values hard-coded within BMan drivers are used instead. The linux kernel will reserve these memory ranges early on boot-up.

Have a great day,

Note: If this post answers your question, please click the Correct Answer button. Thank you!

0 Kudos