summaryrefslogtreecommitdiff
path: root/drivers/dma/edma.c
diff options
context:
space:
mode:
authorVignesh R <vigneshr@ti.com>2016-11-23 14:57:55 +0530
committerVinod Koul <vinod.koul@intel.com>2016-11-30 08:55:05 +0530
commit08c824e87ea05f989a9768a365f0fc70bcd25298 (patch)
treeace8f6ab277550bbf26d3794c1ec0ed51bc74ce2 /drivers/dma/edma.c
parent201ac4861c1944ec3794364d6898b4ddfeb0faf8 (diff)
dmaengine: edma: re-initialize dummy slot during system resume
The last param set in a transfer should always be pointing to dummy param set in non-cyclic mode. When system wakes from low power state EDMA PARAM slots may be reset to random values. Hence, re-initialize dummy slot to dummy param set on system resume. Signed-off-by: Vignesh R <vigneshr@ti.com> Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Diffstat (limited to 'drivers/dma/edma.c')
-rw-r--r--drivers/dma/edma.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/dma/edma.c b/drivers/dma/edma.c
index e18a58068bca..1d2be18fec15 100644
--- a/drivers/dma/edma.c
+++ b/drivers/dma/edma.c
@@ -2450,6 +2450,9 @@ static int edma_pm_resume(struct device *dev)
int i;
s8 (*queue_priority_mapping)[2];
+ /* re initialize dummy slot to dummy param set */
+ edma_write_slot(ecc, ecc->dummy_slot, &dummy_paramset);
+
queue_priority_mapping = ecc->info->queue_priority_mapping;
/* Event queue priority mapping */