mt7603: rework early dma/mac init to match reference driver

Signed-off-by: Felix Fietkau <[email protected]>
This commit is contained in:
Felix Fietkau
2015-12-16 00:39:34 +01:00
parent 4b45a05037
commit 25de83c2a5
2 changed files with 15 additions and 7 deletions
+8
View File
@@ -263,6 +263,10 @@ int mt7603_dma_init(struct mt7603_dev *dev)
tasklet_init(&dev->tx_tasklet, mt7603_tx_tasklet, (unsigned long) dev);
tasklet_init(&dev->rx_tasklet, mt7603_rx_tasklet, (unsigned long) dev);
mt76_clear(dev, MT_WPDMA_GLO_CFG,
MT_WPDMA_GLO_CFG_TX_DMA_EN |
MT_WPDMA_GLO_CFG_RX_DMA_EN);
mt76_wr(dev, MT_WPDMA_RST_IDX, ~0);
for (i = 0; i < ARRAY_SIZE(wmm_queue_map); i++) {
@@ -314,6 +318,10 @@ void mt7603_dma_cleanup(struct mt7603_dev *dev)
{
int i;
mt76_clear(dev, MT_WPDMA_GLO_CFG,
MT_WPDMA_GLO_CFG_TX_DMA_EN |
MT_WPDMA_GLO_CFG_RX_DMA_EN);
tasklet_kill(&dev->tx_tasklet);
tasklet_kill(&dev->rx_tasklet);
for (i = 0; i < ARRAY_SIZE(dev->q_tx); i++)
+7 -7
View File
@@ -59,15 +59,18 @@ mt7603_set_tmac_template(struct mt7603_dev *dev)
static int
mt7603_mac_early_init(struct mt7603_dev *dev)
{
/* Disable MAC */
mt76_set(dev, MT_WF_ARB_SCR, MT_WF_ARB_TX_DISABLE | MT_WF_ARB_RX_DISABLE);
mt76_wr(dev, MT_WF_ARB_TX_START_0, 0);
mt76_wr(dev, MT_WPDMA_GLO_CFG, 0x52000850);
mt76_clear(dev, MT_WF_ARB_SCR, MT_WF_ARB_TX_DISABLE | MT_WF_ARB_RX_DISABLE);
mt76_wr(dev, MT_WF_ARB_TX_START_0, ~0);
mt76_clear(dev, MT_WF_ARB_RQCR, MT_WF_ARB_RQCR_RX_START);
wait_for_wpdma(dev);
udelay(50);
mt76_wr(dev, MT_WPDMA_GLO_CFG, 0x52000875);
mt76_set(dev, MT_WPDMA_GLO_CFG,
(MT_WPDMA_GLO_CFG_TX_DMA_EN |
MT_WPDMA_GLO_CFG_RX_DMA_EN));
mt7603_irq_enable(dev, MT_INT_RX_DONE_ALL | MT_INT_TX_DONE_ALL);
@@ -212,9 +215,6 @@ mt7603_init_hardware(struct mt7603_dev *dev)
int ret;
mt76_wr(dev, MT_INT_SOURCE_CSR, ~0);
mt76_clear(dev, MT_WPDMA_GLO_CFG,
MT_WPDMA_GLO_CFG_TX_DMA_EN |
MT_WPDMA_GLO_CFG_RX_DMA_EN);
ret = mt7603_dma_init(dev);
if (ret)