On Wed, Dec 06, 2023 at 01:45:17AM +0000, Daniel Golle wrote: > @@ -516,6 +538,21 @@ static struct phylink_pcs *mtk_mac_select_pcs(struct phylink_config *config, > struct mtk_eth *eth = mac->hw; > unsigned int sid; > > + if (mtk_is_netsys_v3_or_greater(eth)) { > + switch (interface) { > + case PHY_INTERFACE_MODE_1000BASEX: > + case PHY_INTERFACE_MODE_2500BASEX: > + case PHY_INTERFACE_MODE_SGMII: > + return mtk_pcs_lynxi_select_pcs(mac->sgmii_pcs_of_node, interface); > + case PHY_INTERFACE_MODE_5GBASER: > + case PHY_INTERFACE_MODE_10GBASER: > + case PHY_INTERFACE_MODE_USXGMII: > + return mtk_usxgmii_select_pcs(mac->usxgmii_pcs_of_node, interface); >From what I can see, neither of these two "select_pcs" methods that you're calling makes any use of the "interface" you pass to them. I'm not sure what they _could_ do with it either, given that what you're effectively doing here is getting the phylink_pcs structure from the driver, and each one only has a single phylink_pcs. -- RMK's Patch system: https://www.armlinux.org.uk/developer/patches/ FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!