lkml.org 
[lkml]   [2019]   [Feb]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.20 074/183] net: stmmac: Fix the logic of checking if RX Watchdog must be enabled
    Date
    4.20-stable review patch.  If anyone has any objections, please let me know.

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

    [ Upstream commit 3b5094665e273c4a2a99f7f5f16977c0f1e19095 ]

    RX Watchdog can be disabled by platform definitions but currently we are
    initializing the descriptors before checking if Watchdog must be
    disabled or not.

    Fix this by checking earlier if user wants Watchdog disabled or not.

    Cc: Joao Pinto <jpinto@synopsys.com>
    Cc: David S. Miller <davem@davemloft.net>
    Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>
    Cc: Alexandre Torgue <alexandre.torgue@st.com>
    Signed-off-by: Jose Abreu <joabreu@synopsys.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    .../net/ethernet/stmicro/stmmac/stmmac_main.c | 24 +++++++++----------
    1 file changed, 12 insertions(+), 12 deletions(-)

    diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
    index c4a35e932f052..fe9240e15aeac 100644
    --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
    +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
    @@ -4194,6 +4194,18 @@ static int stmmac_hw_init(struct stmmac_priv *priv)
    return ret;
    }

    + /* Rx Watchdog is available in the COREs newer than the 3.40.
    + * In some case, for example on bugged HW this feature
    + * has to be disable and this can be done by passing the
    + * riwt_off field from the platform.
    + */
    + if (((priv->synopsys_id >= DWMAC_CORE_3_50) ||
    + (priv->plat->has_xgmac)) && (!priv->plat->riwt_off)) {
    + priv->use_riwt = 1;
    + dev_info(priv->device,
    + "Enable RX Mitigation via HW Watchdog Timer\n");
    + }
    +
    return 0;
    }

    @@ -4326,18 +4338,6 @@ int stmmac_dvr_probe(struct device *device,
    if (flow_ctrl)
    priv->flow_ctrl = FLOW_AUTO; /* RX/TX pause on */

    - /* Rx Watchdog is available in the COREs newer than the 3.40.
    - * In some case, for example on bugged HW this feature
    - * has to be disable and this can be done by passing the
    - * riwt_off field from the platform.
    - */
    - if (((priv->synopsys_id >= DWMAC_CORE_3_50) ||
    - (priv->plat->has_xgmac)) && (!priv->plat->riwt_off)) {
    - priv->use_riwt = 1;
    - dev_info(priv->device,
    - "Enable RX Mitigation via HW Watchdog Timer\n");
    - }
    -
    /* Setup channels NAPI */
    maxq = max(priv->plat->rx_queues_to_use, priv->plat->tx_queues_to_use);

    --
    2.19.1


    \
     
     \ /
      Last update: 2019-02-25 22:44    [W:2.508 / U:0.040 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site