[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YifMSUA/uZoPnpf1@lunn.ch>
Date: Tue, 8 Mar 2022 22:36:09 +0100
From: Andrew Lunn <andrew@...n.ch>
To: Horatiu Vultur <horatiu.vultur@...rochip.com>
Cc: netdev@...r.kernel.org, linux-kernel@...r.kernel.org,
UNGLinuxDriver@...rochip.com, davem@...emloft.net, kuba@...nel.org
Subject: Re: [PATCH net-next] net: lan966x: Improve the CPU TX bitrate.
> static int lan966x_port_inj_ready(struct lan966x *lan966x, u8 grp)
> {
> - u32 val;
> + unsigned long time = jiffies + usecs_to_jiffies(READL_TIMEOUT_US);
> + int ret = 0;
>
> - return readx_poll_timeout_atomic(lan966x_port_inj_status, lan966x, val,
> - QS_INJ_STATUS_FIFO_RDY_GET(val) & BIT(grp),
> - READL_SLEEP_US, READL_TIMEOUT_US);
> + while (!(lan_rd(lan966x, QS_INJ_STATUS) &
> + QS_INJ_STATUS_FIFO_RDY_SET(BIT(grp)))) {
> + if (time_after(jiffies, time)) {
> + ret = -ETIMEDOUT;
> + break;
> + }
Did you try setting READL_SLEEP_US to 0? readx_poll_timeout_atomic()
explicitly supports that.
Andrew
Powered by blists - more mailing lists