lkml.org 
[lkml]   [2020]   [Aug]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.7 45/79] net: ethernet: mtk_eth_soc: Always call mtk_gmac0_rgmii_adjust() for mt7623
    Date
    From: René van Dorst <opensource@vdorst.com>

    [ Upstream commit 19016d93bfc335f0c158c0d9e3b9d06c4dd53d39 ]

    Modify mtk_gmac0_rgmii_adjust() so it can always be called.
    mtk_gmac0_rgmii_adjust() sets-up the TRGMII clocks.

    Signed-off-by: René van Dorst <opensource@vdorst.com>
    Signed-off-By: David Woodhouse <dwmw2@infradead.org>
    Tested-by: Frank Wunderlich <frank-w@public-files.de>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/ethernet/mediatek/mtk_eth_soc.c | 19 ++++++++++++++-----
    1 file changed, 14 insertions(+), 5 deletions(-)

    diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
    index b743d8b56c848..82f5690ff4d30 100644
    --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
    +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
    @@ -171,11 +171,21 @@ static int mt7621_gmac0_rgmii_adjust(struct mtk_eth *eth,
    return 0;
    }

    -static void mtk_gmac0_rgmii_adjust(struct mtk_eth *eth, int speed)
    +static void mtk_gmac0_rgmii_adjust(struct mtk_eth *eth,
    + phy_interface_t interface, int speed)
    {
    u32 val;
    int ret;

    + if (interface == PHY_INTERFACE_MODE_TRGMII) {
    + mtk_w32(eth, TRGMII_MODE, INTF_MODE);
    + val = 500000000;
    + ret = clk_set_rate(eth->clks[MTK_CLK_TRGPLL], val);
    + if (ret)
    + dev_err(eth->dev, "Failed to set trgmii pll: %d\n", ret);
    + return;
    + }
    +
    val = (speed == SPEED_1000) ?
    INTF_MODE_RGMII_1000 : INTF_MODE_RGMII_10_100;
    mtk_w32(eth, val, INTF_MODE);
    @@ -262,10 +272,9 @@ static void mtk_mac_config(struct phylink_config *config, unsigned int mode,
    state->interface))
    goto err_phy;
    } else {
    - if (state->interface !=
    - PHY_INTERFACE_MODE_TRGMII)
    - mtk_gmac0_rgmii_adjust(mac->hw,
    - state->speed);
    + mtk_gmac0_rgmii_adjust(mac->hw,
    + state->interface,
    + state->speed);

    /* mt7623_pad_clk_setup */
    for (i = 0 ; i < NUM_TRGMII_CTRL; i++)
    --
    2.25.1


    \
     
     \ /
      Last update: 2020-08-10 17:41    [W:7.263 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site