On Thu 04 Sep 2025 at 23:29, Marek Vasut <marek.vasut@xxxxxxxxxxx> wrote: > On 9/4/25 2:28 PM, Niklas Cassel wrote: > > Hello Niklas, > > [...] > >> pci_epf_alloc_space() works like this: >> If the user requests a BAR size that is smaller than the fixed-size BAR, >> it will allocate space matching the fixed-size. >> As in most cases, having a BAR larger than needed by an EPF driver is >> still acceptable. >> However, if the user requests a size larger than the fixed-size BAR, >> as in your case, we will return an error, as we cannot fulfill the >> user's request. >> I don't see any alternative other than your/Damien's proposal above. >> Unfortunately, all EPF drivers would probably need this same change. > > It seems that pci-epf-ntb and pci-epf-vntb only use BAR0 (BAR_CONFIG) and > BAR0+BAR1 (BAR_CONFIG and BAR_DB) , so those should be OK on this > controller. NVMe EPF also seems to use only BAR0 and it specifically > handles fixed size BAR. It seems everything that is in the tree so far > managed to sidestep hitting fixed-size BAR4 problems on this hardware, > except for the test driver. As it stands, a vNTB device needs 3 BARs minimum (CFG, DB and MW). The NTB one may get away with with 2 BARs, with DB and MW sharing one. If you referring to Renesas about that BAR4, I did use it for vNTB. It is indeed not upstream ... yet [1] I think it is possible to have vNTB on 2 BARs with some tweaks, putting CFG and DB on the same one. [1]: https://lore.kernel.org/r/20250702-ntb-rcar-support-v3-2-4268d9c85eb7@xxxxxxxxxxxx -- Jerome