Hi Marek, On Mon, Mar 19, 2018 at 10:53 AM, Marek Vasut <marek.va...@gmail.com> wrote: > On 03/19/2018 09:38 AM, Simon Horman wrote: >> On Sun, Mar 18, 2018 at 11:52:52AM +0100, Marek Vasut wrote: >>> The data link active signal usually takes ~20 uSec to be asserted, >>> poll the bit more often to avoid useless delays in this function. >>> >>> Signed-off-by: Marek Vasut <marek.vasut+rene...@gmail.com> >>> Cc: Geert Uytterhoeven <geert+rene...@glider.be> >>> Cc: Phil Edworthy <phil.edwor...@renesas.com> >>> Cc: Simon Horman <horms+rene...@verge.net.au> >>> Cc: Wolfram Sang <w...@the-dreams.de> >>> Cc: linux-renesas-soc@vger.kernel.org >> >> Unless my eyes deceive me this seems to be quite a lot (100x) more often, >> but so be it. > > It's just a higher frequency to avoid slowdown when bringing the link up.
No it isn't: you replaced a sleep by a delay, thus making it blocking. So this can spin for up to 50 ms (+ overhead)? >>> --- a/drivers/pci/host/pcie-rcar.c >>> +++ b/drivers/pci/host/pcie-rcar.c >>> @@ -528,13 +528,13 @@ static void phy_write_reg(struct rcar_pcie *pcie, >>> >>> static int rcar_pcie_wait_for_dl(struct rcar_pcie *pcie) >>> { >>> - unsigned int timeout = 10; >>> + unsigned int timeout = 10000; >>> >>> while (timeout--) { >>> if ((rcar_pci_read_reg(pcie, PCIETSTR) & DATA_LINK_ACTIVE)) >>> return 0; >>> >>> - msleep(5); >>> + udelay(5); >>> } >>> >>> return -ETIMEDOUT; Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds