This patchset fixes problems while trying to allocate space for PCI endpoint function. The problems, and related fixups, have been found while trying to link two renesas rcar-gen4 r8a779f0-spider devices with the vNTB endpoint function. This platform has 2 configurable BAR0 and BAR2, with an alignment of 1MB, and fairly small fixed BAR4 of 256B. This was tested with * BAR0 (1MB): CTRL+SPAD * BAR2 (1MB): MW0 * BAR4 (256B): Doorbell This setup is currently not supported by the vNTB EP driver and requires a small hack. I'm working on that too. Changes in v2: - Allocate space that match the iATU alignment requirement, as previously done. - Chose not to add a new member in struct pci_epf_bar, as initially discussed. After reworking the code, that did not seem necessary. - Make sure SPAD registers are 4 bytes aligned in the vNTB endpoint function - Link to v1: https://lore.kernel.org/r/20250328-pci-ep-size-alignment-v1-0-ee5b78b15a9a@xxxxxxxxxxxx Signed-off-by: Jerome Brunet <jbrunet@xxxxxxxxxxxx> --- Jerome Brunet (3): PCI: endpoint: add epc_feature argument for pci_epf_free_space() PCI: endpoint: improve fixed_size bar handling when allocating space PCI: endpoint: pci-epf-vntb: simplify ctrl/spad space allocation drivers/pci/endpoint/functions/pci-epf-ntb.c | 3 +- drivers/pci/endpoint/functions/pci-epf-test.c | 2 ++ drivers/pci/endpoint/functions/pci-epf-vntb.c | 42 ++++++++++----------------- drivers/pci/endpoint/pci-epf-core.c | 27 ++++++++++++----- include/linux/pci-epf.h | 1 + 5 files changed, 40 insertions(+), 35 deletions(-) --- base-commit: dea140198b846f7432d78566b7b0b83979c72c2b change-id: 20250328-pci-ep-size-alignment-9d85b28b8050 Best regards, -- Jerome