回覆: [PATCH net v2] net: mdio: aspeed: Add dummy read for fire control
Jacky Chou
jacky_chou at aspeedtech.com
Tue Nov 19 18:34:56 PST 2024
Hi Andrew Lunn,
Thank you for your reply.
> > 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.
>
> Please have another attempt at writing the commit message.
>
> > Fixes: a9770eac511a ("net: mdio: Move MDIO drivers into a new
> > subdirectory")
> > Signed-off-by: Jacky Chou <jacky_chou at aspeedtech.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);
>
> Maybe: /* Dummy read to flush previous write to controller */
Agree. I will change the title in next version.
Thanks,
Jacky
More information about the linux-arm-kernel
mailing list