• Alvin Šipraga's avatar
    net: dsa: realtek: rtl8365mb: fix GMII caps for ports with internal PHY · 487994ff
    Alvin Šipraga authored
    Since commit a18e6521 ("net: phylink: handle NA interface mode in
    phylink_fwnode_phy_connect()"), phylib defaults to GMII when no phy-mode
    or phy-connection-type property is specified in a DSA port node of the
    device tree. The same commit caused a regression in rtl8365mb whereby
    phylink would fail to connect, because the driver did not advertise
    support for GMII for ports with internal PHY.
    
    It should be noted that the aforementioned regression is not because the
    blamed commit was incorrect: on the contrary, the blamed commit is
    correcting the previous behaviour whereby unspecified phy-mode would
    cause the internal interface mode to be PHY_INTERFACE_MODE_NA. The
    rtl8365mb driver only worked by accident before because it _did_
    advertise support for PHY_INTERFACE_MODE_NA, despite NA being reserved
    for internal use by phylink. With one mistake fixed, the other was
    exposed.
    
    Commit a5dba0f2 ("net: dsa: rtl8365mb: add GMII as user port mode")
    then introduced implicit support for GMII mode on ports with internal
    PHY to allow a PHY connection for device trees where the phy-mode is not
    explicitly set to "internal". At this point everything was working OK
    again.
    
    Subsequently, commit 6ff60646 ("net: dsa: realtek: convert to
    phylink_generic_validate()") broke this behaviour again by discarding
    the usage of rtl8365mb_phy_mode_supported() - where this GMII support
    was indicated - while switching to the new .phylink_get_caps API.
    
    With the new API, rtl8365mb_phy_mode_supported() is no longer needed.
    Remove it altogether and add back the GMII capability - this time to
    rtl8365mb_phylink_get_caps() - so that the above default behaviour works
    for ports with internal PHY again.
    
    Fixes: 6ff60646 ("net: dsa: realtek: convert to phylink_generic_validate()")
    Signed-off-by: default avatarAlvin Šipraga <alsi@bang-olufsen.dk>
    Reviewed-by: default avatarRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
    Link: https://lore.kernel.org/r/20220607184624.417641-1-alvin@pqrs.dkSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    487994ff
rtl8365mb.c 62.7 KB