Message ID | 20230612092355.87937-19-brgl@bgdev.pl (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | arm64: qcom: sa8775p-ride: enable the first ethernet port | expand |
Context | Check | Description |
---|---|---|
netdev/tree_selection | success | Guessing tree name failed - patch did not apply |
From: Bartosz Golaszewski <brgl@bgdev.pl> Date: Mon, Jun 12, 2023 at 10:23:47 > From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> > > 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@linaro.org> > --- > 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@synopsys.com> Thanks, Jose
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