On Fri, Feb 02, 2024 at 11:00:58AM +0800, Choong Yong Liang wrote: > > > On 1/2/2024 4:38 pm, Russell King (Oracle) wrote: > > Note the "This must not modify any state." statement. By reinitialising > > the PCS in this method, you are violating that statement. > > > > This requirement is because this method will be called by > > phylink_validate_mac_and_pcs() at various times, potentially for each > > and every interface that stmmac supports, which will lead to you > > reinitialising the PCS, killing the link, each time we ask the MAC for > > a PCS, whether we are going to make use of it in that mode or not. > > > > You can not do this. Sorry. Hard NAK for this approach. > > > Thank you for taking the time to review, got your concerns, and I'll address > the following concerns before submitting a new patch series: > > 1. Remove allow_switch_interface and have the PHY driver fill in > phydev->possible_interfaces. Yes please. > 2. Rework on the PCS to have similar implementation with the following patch > "net: macb: use .mac_select_pcs() interface" > (https://lore.kernel.org/netdev/E1n568J-002SZX-Gr@xxxxxxxxxxxxxxxxxxxxxx/T/). mac_select_pcs() is about returning to phylink the PCS that the MAC needs to use for the specified interface mode, or NULL if no PCS is required, nothing more, nothing less. Plase do not copy that mac_select_pcs() implementation - changing the "ops" underneath phylink is no longer permitted. -- RMK's Patch system: https://www.armlinux.org.uk/developer/patches/ FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!