linux-stable/drivers/pci/controller
Pali Rohár 771153fc88 PCI: aardvark: Fix support for bus mastering and PCI_COMMAND on emulated bridge
From very vague, ambiguous and incomplete information from Marvell we
deduced that the 32-bit Aardvark register at address 0x4
(PCIE_CORE_CMD_STATUS_REG), which is not documented for Root Complex mode
in the Functional Specification (only for Endpoint mode), controls two
16-bit PCIe registers: Command Register and Status Registers of PCIe Root
Port.

This means that bit 2 controls bus mastering and forwarding of memory and
I/O requests in the upstream direction. According to PCI specifications
bits [0:2] of Command Register, this should be by default disabled on
reset. So explicitly disable these bits at early setup of the Aardvark
driver.

Remove code which unconditionally enables all 3 bits and let kernel code
(via pci_set_master() function) to handle bus mastering of Root PCIe
Bridge via emulated PCI_COMMAND on emulated bridge.

Link: https://lore.kernel.org/r/20211028185659.20329-5-kabel@kernel.org
Fixes: 8a3ebd8de3 ("PCI: aardvark: Implement emulated root PCI bridge config space")
Signed-off-by: Pali Rohár <pali@kernel.org>
Signed-off-by: Marek Behún <kabel@kernel.org>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Cc: stable@vger.kernel.org # b2a56469d5 ("PCI: aardvark: Add FIXME comment for PCIE_CORE_CMD_STATUS_REG access")
2021-10-29 10:25:31 +01:00
..
cadence Merge branch 'remotes/lorenzo/pci/endpoint' 2021-09-02 14:56:51 -05:00
dwc Merge branch 'remotes/lorenzo/pci/endpoint' 2021-09-02 14:56:51 -05:00
mobiveil PCI: Bulk conversion to generic_handle_domain_irq() 2021-08-02 11:53:05 -05:00
Kconfig PCI: controller: PCI_IXP4XX should depend on ARCH_IXP4XX 2021-07-23 16:10:05 +01:00
Makefile
pci-aardvark.c PCI: aardvark: Fix support for bus mastering and PCI_COMMAND on emulated bridge 2021-10-29 10:25:31 +01:00
pci-ftpci100.c PCI: Bulk conversion to generic_handle_domain_irq() 2021-08-02 11:53:05 -05:00
pci-host-common.c
pci-host-generic.c
pci-hyperv-intf.c
pci-hyperv.c Merge branch 'remotes/lorenzo/pci/hyper-v' 2021-09-02 14:56:47 -05:00
pci-ixp4xx.c ARM: ixp4xx: fix building both pci drivers 2021-08-12 23:10:09 +02:00
pci-loongson.c
pci-mvebu.c
pci-rcar-gen2.c
pci-tegra.c Merge branch 'remotes/lorenzo/pci/tegra' 2021-09-02 14:56:50 -05:00
pci-thunder-ecam.c
pci-thunder-pem.c
pci-v3-semi.c
pci-versatile.c
pci-xgene-msi.c Merge branch 'remotes/lorenzo/pci/xgene' 2021-09-02 14:56:51 -05:00
pci-xgene.c
pcie-altera-msi.c PCI: Bulk conversion to generic_handle_domain_irq() 2021-08-02 11:53:05 -05:00
pcie-altera.c PCI: Bulk conversion to generic_handle_domain_irq() 2021-08-02 11:53:05 -05:00
pcie-brcmstb.c PCI: Bulk conversion to generic_handle_domain_irq() 2021-08-02 11:53:05 -05:00
pcie-hisi-error.c
pcie-iproc-bcma.c PCI: iproc: Fix BCMA probe resource handling 2021-08-04 12:20:00 +01:00
pcie-iproc-msi.c PCI: Bulk conversion to generic_handle_domain_irq() 2021-08-02 11:53:05 -05:00
pcie-iproc-platform.c
pcie-iproc.c
pcie-iproc.h
pcie-mediatek-gen3.c PCI: Bulk conversion to generic_handle_domain_irq() 2021-08-02 11:53:05 -05:00
pcie-mediatek.c Merge branch 'remotes/lorenzo/pci/mediatek' 2021-09-02 14:56:49 -05:00
pcie-microchip-host.c PCI: Bulk conversion to generic_handle_domain_irq() 2021-08-02 11:53:05 -05:00
pcie-rcar-ep.c Merge branch 'remotes/lorenzo/pci/endpoint' 2021-09-02 14:56:51 -05:00
pcie-rcar-host.c Merge branch 'remotes/lorenzo/pci/rcar' 2021-09-02 14:56:49 -05:00
pcie-rcar.c
pcie-rcar.h PCI: rcar: Add L1 link state fix into data abort hook 2021-08-16 14:51:30 +01:00
pcie-rockchip-ep.c PCI: endpoint: Add virtual function number in pci_epc ops 2021-08-19 14:13:28 +01:00
pcie-rockchip-host.c PCI: Bulk conversion to generic_handle_domain_irq() 2021-08-02 11:53:05 -05:00
pcie-rockchip.c
pcie-rockchip.h
pcie-xilinx-cpm.c PCI: Bulk conversion to generic_handle_domain_irq() 2021-08-02 11:53:05 -05:00
pcie-xilinx-nwl.c Merge branch 'remotes/lorenzo/pci/xilinx-nwl' 2021-09-02 14:56:51 -05:00
pcie-xilinx.c PCI: Bulk conversion to generic_handle_domain_irq() 2021-08-02 11:53:05 -05:00
vmd.c PCI: VMD: ACPI: Make ACPI companion lookup work for VMD bus 2021-09-02 17:59:58 +02:00