1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/drivers/pci/controller
Pali Rohár 02bcec3ea5 PCI: aardvark: Increase polling delay to 1.5s while waiting for PIO response
Measurements in different conditions showed that aardvark hardware PIO
response can take up to 1.44s. Increase wait timeout from 1ms to 1.5s to
ensure that we do not miss responses from hardware. After 1.44s hardware
returns errors (e.g. Completer abort).

The previous two patches fixed checking for PIO status, so now we can use
it to also catch errors which are reported by hardware after 1.44s.

After applying this patch, kernel can detect and print PIO errors to dmesg:

    [    6.879999] advk-pcie d0070000.pcie: Non-posted PIO Response Status: CA, 0xe00 @ 0x100004
    [    6.896436] advk-pcie d0070000.pcie: Posted PIO Response Status: COMP_ERR, 0x804 @ 0x100004
    [    6.913049] advk-pcie d0070000.pcie: Posted PIO Response Status: COMP_ERR, 0x804 @ 0x100010
    [    6.929663] advk-pcie d0070000.pcie: Non-posted PIO Response Status: CA, 0xe00 @ 0x100010
    [    6.953558] advk-pcie d0070000.pcie: Posted PIO Response Status: COMP_ERR, 0x804 @ 0x100014
    [    6.970170] advk-pcie d0070000.pcie: Non-posted PIO Response Status: CA, 0xe00 @ 0x100014
    [    6.994328] advk-pcie d0070000.pcie: Posted PIO Response Status: COMP_ERR, 0x804 @ 0x100004

Without this patch kernel prints only a generic error to dmesg:

    [    5.246847] advk-pcie d0070000.pcie: config read/write timed out

Link: https://lore.kernel.org/r/20210722144041.12661-3-pali@kernel.org
Signed-off-by: Pali Rohár <pali@kernel.org>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Reviewed-by: Marek Behún <kabel@kernel.org>
Cc: stable@vger.kernel.org # 7fbcb5da81 ("PCI: aardvark: Don't rely on jiffies while holding spinlock")
2021-08-05 10:51:49 +01:00
..
cadence PCI: Fix kernel-doc formatting 2021-07-06 10:37:46 -05:00
dwc pci-v5.14-changes 2021-07-08 12:06:20 -07:00
mobiveil PCI: mobiveil: Remove unused readl and writel functions 2021-06-03 17:13:55 +01:00
Kconfig PCI: ixp4xx: Add a new driver for IXP4xx 2021-06-17 11:42:48 +02:00
Makefile PCI: ixp4xx: Add a new driver for IXP4xx 2021-06-17 11:42:48 +02:00
pci-aardvark.c PCI: aardvark: Increase polling delay to 1.5s while waiting for PIO response 2021-08-05 10:51:49 +01:00
pci-ftpci100.c PCI: ftpci100: Rename macro name collision 2021-06-03 17:27:23 +01:00
pci-host-common.c PCI/MSI: Make pci_host_common_probe() declare its reliance on MSI domains 2021-04-20 14:11:22 +01:00
pci-host-generic.c PCI: Unify ECAM constants in native PCI Express drivers 2020-12-10 14:55:49 -06:00
pci-hyperv-intf.c PCI: hv: Add a Hyper-V PCI interface driver for software backchannel interface 2019-08-22 00:25:12 -07:00
pci-hyperv.c pci-v5.14-changes 2021-07-08 12:06:20 -07:00
pci-ixp4xx.c PCI: ixp4xx: Add a new driver for IXP4xx 2021-06-17 11:42:48 +02:00
pci-loongson.c PCI: loongson: Simplify loongson_pci_probe() return expression 2020-10-02 12:56:31 +01:00
pci-mvebu.c PCI: mvebu: Fix duplicate resource requests 2020-11-04 13:55:30 -06:00
pci-rcar-gen2.c PCI: rcar-gen2: Use fallthrough pseudo-keyword 2020-09-07 15:17:20 +01:00
pci-tegra.c PCI: tegra: Add missing MODULE_DEVICE_TABLE 2021-06-24 17:43:12 -05:00
pci-thunder-ecam.c PCI: thunder: Fix compile testing 2021-03-11 15:07:46 -06:00
pci-thunder-pem.c PCI: thunder: Fix compile testing 2021-03-11 15:07:46 -06:00
pci-v3-semi.c PCI: v3-semi: Remove unneeded break 2020-10-20 10:59:55 -05:00
pci-versatile.c PCI: Set bridge map_irq and swizzle_irq to default functions 2020-08-04 16:36:30 +01:00
pci-xgene-msi.c PCI: xgene-msi: Fix race in installing chained irq handler 2021-01-18 15:48:06 +00:00
pci-xgene.c Merge branch 'pci/kernel-doc' 2021-07-06 10:56:29 -05:00
pcie-altera-msi.c PCI: altera-msi: Remove redundant dev_err call in altera_msi_probe() 2021-04-14 17:45:11 +01:00
pcie-altera.c Merge branch 'pci/irq-error' 2020-08-05 18:24:22 -05:00
pcie-brcmstb.c Merge branch 'pci/brcmstb' 2021-05-04 10:43:31 -05:00
pcie-hisi-error.c PCI: hip: Add handling of HiSilicon HIP PCIe controller errors 2020-09-16 10:30:42 +01:00
pcie-iproc-bcma.c PCI: iproc: Use module_bcma_driver to simplify the code 2020-10-02 12:45:26 +01:00
pcie-iproc-msi.c Merge branch 'remotes/lorenzo/pci/iproc' 2021-07-06 10:56:30 -05:00
pcie-iproc-platform.c PCI: iproc: Fix using plain integer as NULL pointer in iproc_pcie_pltfm_probe 2020-10-09 13:37:57 +01:00
pcie-iproc.c PCI: Fix kernel-doc formatting 2021-07-06 10:37:46 -05:00
pcie-iproc.h PCI: Fix kernel-doc formatting 2021-07-06 10:37:46 -05:00
pcie-mediatek-gen3.c PCI: mediatek-gen3: Add missing MODULE_DEVICE_TABLE 2021-06-22 11:16:53 +01:00
pcie-mediatek.c PCI: mediatek: Remove redundant error printing in mtk_pcie_subsys_powerup() 2021-06-03 17:45:52 +01:00
pcie-microchip-host.c PCI: microchip: Make the struct event_descs static 2021-06-03 17:11:45 +01:00
pcie-rcar-ep.c PCI: rcar: Add endpoint mode support 2020-05-22 12:35:32 +01:00
pcie-rcar-host.c PCI: rcar: Convert to MSI domains 2021-04-20 14:11:21 +01:00
pcie-rcar.c PCI: rcar: Fix calculating mask for PCIEPAMR register 2020-05-11 11:29:48 +01:00
pcie-rcar.h PCI: rcar: Add endpoint mode support 2020-05-22 12:35:32 +01:00
pcie-rockchip-ep.c PCI: Fix kerneldoc warnings 2020-08-05 18:23:14 -05:00
pcie-rockchip-host.c PCI: rockchip: Register IRQ handlers after device and data are ready 2021-07-01 08:46:52 -05:00
pcie-rockchip.c PCI: rockchip: Make 'ep-gpios' DT property optional 2021-02-23 14:23:50 -06:00
pcie-rockchip.h PCI: Unify ECAM constants in native PCI Express drivers 2020-12-10 14:55:49 -06:00
pcie-xilinx-cpm.c PCI: xilinx-cpm: Fix reference count leak on error path 2021-01-25 17:27:41 +00:00
pcie-xilinx-nwl.c PCI: xilinx-nwl: Enable coherent PCIe DMA traffic using CCI 2021-04-07 16:59:23 +01:00
pcie-xilinx.c PCI: xilinx: Convert to MSI domains 2021-04-20 14:11:21 +01:00
vmd.c PCI: vmd: Disable MSI-X remapping when possible 2021-03-22 14:08:20 +00:00