Lines Matching +full:etop +full:- +full:xway
1 // SPDX-License-Identifier: GPL-2.0-only
10 #include <linux/dma-mapping.h>
49 #define DMA_ETOP_ENDIANNESS (0xf << 8) /* endianness swap etop channels */
66 ltq_dma_w32(ch->nr, LTQ_DMA_CS);
67 ltq_dma_w32_mask(0, 1 << ch->nr, LTQ_DMA_IRNEN);
78 ltq_dma_w32(ch->nr, LTQ_DMA_CS);
79 ltq_dma_w32_mask(1 << ch->nr, 0, LTQ_DMA_IRNEN);
90 ltq_dma_w32(ch->nr, LTQ_DMA_CS);
102 ltq_dma_w32(ch->nr, LTQ_DMA_CS);
114 ltq_dma_w32(ch->nr, LTQ_DMA_CS);
116 ltq_dma_w32_mask(1 << ch->nr, 0, LTQ_DMA_IRNEN);
126 ch->desc = 0;
127 ch->desc_base = dma_alloc_coherent(ch->dev,
129 &ch->phys, GFP_ATOMIC);
132 ltq_dma_w32(ch->nr, LTQ_DMA_CS);
133 ltq_dma_w32(ch->phys, LTQ_DMA_CDBA);
152 ltq_dma_w32_mask(0, 1 << ch->nr, LTQ_DMA_IRNEN);
167 ltq_dma_w32_mask(0, 1 << ch->nr, LTQ_DMA_IRNEN);
176 if (!ch->desc_base)
179 dma_free_coherent(ch->dev, LTQ_DESC_NUM * LTQ_DESC_SIZE,
180 ch->desc_base, ch->phys);
250 clk = clk_get(&pdev->dev, NULL);
272 dev_info(&pdev->dev,
273 "Init done - hw rev: %X, ports: %d, channels: %d\n",
280 { .compatible = "lantiq,dma-xway" },
287 .name = "dma-xway",