linux/drivers/pci/endpoint
Jerome Brunet 0a3e2ec508 PCI: endpoint: Retain fixed-size BAR size as well as aligned size
[ Upstream commit 793908d60b ]

When allocating space for an endpoint function on a BAR with a fixed size,
the size saved in 'struct pci_epf_bar.size' should be the fixed size as
expected by pci_epc_set_bar().

However, if pci_epf_alloc_space() increased the allocation size to
accommodate iATU alignment requirements, it previously saved the larger
aligned size in .size, which broke pci_epc_set_bar().

To solve this, keep the fixed BAR size in .size and save the aligned size
in a new .aligned_size for use when deallocating it.

Fixes: 2a9a801620 ("PCI: endpoint: Add support to specify alignment for buffers allocated to BARs")
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
[mani: commit message fixup]
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
[bhelgaas: more specific subject, commit log, wrap comment to match file]
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Niklas Cassel <cassel@kernel.org>
Link: https://patch.msgid.link/20250424-pci-ep-size-alignment-v5-1-2d4ec2af23f5@baylibre.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2025-06-19 15:32:11 +02:00
..
functions PCI: epf-mhi: Update device ID for SA8775P 2025-05-29 11:02:41 +02:00
Kconfig PCI: consolidate PCI config entry in drivers/pci 2018-11-23 11:45:34 +09:00
Makefile PCI: Add SPDX GPL-2.0 when no license was specified 2018-01-26 11:45:16 -06:00
pci-ep-cfs.c PCI: endpoint: Remove unused field in struct pci_epf_group 2024-05-28 11:13:48 -05:00
pci-epc-core.c PCI: endpoint: Destroy the EPC device in devm_pci_epc_destroy() 2025-02-08 09:57:52 +01:00
pci-epc-mem.c PCI: endpoint: Add kernel-doc for pci_epc_mem_init() API 2023-08-26 16:54:46 +00:00
pci-epf-core.c PCI: endpoint: Retain fixed-size BAR size as well as aligned size 2025-06-19 15:32:11 +02:00