u-boot/drivers/pci
Pali Rohár 537b0142b0 pci: pci_mvebu: Fix PCIe MEM and IO resources assignment and mbus mapping
Do not call pci_set_region() for resources which were not properly mapped.
This prevents U-Boot to access unmapped memory space.

Update MBUS_PCI_MEM_SIZE and MBUS_PCI_IO_SIZE macros to cover all PCIe MEM
and IO ranges. Previously these macros covered only address ranges for the
first PCIe port. Between MBUS_PCI_IO_BASE and MBUS_PCI_MEM_BASE there is
space for six 128 MB long address ranges. So set MBUS_PCI_MEM_SIZE to value
of 6*128 MB. Similarly set MBUS_PCI_IO_SIZE to 6*64 KB.

Function resource_size() returns zero when start address is 0 and end
address is -1. So set invalid resources to these values to indicate that
resource has no mapping.

Split global PCIe MEM and IO resources (defined by MBUS_PCI_*_* macros)
into PCIe ports in mvebu_pcie_bind() function which allocates per-port
based struct mvebu_pcie, instead of using global state variables
mvebu_pcie_membase and mvebu_pcie_iobase. This makes pci_mvebu.c driver
independent of global static variables (which store the state of
allocation) and allows to bind and unbind the driver more times.

Signed-off-by: Pali Rohár <pali@kernel.org>
Signed-off-by: Marek Behún <marek.behun@nic.cz>
2022-01-14 07:47:57 +01:00
..
Kconfig Convert CONFIG_SYS_PCI_64BIT to Kconfig 2021-12-27 16:20:17 -05:00
Makefile pci: Remove unused FSL_PCI_INIT code 2021-12-27 08:41:38 -05:00
pci_auto_common.c pci: Fix printf format for regions 2021-10-14 19:45:07 -04:00
pci_auto.c pci: When disabling pref MEM set all base bits 2022-01-12 14:21:24 -05:00
pci_common.c pci: Drop DM_PCI check from pci_common 2021-08-05 16:14:36 -04:00
pci_compat.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
pci_gt64120.c pci: gt64120: Use PCI_CONF1_ADDRESS() macro 2022-01-12 14:21:24 -05:00
pci_internal.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
pci_mpc85xx.c pci: mpc85xx: Use PCI_CONF1_EXT_ADDRESS() macro 2022-01-12 14:21:24 -05:00
pci_msc01.c pci: msc01: Use PCI_CONF1_ADDRESS() macro 2022-01-12 14:21:24 -05:00
pci_mvebu.c pci: pci_mvebu: Fix PCIe MEM and IO resources assignment and mbus mapping 2022-01-14 07:47:57 +01:00
pci_octeontx.c pci: pci_octeontx: Use PCIE_ECAM_OFFSET() macro 2022-01-12 14:21:24 -05:00
pci_rom.c video: Fix video on coreboot with the copy buffer 2021-03-27 15:04:30 +13:00
pci_sandbox.c dm: treewide: Rename ..._platdata variables to just ..._plat 2020-12-13 16:51:09 -07:00
pci_sh4.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
pci_sh7751.c pci: sh7751: Fix access to config space via PCI_CONF1_ADDRESS() macro 2022-01-12 14:21:24 -05:00
pci_sh7780.c pci: sh7780: Use PCI_CONF1_ADDRESS() macro 2022-01-12 14:21:24 -05:00
pci_tegra.c pci: tegra: Use PCI_CONF1_EXT_ADDRESS() macro 2022-01-12 14:21:24 -05:00
pci_x86.c dm: pci: Update the PCI read_config() method to const dev * 2020-02-05 19:33:45 -07:00
pci-aardvark.c Prepare v2022.01-rc4 2021-12-20 17:12:04 -05:00
pci-emul-uclass.c dm: Use access methods for dev/uclass private data 2021-01-05 12:24:40 -07:00
pci-rcar-gen2.c dm: treewide: Rename ofdata_to_platdata() to of_to_plat() 2020-12-13 16:51:09 -07:00
pci-rcar-gen3.c pci: renesas: Fix BAR mapping on Gen3 2021-02-20 22:38:28 +01:00
pci-uclass.c pci: Skip configuring invalid P2P bridge devices 2021-10-14 19:45:07 -04:00
pcie_brcmstb.c pci: pcie-brcmstb: Use PCIE_ECAM_OFFSET() macro 2022-01-12 14:21:24 -05:00
pcie_dw_common.c drivers: pci: pcie_dw_common: fix Werror compilation error 2021-05-31 16:35:55 +08:00
pcie_dw_common.h pci: add common Designware PCIe functions 2021-04-15 10:43:17 +08:00
pcie_dw_meson.c pci: pcie_dw_meson: fix usb fail when pci link fails to go up 2021-10-07 10:14:50 +02:00
pcie_dw_mvebu.c pcie: designware: mvebu: do not configure ATU for IO when not used 2021-05-16 06:48:45 +02:00
pcie_dw_rockchip.c pci: pcie_dw_rockchip: Replace msleep occurences by udelay 2021-06-18 14:36:54 +08:00
pcie_dw_sifive.c drivers: pci: add pcie support for fu740 2021-05-31 16:35:54 +08:00
pcie_dw_ti.c pci: pcie_dw_ti: migrate to common Designware PCIe functions 2021-04-15 10:43:17 +08:00
pcie_ecam_generic.c RFC: arm: pci: Add PCI cam support to PCI-E ecam driver 2021-11-17 17:09:47 -05:00
pcie_ecam_synquacer.c pci: Add standard PCIe ECAM macros 2021-11-17 17:04:58 -05:00
pcie_fsl_fixup.c treewide: convert bd_t to struct bd_info by coccinelle 2020-07-17 09:30:13 -04:00
pcie_fsl.c pci: fsl: Use PCI_CONF1_EXT_ADDRESS() macro 2022-01-12 14:21:24 -05:00
pcie_fsl.h dm: pci: fsl: Correct the workaround of erratum A-007815 2020-10-23 16:52:09 +05:30
pcie_imx.c pci: imx: Drop use of DM_PCI 2021-08-05 19:46:35 -04:00
pcie_intel_fpga.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
pcie_iproc.c pci: pcie_iproc: Use PCIE_ECAM_OFFSET() macro 2022-01-12 14:21:24 -05:00
pcie_layerscape_ep.c pci: layerscape-ep: Add check of the PCIe controller enablement 2021-06-17 11:46:11 +05:30
pcie_layerscape_fixup_common.c pci: layerscape: Fix the LUT and msi-map mismatch issue 2021-11-09 17:18:23 +05:30
pcie_layerscape_fixup_common.h treewide: convert bd_t to struct bd_info by coccinelle 2020-07-17 09:30:13 -04:00
pcie_layerscape_fixup.c fdt_support: Remove FDT_STATUS_FAIL_ERROR_CODE 2021-12-19 09:50:47 +01:00
pcie_layerscape_gen4_fixup.c fdt_support: Remove FDT_STATUS_FAIL_ERROR_CODE 2021-12-19 09:50:47 +01:00
pcie_layerscape_gen4.c pci: layerscape: Fix the LUT and msi-map mismatch issue 2021-11-09 17:18:23 +05:30
pcie_layerscape_gen4.h pci: Drop dm.h inclusion from header file 2020-08-03 22:19:54 -04:00
pcie_layerscape_rc.c pci: layerscape: Fix the LUT and msi-map mismatch issue 2021-11-09 17:18:23 +05:30
pcie_layerscape.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
pcie_layerscape.h pci: layerscape: Remove the shadow SVR definitions 2021-02-08 14:01:18 +05:30
pcie_mediatek.c pci: mediatek: Use PCI_CONF1_EXT_ADDRESS() macro 2022-01-12 14:21:24 -05:00
pcie_octeon.c mips: octeon: Add Octeon PCIe host controller driver 2021-04-28 10:05:12 +02:00
pcie_phytium.c pci: Add standard PCIe ECAM macros 2021-11-17 17:04:58 -05:00
pcie_rockchip.c pci: Add standard PCIe ECAM macros 2021-11-17 17:04:58 -05:00
pcie_uniphier.c pci: uniphier: Add UniPhier PCIe controller driver 2021-07-14 16:48:08 -04:00
pcie_xilinx.c pci: Add standard PCIe ECAM macros 2021-11-17 17:04:58 -05:00