linux-stable/drivers/pci/endpoint/functions
Niklas Cassel e01c9797c0 PCI: endpoint: Clean up hardware description for BARs
The hardware description for BARs is scattered in many different variables
in pci_epc_features. Some of these things are mutually exclusive, so it
can create confusion over which variable that has precedence over another.

Improve the situation by creating a struct pci_epc_bar_desc, and a new
enum pci_epc_bar_type, and convert the endpoint controller drivers to use
this more well defined format.

Additionally, some endpoint controller drivers mark the BAR succeeding a
"64-bit only BAR" as reserved, while some do not. By definition, a 64-bit
BAR uses the succeeding BAR for the upper 32-bits, so an EPF driver cannot
use a BAR succeeding a 64-bit BAR. Ensure that all endpoint controller
drivers are uniform, and actually describe a reserved BAR as reserved.

Signed-off-by: Niklas Cassel <cassel@kernel.org>
Reviewed-by: Kishon Vijay Abraham I <kishon@kernel.org>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Link: https://lore.kernel.org/r/20240216134524.1142149-2-cassel@kernel.org
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
2024-02-16 20:30:46 +05:30
..
Kconfig PCI: endpoint: Add PCI Endpoint function driver for MHI bus 2023-06-23 15:05:49 -05:00
Makefile PCI: endpoint: Add PCI Endpoint function driver for MHI bus 2023-06-23 15:05:49 -05:00
pci-epf-mhi.c PCI: epf-mhi: Add support for SA8775P SoC 2024-02-16 16:19:14 +05:30
pci-epf-ntb.c PCI: endpoint: Clean up hardware description for BARs 2024-02-16 20:30:46 +05:30
pci-epf-test.c PCI: endpoint: Clean up hardware description for BARs 2024-02-16 20:30:46 +05:30
pci-epf-vntb.c PCI: endpoint: Clean up hardware description for BARs 2024-02-16 20:30:46 +05:30