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.
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/).
Kindly let me know if there are any additional concerns or suggestions.