PCI: rcar: Poll PHYRDY in rcar_pcie_hw_init()
authorSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Thu, 3 May 2018 19:36:37 +0000 (22:36 +0300)
committerLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Fri, 4 May 2018 09:00:07 +0000 (10:00 +0100)
commit3ad1d32744ef4f0eb92b1989ef7b488cb7dc740d
treef50951d4d63a4e4786177d793d0b5426bd89f11d
parent0ee40820989b330e24926d82953ffb9e1c7a8425
PCI: rcar: Poll PHYRDY in rcar_pcie_hw_init()

In all the R-Car gen1/2/3 manuals, we are instructed to poll PCIEPHYSR
for PHYRDY=1 at an early stage of the PCIEC initialization -- while
the driver only does this on R-Car H1 (polling a PHY specific register).
Add the PHYRDY polling to rcar_pcie_hw_init(). Note that without the
special PHY driver on the R-Car V3H (R8A77980) the PCIEC initialization
just freezes the kernel -- adding the PHYRDY polling allows the init code
to exit gracefully on timeout (PHY starts powered down after reset on this
SoC).

Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
drivers/pci/host/pcie-rcar.c