[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230419131938.3k4kuqucvuuhxcrc@skbuf>
Date: Wed, 19 Apr 2023 16:19:38 +0300
From: Vladimir Oltean <olteanv@...il.com>
To: Jiawen Wu <jiawenwu@...stnetic.com>
Cc: netdev@...r.kernel.org, linux@...linux.org.uk,
linux-i2c@...r.kernel.org, linux-gpio@...r.kernel.org,
mengyuanlou@...-swift.com, Jose Abreu <Jose.Abreu@...opsys.com>
Subject: Re: [PATCH net-next v3 6/8] net: pcs: Add 10GBASE-R mode for
Synopsys Designware XPCS
On Wed, Apr 19, 2023 at 04:27:37PM +0800, Jiawen Wu wrote:
> Add basic support for XPCS using 10GBASE-R interface. This mode will
> be extended to use interrupt, so set pcs.poll false. And avoid soft
> reset so that the device using this mode is in the default configuration.
I'm not clear why the xpcs_soft_reset() call is avoided. Isn't the
out-of-reset configuration the "default" one?
> +static int xpcs_get_state_10gbaser(struct dw_xpcs *xpcs,
> + struct phylink_link_state *state)
> +{
> + int ret;
> +
> + state->link = false;
> +
> + ret = xpcs_read(xpcs, MDIO_MMD_PCS, MDIO_STAT1);
> + if (ret < 0)
> + return ret;
> +
> + if (ret & MDIO_STAT1_LSTATUS)
> + state->link = true;
> +
> + if (state->link) {
It seems pointless to open a new "if" statement when this would have
sufficed:
if (ret & MDIO_STAT1_LSTATUS) {
state->link = true;
state->pause = MLO_PAUSE_TX | MLO_PAUSE_RX;
...
}
> + state->pause = MLO_PAUSE_TX | MLO_PAUSE_RX;
> + state->duplex = DUPLEX_FULL;
> + state->speed = SPEED_10000;
> + }
> +
> + return 0;
> +}
Powered by blists - more mailing lists