[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Zz2vHWLYTRKIG7GK@shell.armlinux.org.uk>
Date: Wed, 20 Nov 2024 09:42:53 +0000
From: "Russell King (Oracle)" <linux@...linux.org.uk>
To: Jacky Chou <jacky_chou@...eedtech.com>
Cc: andrew@...n.ch, hkallweit1@...il.com, davem@...emloft.net,
edumazet@...gle.com, kuba@...nel.org, pabeni@...hat.com,
joel@....id.au, andrew@...econstruct.com.au, f.fainelli@...il.com,
netdev@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-aspeed@...ts.ozlabs.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH net v2] net: mdio: aspeed: Add dummy read for fire control
On Tue, Nov 19, 2024 at 05:51:41PM +0800, Jacky Chou wrote:
> When the command bus is sometimes busy, it may cause the command is not
> arrived to MDIO controller immediately. On software, the driver issues a
> write command to the command bus does not wait for command complete and
> it returned back to code immediately. But a read command will wait for
> the data back, once a read command was back indicates the previous write
> command had arrived to controller.
> Add a dummy read to ensure triggering mdio controller before starting
> polling the status of mdio controller to avoid polling unexpected timeout.
>
> Fixes: a9770eac511a ("net: mdio: Move MDIO drivers into a new subdirectory")
> Signed-off-by: Jacky Chou <jacky_chou@...eedtech.com>
> ---
> drivers/net/mdio/mdio-aspeed.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/net/mdio/mdio-aspeed.c b/drivers/net/mdio/mdio-aspeed.c
> index c2170650415c..373902d33b96 100644
> --- a/drivers/net/mdio/mdio-aspeed.c
> +++ b/drivers/net/mdio/mdio-aspeed.c
> @@ -62,6 +62,8 @@ static int aspeed_mdio_op(struct mii_bus *bus, u8 st, u8 op, u8 phyad, u8 regad,
> | FIELD_PREP(ASPEED_MDIO_DATA_MIIRDATA, data);
>
> iowrite32(ctrl, ctx->base + ASPEED_MDIO_CTRL);
> + /* Add dummy read to ensure triggering mdio controller */
> + (void)ioread32(ctx->base + ASPEED_MDIO_CTRL);
I'd change that comment to:
/* The above write could be posted, causing the timeout below to
* be inaccurate. Ensure the controller starts before we start the
* timeout.
*/
--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!
Powered by blists - more mailing lists