On 04/09/2018 01:54 PM, Simon Horman wrote: >> 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). > > Is the R-Car H1 specific code still needed with this patch in place? No, it's removed in the next patch. [...] >> Add the PHYRDY polling to rcar_pcie_hw_init(). Note that without the >> special PHY driver on the R-Car V3H 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). > > How widely has this been exercised? I assume it affects Rcar Gen 1, 2 and 3. Tested on R8A7791/Porter (unfortunately, I have no spare PCIe card) and R8A77980/Condor (tried couple PCIe cards). >> >> Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> >> >> --- >> drivers/pci/host/pcie-rcar.c | 20 ++++++++++++++++++++ >> 1 file changed, 20 insertions(+) >> >> Index: pci/drivers/pci/host/pcie-rcar.c >> =================================================================== >> --- pci.orig/drivers/pci/host/pcie-rcar.c >> +++ pci/drivers/pci/host/pcie-rcar.c >> @@ -36,6 +36,8 @@ >> #define PCIECDR 0x000020 >> #define PCIEMSR 0x000028 >> #define PCIEINTXR 0x000400 >> +#define PCIEPHYSR 0x0007f0 >> +#define PHYRDY 1 > > Can we start using the BIT() macro in this driver? Done by Marek for the other regs... not sure whose patch would hit the kernel first tho... [...] MBR, Sergei