net: stmmac: dwxgmac2: Do not disable whole RX in dma_stop_rx()
authorJose Abreu <Jose.Abreu@synopsys.com>
Fri, 24 May 2019 08:20:24 +0000 (10:20 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 24 May 2019 20:45:56 +0000 (13:45 -0700)
We don't need to disable the whole RX when dma_stop_rx() is called
because there may be the need of just disabling 1 DMA channel.

This is also needed for stmmac Flow Control selftest.

Signed-off-by: Jose Abreu <joabreu@synopsys.com>
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: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/stmicro/stmmac/dwxgmac2_dma.c

index e79037f511e16c6d8bc7085c1612e3f5b0d81912..7861a938420a149ce8254a4d469c04aa852aa5b9 100644 (file)
@@ -299,10 +299,6 @@ static void dwxgmac2_dma_stop_rx(void __iomem *ioaddr, u32 chan)
        value = readl(ioaddr + XGMAC_DMA_CH_RX_CONTROL(chan));
        value &= ~XGMAC_RXST;
        writel(value, ioaddr + XGMAC_DMA_CH_RX_CONTROL(chan));
-
-       value = readl(ioaddr + XGMAC_RX_CONFIG);
-       value &= ~XGMAC_CONFIG_RE;
-       writel(value, ioaddr + XGMAC_RX_CONFIG);
 }
 
 static int dwxgmac2_dma_interrupt(void __iomem *ioaddr,