diff options
Diffstat (limited to 'target/linux/at91/patches-5.10/133-dmaengine-at_xdmac-add-support-for-sama7g5-based-at_.patch')
-rw-r--r-- | target/linux/at91/patches-5.10/133-dmaengine-at_xdmac-add-support-for-sama7g5-based-at_.patch | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/target/linux/at91/patches-5.10/133-dmaengine-at_xdmac-add-support-for-sama7g5-based-at_.patch b/target/linux/at91/patches-5.10/133-dmaengine-at_xdmac-add-support-for-sama7g5-based-at_.patch index 6d338490fb..5b6ecbcfa3 100644 --- a/target/linux/at91/patches-5.10/133-dmaengine-at_xdmac-add-support-for-sama7g5-based-at_.patch +++ b/target/linux/at91/patches-5.10/133-dmaengine-at_xdmac-add-support-for-sama7g5-based-at_.patch @@ -73,15 +73,15 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org> /* ----- Channels ----- */ struct at_xdmac_chan { struct dma_chan chan; -@@ -213,6 +225,7 @@ struct at_xdmac { - struct clk *clk; +@@ -214,6 +226,7 @@ struct at_xdmac { u32 save_gim; + u32 save_gs; struct dma_pool *at_xdmac_desc_pool; + const struct at_xdmac_layout *layout; struct at_xdmac_chan chan[]; }; -@@ -245,9 +258,33 @@ struct at_xdmac_desc { +@@ -246,9 +259,33 @@ struct at_xdmac_desc { struct list_head xfer_node; } __aligned(sizeof(u64)); @@ -116,7 +116,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org> } #define at_xdmac_read(atxdmac, reg) readl_relaxed((atxdmac)->regs + (reg)) -@@ -343,8 +380,10 @@ static void at_xdmac_start_xfer(struct a +@@ -344,8 +381,10 @@ static void at_xdmac_start_xfer(struct a first->active_xfer = true; /* Tell xdmac where to get the first descriptor. */ @@ -129,7 +129,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org> at_xdmac_chan_write(atchan, AT_XDMAC_CNDA, reg); /* -@@ -539,6 +578,7 @@ static int at_xdmac_compute_chan_conf(st +@@ -540,6 +579,7 @@ static int at_xdmac_compute_chan_conf(st enum dma_transfer_direction direction) { struct at_xdmac_chan *atchan = to_at_xdmac_chan(chan); @@ -137,7 +137,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org> int csize, dwidth; if (direction == DMA_DEV_TO_MEM) { -@@ -546,12 +586,14 @@ static int at_xdmac_compute_chan_conf(st +@@ -547,12 +587,14 @@ static int at_xdmac_compute_chan_conf(st AT91_XDMAC_DT_PERID(atchan->perid) | AT_XDMAC_CC_DAM_INCREMENTED_AM | AT_XDMAC_CC_SAM_FIXED_AM @@ -154,7 +154,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org> csize = ffs(atchan->sconfig.src_maxburst) - 1; if (csize < 0) { dev_err(chan2dev(chan), "invalid src maxburst value\n"); -@@ -569,12 +611,14 @@ static int at_xdmac_compute_chan_conf(st +@@ -570,12 +612,14 @@ static int at_xdmac_compute_chan_conf(st AT91_XDMAC_DT_PERID(atchan->perid) | AT_XDMAC_CC_DAM_FIXED_AM | AT_XDMAC_CC_SAM_INCREMENTED_AM @@ -171,7 +171,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org> csize = ffs(atchan->sconfig.dst_maxburst) - 1; if (csize < 0) { dev_err(chan2dev(chan), "invalid src maxburst value\n"); -@@ -864,10 +908,12 @@ at_xdmac_interleaved_queue_desc(struct d +@@ -865,10 +909,12 @@ at_xdmac_interleaved_queue_desc(struct d * ERRATA: Even if useless for memory transfers, the PERID has to not * match the one of another channel. If not, it could lead to spurious * flag status. @@ -186,7 +186,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org> | AT_XDMAC_CC_MBSIZE_SIXTEEN | AT_XDMAC_CC_TYPE_MEM_TRAN; -@@ -1046,12 +1092,14 @@ at_xdmac_prep_dma_memcpy(struct dma_chan +@@ -1047,12 +1093,14 @@ at_xdmac_prep_dma_memcpy(struct dma_chan * ERRATA: Even if useless for memory transfers, the PERID has to not * match the one of another channel. If not, it could lead to spurious * flag status. @@ -203,7 +203,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org> | AT_XDMAC_CC_MBSIZE_SIXTEEN | AT_XDMAC_CC_TYPE_MEM_TRAN; unsigned long irqflags; -@@ -1152,12 +1200,14 @@ static struct at_xdmac_desc *at_xdmac_me +@@ -1153,12 +1201,14 @@ static struct at_xdmac_desc *at_xdmac_me * ERRATA: Even if useless for memory transfers, the PERID has to not * match the one of another channel. If not, it could lead to spurious * flag status. @@ -220,7 +220,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org> | AT_XDMAC_CC_MBSIZE_SIXTEEN | AT_XDMAC_CC_MEMSET_HW_MODE | AT_XDMAC_CC_TYPE_MEM_TRAN; -@@ -1436,7 +1486,7 @@ at_xdmac_tx_status(struct dma_chan *chan +@@ -1437,7 +1487,7 @@ at_xdmac_tx_status(struct dma_chan *chan mask = AT_XDMAC_CC_TYPE | AT_XDMAC_CC_DSYNC; value = AT_XDMAC_CC_TYPE_PER_TRAN | AT_XDMAC_CC_DSYNC_PER2MEM; if ((desc->lld.mbr_cfg & mask) == value) { @@ -229,7 +229,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org> while (!(at_xdmac_chan_read(atchan, AT_XDMAC_CIS) & AT_XDMAC_CIS_FIS)) cpu_relax(); } -@@ -1494,7 +1544,7 @@ at_xdmac_tx_status(struct dma_chan *chan +@@ -1495,7 +1545,7 @@ at_xdmac_tx_status(struct dma_chan *chan * FIFO flush ensures that data are really written. */ if ((desc->lld.mbr_cfg & mask) == value) { @@ -238,7 +238,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org> while (!(at_xdmac_chan_read(atchan, AT_XDMAC_CIS) & AT_XDMAC_CIS_FIS)) cpu_relax(); } -@@ -1762,7 +1812,7 @@ static int at_xdmac_device_pause(struct +@@ -1763,7 +1813,7 @@ static int at_xdmac_device_pause(struct return 0; spin_lock_irqsave(&atchan->lock, flags); @@ -247,7 +247,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org> while (at_xdmac_chan_read(atchan, AT_XDMAC_CC) & (AT_XDMAC_CC_WRIP | AT_XDMAC_CC_RDIP)) cpu_relax(); -@@ -1785,7 +1835,7 @@ static int at_xdmac_device_resume(struct +@@ -1786,7 +1836,7 @@ static int at_xdmac_device_resume(struct return 0; } @@ -256,7 +256,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org> clear_bit(AT_XDMAC_CHAN_IS_PAUSED, &atchan->status); spin_unlock_irqrestore(&atchan->lock, flags); -@@ -1992,6 +2042,10 @@ static int at_xdmac_probe(struct platfor +@@ -1995,6 +2045,10 @@ static int at_xdmac_probe(struct platfor atxdmac->regs = base; atxdmac->irq = irq; @@ -267,7 +267,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org> atxdmac->clk = devm_clk_get(&pdev->dev, "dma_clk"); if (IS_ERR(atxdmac->clk)) { dev_err(&pdev->dev, "can't get dma_clk\n"); -@@ -2134,6 +2188,10 @@ static const struct dev_pm_ops atmel_xdm +@@ -2137,6 +2191,10 @@ static const struct dev_pm_ops atmel_xdm static const struct of_device_id atmel_xdmac_dt_ids[] = { { .compatible = "atmel,sama5d4-dma", |