net: ethernet: mtk_eth_soc: reduce MDIO bus access latency
usleep_range often ends up sleeping much longer than the 10-20us provided as a range here. This causes significant latency in mdio bus acceses, which easily adds multiple seconds to the boot time on MT7621 when polling DSA slave ports. Use cond_resched instead of usleep_range, since the MDIO access does not take much time Signed-off-by: Felix Fietkau <nbd@nbd.name> Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
c30c4a8273
commit
3630d519d7
|
@ -86,7 +86,7 @@ static int mtk_mdio_busy_wait(struct mtk_eth *eth)
|
||||||
return 0;
|
return 0;
|
||||||
if (time_after(jiffies, t_start + PHY_IAC_TIMEOUT))
|
if (time_after(jiffies, t_start + PHY_IAC_TIMEOUT))
|
||||||
break;
|
break;
|
||||||
usleep_range(10, 20);
|
cond_resched();
|
||||||
}
|
}
|
||||||
|
|
||||||
dev_err(eth->dev, "mdio: MDIO timeout\n");
|
dev_err(eth->dev, "mdio: MDIO timeout\n");
|
||||||
|
|
Loading…
Reference in New Issue