Re: [PATCH] PCI: endpoint: pci-epf-test: Limit PCIe BAR size for fixed BARs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux