lkml.org 
[lkml]   [2022]   [Jun]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.18 307/879] net: dsa: mt7530: 1G can also support 1000BASE-X link mode
    Date
    From: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>

    [ Upstream commit 66f862563ed68717dfd84e808ca12705ed275ced ]

    When using an external PHY connected using RGMII to mt7531 port 5, the
    PHY can be used to used support 1000BASE-X connections. Moreover, if
    1000BASE-T is supported, then we should allow 1000BASE-X as well, since
    which are supported is a property of the PHY.

    Therefore, it makes no sense to exclude this from the linkmodes when
    1000BASE-T is supported.

    Fixes: c288575f7810 ("net: dsa: mt7530: Add the support of MT7531 switch")
    Tested-by: Marek Behún <kabel@kernel.org>
    Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
    Signed-off-by: Paolo Abeni <pabeni@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/dsa/mt7530.c | 14 ++++----------
    1 file changed, 4 insertions(+), 10 deletions(-)

    diff --git a/drivers/net/dsa/mt7530.c b/drivers/net/dsa/mt7530.c
    index fe3cb26f4287..831ccbecb0c2 100644
    --- a/drivers/net/dsa/mt7530.c
    +++ b/drivers/net/dsa/mt7530.c
    @@ -2540,13 +2540,7 @@ static void mt7531_sgmii_validate(struct mt7530_priv *priv, int port,
    /* Port5 supports ethier RGMII or SGMII.
    * Port6 supports SGMII only.
    */
    - switch (port) {
    - case 5:
    - if (mt7531_is_rgmii_port(priv, port))
    - break;
    - fallthrough;
    - case 6:
    - phylink_set(supported, 1000baseX_Full);
    + if (port == 6) {
    phylink_set(supported, 2500baseX_Full);
    phylink_set(supported, 2500baseT_Full);
    }
    @@ -2914,8 +2908,6 @@ static void
    mt7530_mac_port_validate(struct dsa_switch *ds, int port,
    unsigned long *supported)
    {
    - if (port == 5)
    - phylink_set(supported, 1000baseX_Full);
    }

    static void mt7531_mac_port_validate(struct dsa_switch *ds, int port,
    @@ -2952,8 +2944,10 @@ mt753x_phylink_validate(struct dsa_switch *ds, int port,
    }

    /* This switch only supports 1G full-duplex. */
    - if (state->interface != PHY_INTERFACE_MODE_MII)
    + if (state->interface != PHY_INTERFACE_MODE_MII) {
    phylink_set(mask, 1000baseT_Full);
    + phylink_set(mask, 1000baseX_Full);
    + }

    priv->info->mac_port_validate(ds, port, mask);

    --
    2.35.1


    \
     
     \ /
      Last update: 2022-06-08 00:33    [W:2.517 / U:0.336 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site