From ad22cd2d22bbd524f2939c9593e8271b6e0510a0 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Wed, 16 Dec 2015 01:37:18 +0100 Subject: [PATCH] mt7603: fix set tx done dma writeback + dma burst size Signed-off-by: Felix Fietkau --- mt7603_dma.c | 7 +++++-- mt7603_init.c | 4 +++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/mt7603_dma.c b/mt7603_dma.c index e4fad27d..30b85696 100644 --- a/mt7603_dma.c +++ b/mt7603_dma.c @@ -265,7 +265,9 @@ int mt7603_dma_init(struct mt7603_dev *dev) mt76_clear(dev, MT_WPDMA_GLO_CFG, MT_WPDMA_GLO_CFG_TX_DMA_EN | - MT_WPDMA_GLO_CFG_RX_DMA_EN); + MT_WPDMA_GLO_CFG_RX_DMA_EN | + MT_WPDMA_GLO_CFG_DMA_BURST_SIZE | + MT_WPDMA_GLO_CFG_TX_WRITEBACK_DONE); mt76_wr(dev, MT_WPDMA_RST_IDX, ~0); @@ -320,7 +322,8 @@ void mt7603_dma_cleanup(struct mt7603_dev *dev) mt76_clear(dev, MT_WPDMA_GLO_CFG, MT_WPDMA_GLO_CFG_TX_DMA_EN | - MT_WPDMA_GLO_CFG_RX_DMA_EN); + MT_WPDMA_GLO_CFG_RX_DMA_EN | + MT_WPDMA_GLO_CFG_TX_WRITEBACK_DONE); tasklet_kill(&dev->tx_tasklet); tasklet_kill(&dev->rx_tasklet); diff --git a/mt7603_init.c b/mt7603_init.c index a280ba32..aab8f067 100644 --- a/mt7603_init.c +++ b/mt7603_init.c @@ -70,7 +70,9 @@ mt7603_mac_early_init(struct mt7603_dev *dev) mt76_set(dev, MT_WPDMA_GLO_CFG, (MT_WPDMA_GLO_CFG_TX_DMA_EN | - MT_WPDMA_GLO_CFG_RX_DMA_EN)); + MT_WPDMA_GLO_CFG_RX_DMA_EN | + MT76_SET(MT_WPDMA_GLO_CFG_DMA_BURST_SIZE, 3) | + MT_WPDMA_GLO_CFG_TX_WRITEBACK_DONE)); mt7603_irq_enable(dev, MT_INT_RX_DONE_ALL | MT_INT_TX_DONE_ALL);