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