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 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html