Re: [PATCH 4/7] MIPS: Octeon: Add Free Pointer Unit (FPA) support.

From: Florian Fainelli
Date: Thu Nov 02 2017 - 14:04:35 EST


On 11/02/2017 09:27 AM, David Daney wrote:
> On 11/01/2017 08:29 PM, Florian Fainelli wrote:
>> Le 11/01/17 Ã 17:36, David Daney a Ãcrit :
>>> From: Carlos Munoz <cmunoz@xxxxxxxxxx>
>>>
>>> From the hardware user manual: "The FPA is a unit that maintains
>>> pools of pointers to free L2/DRAM memory. To provide QoS, the pools
>>> are referenced indirectly through 1024 auras. Both core software
>>> and hardware units allocate and free pointers."
>>
>> This looks like a possibly similar implement to what
>> drivers/net/ethernet/marvell/mvneta_bm.c, can you see if you can make
>> any use of genpool_* and include/net/hwbm.h here as well?
>
> Yikes! Is it permitted to put function definitions that are not "static
> inline" in header files?

Meh well, this is not even ressembling what we initially discussed, so I
was hoping we could build more interesting features on top of this.

>
> The driver currently doesn't use page fragments, so I don't think that
> the hwbm thing can be used.
>
> Also the FPA unit is used to control RED and back pressure in the PKI
> (packet input processor), which are features that are features not
> considered in hwbm.
>
> The OCTEON-III hardware also uses the FPA for non-packet-buffer memory
> allocations. So for those, it seems that hwbm is also not a good fit.

OK, let me see if I understand how FPA works, can we say that this is
more or less a buffer tokenizer in that, you give it a buffer physical
address and it returns an unique identifier that the FPA uses for actual
packet passing, transmission and other manipulations?

There were a few funky things in the network driver, I will comment there.
--
Florian