linux_dsm_epyc7002/drivers/pci/host
Oza Pawandeep b91c26c6a5 PCI: iproc: Add 500ms delay during device shutdown
During soft reset (e.g., "reboot" from Linux) on some iProc-based SOCs, the
LCPLL clock and PERST both go off simultaneously.  This seems in accordance
with the PCIe Card Electromechanical spec, r2.0, sec 2.2.3, which says the
clock goes inactive after PERST# goes active, but doesn't specify how long
the clock should be valid after PERST#.

However, we have observed that with the iProc Stingray, some Intel NVMe
endpoints, e.g., the P3700 400GB series, are not detected correctly upon
the next boot sequence unless the clock remains valid for some time after
PERST# is asserted.

Delay 500ms after asserting PERST# before performing a reboot.  The 500ms
is experimentally determined.

Signed-off-by: Oza Pawandeep <oza.oza@broadcom.com>
[bhelgaas: changelog, add spec reference, fold in iproc_pcie_shutdown()
export from Arnd Bergmann <arnd@arndb.de>]
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Ray Jui <ray.jui@broadcom.com>
Reviewed-by: Scott Branden <scott.branden@broadcom.com>
2017-09-05 12:27:03 -05:00
..
Kconfig Merge branch 'pci/host-tango' into next 2017-07-07 13:42:25 -05:00
Makefile Merge branch 'pci/host-tango' into next 2017-07-07 13:42:25 -05:00
pci-aardvark.c PCI: aardvark: Convert PCI scan API to pci_scan_root_bus_bridge() 2017-07-02 16:14:23 -05:00
pci-ftpci100.c PCI: faraday: Add clock handling 2017-07-02 18:42:35 -05:00
pci-host-common.c PCI: generic: Drop pci_fixup_irqs() 2017-07-02 16:51:19 -05:00
pci-host-generic.c PCI: Don't allow unbinding host controllers that aren't prepared 2017-04-28 10:38:00 -05:00
pci-hyperv.c PCI: hv: Use vPCI protocol version 1.2 2017-07-02 18:43:09 -05:00
pci-mvebu.c Merge branch 'pci/msi' into next 2017-04-28 10:34:19 -05:00
pci-rcar-gen2.c PCI: rcar-gen2: Make of_device_ids const 2017-07-02 18:45:31 -05:00
pci-tegra.c PCI: tegra: Do not allocate MSI target memory 2017-07-02 18:46:20 -05:00
pci-thunder-ecam.c PCI: Don't allow unbinding host controllers that aren't prepared 2017-04-28 10:38:00 -05:00
pci-thunder-pem.c PCI: Don't allow unbinding host controllers that aren't prepared 2017-04-28 10:38:00 -05:00
pci-versatile.c PCI: versatile: Add local struct device pointers 2017-07-02 18:46:43 -05:00
pci-xgene-msi.c PCI/MSI: pci-xgene-msi: Fix CPU hotplug registration handling 2017-01-17 08:41:51 -06:00
pci-xgene.c PCI: xgene: Move to struct pci_host_bridge IRQ mapping functions 2017-07-02 16:51:19 -05:00
pcie-altera-msi.c Merge branches 'pci/host-aardvark', 'pci/host-altera', 'pci/host-artpec', 'pci/host-designware', 'pci/host-hv', 'pci/host-keystone', 'pci/host-rcar', 'pci/host-rockchip', 'pci/host-tegra' and 'pci/host-xilinx' into next 2016-10-05 13:59:14 -05:00
pcie-altera.c PCI: altera: Drop pci_fixup_irqs() 2017-07-02 16:51:19 -05:00
pcie-iproc-bcma.c PCI: iproc: Convert PCI scan API to pci_scan_root_bus_bridge() 2017-07-02 16:14:24 -05:00
pcie-iproc-msi.c PCI: iproc: Remove unused struct iproc_pcie *pcie 2017-07-31 14:32:47 -05:00
pcie-iproc-platform.c PCI: iproc: Add 500ms delay during device shutdown 2017-09-05 12:27:03 -05:00
pcie-iproc.c PCI: iproc: Add 500ms delay during device shutdown 2017-09-05 12:27:03 -05:00
pcie-iproc.h PCI: iproc: Add 500ms delay during device shutdown 2017-09-05 12:27:03 -05:00
pcie-mediatek.c PCI: mediatek: Add MediaTek PCIe host controller support 2017-07-02 18:44:45 -05:00
pcie-rcar.c PCI: rcar: Drop pci_fixup_irqs() 2017-07-02 16:51:18 -05:00
pcie-rockchip.c PCI: rockchip: Check for pci_scan_root_bus_bridge() failure correctly 2017-07-12 12:50:11 -05:00
pcie-tango.c PCI: tango: Add Sigma Designs Tango SMP8759 PCIe host bridge support 2017-07-07 13:41:28 -05:00
pcie-xilinx-nwl.c PCI: xilinx-nwl: Modify IRQ chip for legacy interrupts 2017-07-02 18:47:39 -05:00
pcie-xilinx.c PCI: xilinx: Make of_device_ids const 2017-07-02 18:47:40 -05:00
vmd.c pci-v4.13-changes 2017-07-08 15:51:57 -07:00