]> git.baikalelectronics.ru Git - kernel.git/commitdiff
net: phy: mscc-miim: use more reasonable delays
authorAntoine Tenart <antoine.tenart@bootlin.com>
Tue, 26 May 2020 16:22:53 +0000 (18:22 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 26 May 2020 22:33:56 +0000 (15:33 -0700)
The MSCC MIIM MDIO driver uses delays to read poll a status register. I
made multiple tests on a Ocelot PCS120 platform which led me to reduce
those delays. The delay in between which the polling function is allowed
to sleep is reduced from 100us to 50us which in almost all cases is a
good value to succeed at the first retry. The overall delay is also
lowered as the prior value was really way to high, 10000us is large
enough.

Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com>
Reviewed-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/mdio-mscc-miim.c

index badbc99bedd3f69b35e42d23c17a4fbed2d3afa9..0b7544f593fbf1e5b239a1bbc71a15f48a2be8f1 100644 (file)
@@ -44,7 +44,7 @@ static int mscc_miim_wait_ready(struct mii_bus *bus)
        u32 val;
 
        readl_poll_timeout(miim->regs + MSCC_MIIM_REG_STATUS, val,
-                          !(val & MSCC_MIIM_STATUS_STAT_BUSY), 100, 250000);
+                          !(val & MSCC_MIIM_STATUS_STAT_BUSY), 50, 10000);
        if (val & MSCC_MIIM_STATUS_STAT_BUSY)
                return -ETIMEDOUT;