Re: [PATCH net-next v3 6/8] net: pcs: Add 10GBASE-R mode for Synopsys Designware XPCS

Vladimir Oltean
2023-04-19T13:19:45Z

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;
> +}