From: Bartosz Golaszewski <brgl@xxxxxxxx> Date: Mon, Jun 12, 2023 at 10:23:47 > From: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx> > > On some platforms, the PCS can be integrated in the MAC so the driver > will not see any PCS link activity. Add a switch that allows the platform > drivers to let the core code know. > > Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx> > --- > drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 2 +- > include/linux/stmmac.h | 1 + > 2 files changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c > index fa07b0d50b46..fdcf1684487c 100644 > --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c > +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c > @@ -5793,7 +5793,7 @@ static void stmmac_common_interrupt(struct stmmac_priv *priv) > } > > /* PCS link status */ > - if (priv->hw->pcs) { > + if (priv->hw->pcs && !priv->plat->has_integrated_pcs) { > if (priv->xstats.pcs_link) > netif_carrier_on(priv->dev); > else > diff --git a/include/linux/stmmac.h b/include/linux/stmmac.h > index 225751a8fd8e..06090538fe2d 100644 > --- a/include/linux/stmmac.h > +++ b/include/linux/stmmac.h > @@ -293,5 +293,6 @@ struct plat_stmmacenet_data { > bool sph_disable; > bool serdes_up_after_phy_linkup; > const struct dwmac4_addrs *dwmac4_addrs; > + bool has_integrated_pcs; > }; > #endif > -- > 2.39.2 We should eventually consider changing some elements of this struct to a bit-field. Reviewed-by: Jose Abreu <Jose.Abreu@xxxxxxxxxxxx> Thanks, Jose