dmaengine: edma: re-initialize dummy slot during system resume
authorVignesh R <vigneshr@ti.com>
Wed, 23 Nov 2016 09:27:55 +0000 (14:57 +0530)
committerVinod Koul <vinod.koul@intel.com>
Wed, 30 Nov 2016 03:25:05 +0000 (08:55 +0530)
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>
drivers/dma/edma.c

index e18a580..1d2be18 100644 (file)
@@ -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 */