MIPS: lantiq: Do not enable IRQs in dma open
authorHauke Mehrtens <hauke@hauke-m.de>
Sun, 9 Sep 2018 20:16:42 +0000 (22:16 +0200)
committerDavid S. Miller <davem@davemloft.net>
Thu, 13 Sep 2018 15:14:33 +0000 (08:14 -0700)
When a DMA channel is opened the IRQ should not get activated
automatically, this allows it to pull data out manually without the help
of interrupts. This is needed for a workaround in the vrx200 Ethernet
driver.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Acked-by: Paul Burton <paul.burton@mips.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
arch/mips/lantiq/xway/dma.c
drivers/net/ethernet/lantiq_etop.c

index 664f2f7..982859f 100644 (file)
@@ -106,7 +106,6 @@ ltq_dma_open(struct ltq_dma_channel *ch)
        spin_lock_irqsave(&ltq_dma_lock, flag);
        ltq_dma_w32(ch->nr, LTQ_DMA_CS);
        ltq_dma_w32_mask(0, DMA_CHAN_ON, LTQ_DMA_CCTRL);
-       ltq_dma_w32_mask(0, 1 << ch->nr, LTQ_DMA_IRNEN);
        spin_unlock_irqrestore(&ltq_dma_lock, flag);
 }
 EXPORT_SYMBOL_GPL(ltq_dma_open);
index 5a7af52..32ac904 100644 (file)
@@ -432,6 +432,7 @@ ltq_etop_open(struct net_device *dev)
                if (!IS_TX(i) && (!IS_RX(i)))
                        continue;
                ltq_dma_open(&ch->dma);
+               ltq_dma_enable_irq(&ch->dma);
                napi_enable(&ch->napi);
        }
        phy_start(dev->phydev);