lkml.org 
[lkml]   [2018]   [Mar]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.14 030/115] net: mediatek: setup proper state for disabled GMAC on the default
    Date
    4.14-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Sean Wang <sean.wang@mediatek.com>


    [ Upstream commit 7352e252b5bf40d59342494a70354a2d436fd0cd ]

    The current solution would setup fixed and force link of 1Gbps to the both
    GMAC on the default. However, The GMAC should always be put to link down
    state when the GMAC is disabled on certain target boards. Otherwise,
    the driver possibly receives unexpected data from the floating hardware
    connection through the unused GMAC. Although the driver had been added
    certain protection in RX path to get rid of such kind of unexpected data
    sent to the upper stack.

    Signed-off-by: Sean Wang <sean.wang@mediatek.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/net/ethernet/mediatek/mtk_eth_soc.c | 11 ++++++-----
    1 file changed, 6 insertions(+), 5 deletions(-)

    --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
    +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
    @@ -1959,11 +1959,12 @@ static int mtk_hw_init(struct mtk_eth *e
    /* set GE2 TUNE */
    regmap_write(eth->pctl, GPIO_BIAS_CTRL, 0x0);

    - /* GE1, Force 1000M/FD, FC ON */
    - mtk_w32(eth, MAC_MCR_FIXED_LINK, MTK_MAC_MCR(0));
    -
    - /* GE2, Force 1000M/FD, FC ON */
    - mtk_w32(eth, MAC_MCR_FIXED_LINK, MTK_MAC_MCR(1));
    + /* Set linkdown as the default for each GMAC. Its own MCR would be set
    + * up with the more appropriate value when mtk_phy_link_adjust call is
    + * being invoked.
    + */
    + for (i = 0; i < MTK_MAC_COUNT; i++)
    + mtk_w32(eth, 0, MTK_MAC_MCR(i));

    /* Indicates CDM to parse the MTK special tag from CPU
    * which also is working out for untag packets.

    \
     
     \ /
      Last update: 2018-03-02 10:59    [W:2.997 / U:0.320 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site