alistair23-linux/drivers/pci/host
Shawn Lin afc9595ea4 PCI: rockchip: Disable RC's ASPM L0s based on DT "aspm-no-l0s"
Rockchip's RC produces a 100MHz reference clock but there are two methods
for the PHY to generate it:

  (1) Use the system PLL to generate a 100MHz clock.  The PHY will relock
      it, filter signal noise, and output the reference clock.  ASPM L0s
      works correctly, but circuit noise issues make it difficult to pass
      the TX compatibility test.

  (2) Share the SoC's 24MHZ crystal oscillator with the PHY and force the
      PHY's PLL to generate 100MHz internally.  In this case, exit from
      ASPM L0s sometimes fails due to a design error in the RC receiver
      circuit.  Even if we use extended-synch, the PHY sometimes fails to
      relock the bits from FTS, which will hang the system.

We want the flexibility to use both clocking methods, so add a DT property,
"aspm-no-l0s".  If that's present, disable L0s to avoid the issues with
case (2).

[bhelgaas: changelog]
Reported-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Brian Norris <briannorris@chromium.org>
Acked-by: Rob Herring <robh@kernel.org>
2017-01-12 15:31:43 -06:00
..
Kconfig Merge branch 'pci/host-vmd' into next 2016-12-12 11:25:13 -06:00
Makefile PCI: Explain ARM64 ACPI/MCFG quirk Kconfig and build strategy 2016-12-07 14:34:58 -06:00
pci-aardvark.c PCI: aardvark: Remove unused platform data 2016-10-11 19:44:04 -05:00
pci-dra7xx.c PCI: dra7xx: Reorder struct dra7xx_pcie 2016-10-12 00:05:54 -05:00
pci-exynos.c PCI: exynos: Reorder struct exynos_pcie 2016-10-11 21:30:52 -05:00
pci-host-common.c Merge branch 'pci/enumeration' into next 2016-10-03 09:43:19 -05:00
pci-host-generic.c
pci-hyperv.c PCI: hv: Allocate physically contiguous hypercall params buffer 2016-11-29 17:22:43 -06:00
pci-imx6.c PCI: imx6: Remove unused return values 2016-10-11 22:26:28 -05:00
pci-keystone-dw.c PCI: keystone: Add app register accessors 2016-10-11 22:58:34 -05:00
pci-keystone.c PCI: keystone: Pass keystone_pcie, not address, to IRQ functions 2016-10-11 22:56:46 -05:00
pci-keystone.h PCI: keystone: Reorder struct keystone_pcie 2016-10-11 22:58:43 -05:00
pci-layerscape.c Merge branch 'pci/host-rockchip' into next 2016-12-12 11:25:11 -06:00
pci-mvebu.c PCI: mvebu: Use existing of_node pointer 2016-10-11 23:19:05 -05:00
pci-rcar-gen2.c PCI: rcar-gen2: Use gen2 fallback compatibility last 2016-12-07 16:56:02 -06:00
pci-tegra.c PCI: tegra: Add Tegra210 support 2016-12-07 12:06:42 -06:00
pci-thunder-ecam.c PCI: Add MCFG quirks for Cavium ThunderX pass1.x host controller 2016-12-06 13:45:50 -06:00
pci-thunder-pem.c PCI: Add MCFG quirks for Cavium ThunderX pass2.x host controller 2016-12-06 13:45:49 -06:00
pci-versatile.c PCI: versatile: Fix pci_remap_iospace() failure path 2016-09-06 12:41:15 -05:00
pci-xgene-msi.c PCI/xgene-msi: Convert to hotplug state machine 2016-11-22 23:34:40 +01:00
pci-xgene.c PCI: Add MCFG quirks for X-Gene host controller 2016-12-06 13:45:50 -06: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: Remove redundant error message in altera_pcie_parse_dt() 2016-11-11 15:20:03 -06:00
pcie-armada8k.c PCI: armada: Reorder struct armada8k_pcie 2016-10-11 20:33:01 -05:00
pcie-artpec6.c PCI: artpec6: Add resource name comments 2016-10-11 20:49:40 -05:00
pcie-designware-plat.c PCI: designware-plat: Update author email 2016-11-16 16:16:40 -06:00
pcie-designware.c PCI: designware: Check for iATU unroll support after initializing host 2016-11-04 15:28:55 -05:00
pcie-designware.h PCI: designware: Export dw_pcie_readl_rc(), dw_pcie_writel_rc() 2016-10-11 08:31:52 -05:00
pcie-hisi.c Merge branch 'pci/host-hisi' into next 2016-12-12 11:25:07 -06:00
pcie-iproc-bcma.c PCI: iproc: Add BCMA type 2016-11-14 15:55:33 -06:00
pcie-iproc-msi.c PCI: iproc: Add BCMA type 2016-11-14 15:55:33 -06:00
pcie-iproc-platform.c PCI: iproc: Skip check for legacy IRQ on PAXC buses 2016-12-08 12:24:20 -06:00
pcie-iproc.c PCI: iproc: Skip check for legacy IRQ on PAXC buses 2016-12-08 12:24:20 -06:00
pcie-iproc.h PCI: iproc: Add support for the next-gen PAXB controller 2016-11-23 16:51:14 -06:00
pcie-qcom.c Merge branch 'pci/host-rockchip' into next 2016-12-12 11:25:11 -06:00
pcie-rcar.c PCI: rcar: Add gen3 fallback compatibility string for pcie-rcar 2016-12-07 16:56:56 -06:00
pcie-rockchip.c PCI: rockchip: Disable RC's ASPM L0s based on DT "aspm-no-l0s" 2017-01-12 15:31:43 -06:00
pcie-spear13xx.c PCI: spear: Use builtin_platform_driver() to simplify the code 2016-12-07 14:32:30 -06:00
pcie-xilinx-nwl.c PCI: xilinx-nwl: Remove unused platform data 2016-10-12 00:00:51 -05:00
pcie-xilinx.c PCI: xilinx: Removed unused xilinx_pcie_assign_msi() argument 2016-10-12 00:00:00 -05:00
vmd.c PCI: vmd: Fix suspend handlers defined-but-not-used warning 2016-12-07 12:17:27 -06:00