linux/drivers/pci/host
Duc Dang f09f8735fb PCI: xgene: Disable Configuration Request Retry Status for v1 silicon
When a CPU reads the Vendor and Device ID of a non-existent device, the
controller should fabricate return data of 0xFFFFFFFF.  Configuration
Request Retry Status (CRS) is not applicable in this case because the
device doesn't exist at all.

The X-Gene v1 PCIe controller has a bug in the CRS logic such that when CRS
is enabled, it fabricates return data of 0xFFFF0001 for this case, which
means "the device exists but is not ready."  That causes the PCI core to
retry the read until it times out after 60 seconds.

Disable CRS capability advertisement by clearing the CRS Software
Visibility bit in the Root Capabilities Register.

[bhelgaas: changelog and comment]
Tested-by: Ian Campbell <ian.campbell@citrix.com>
Tested-by: Marcin Juszkiewicz <mjuszkiewicz@redhat.com>
Signed-off-by: Duc Dang <dhdang@apm.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Tanmay Inamdar <tinamdar@apm.com>
2015-06-18 12:09:03 -05:00
..
Kconfig PCI: xgene: Add APM X-Gene v1 PCIe MSI/MSIX termination driver 2015-06-05 15:56:34 -05:00
Makefile PCI: xgene: Add APM X-Gene v1 PCIe MSI/MSIX termination driver 2015-06-05 15:56:34 -05:00
pci-dra7xx.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
pci-exynos.c PCI: exynos: Fix INTx enablement statement termination error 2015-04-08 14:26:54 -05:00
pci-host-generic.c ACPI and power management updates for v3.20-rc1 2015-02-10 15:09:41 -08:00
pci-imx6.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
pci-keystone-dw.c PCI: keystone: Don't dereference possible NULL pointer 2015-04-09 14:34:10 -05:00
pci-keystone.c PCI: keystone: Fix misspelling of current function in debug output 2015-01-09 11:30:32 -07:00
pci-keystone.h PCI/MSI: Rename "struct msi_chip" to "struct msi_controller" 2014-11-12 07:49:38 -07:00
pci-layerscape.c PCI: layerscape: Simplify platform_get_resource_byname() failure checking 2015-04-09 14:36:52 -05:00
pci-mvebu.c PCI: mvebu: Add suspend/resume support 2015-03-20 18:23:14 -05:00
pci-rcar-gen2.c PCI: rcar: Verify that mem_res is 64K-aligned 2015-02-24 00:24:19 -06:00
pci-tegra.c Merge branch 'pci/config' into next 2015-02-02 14:49:29 -06:00
pci-versatile.c Merge branches 'pci/host-exynos', 'pci/host-iproc', 'pci/host-keystone', 'pci/host-layerscape', 'pci/host-mvebu', 'pci/host-rcar' and 'pci/host-versatile' into next 2015-04-10 08:26:54 -05:00
pci-xgene-msi.c PCI: xgene: Add APM X-Gene v1 PCIe MSI/MSIX termination driver 2015-06-05 15:56:34 -05:00
pci-xgene.c PCI: xgene: Disable Configuration Request Retry Status for v1 silicon 2015-06-18 12:09:03 -05:00
pcie-designware.c PCI: spear: Drop __initdata from spear13xx_pcie_driver 2015-03-06 11:47:28 -06:00
pcie-designware.h PCI/MSI: Rename "struct msi_chip" to "struct msi_controller" 2014-11-12 07:49:38 -07:00
pcie-iproc-platform.c PCI: iproc: Add Broadcom iProc PCIe support 2015-04-08 14:19:36 -05:00
pcie-iproc.c PCI: iproc: Add Broadcom iProc PCIe support 2015-04-08 14:19:36 -05:00
pcie-iproc.h PCI: iproc: Add Broadcom iProc PCIe support 2015-04-08 14:19:36 -05:00
pcie-rcar.c PCI: rcar: Change PCIEPARL and PCIEPARH to PCIEPALR and PCIEPAUR 2015-02-24 00:24:12 -06:00
pcie-spear13xx.c PCI: spear: Drop __initdata from spear13xx_pcie_driver 2015-03-06 11:47:28 -06:00
pcie-xilinx.c ACPI and power management updates for v3.20-rc1 2015-02-10 15:09:41 -08:00