diff options
author | Vignesh R <vigneshr@ti.com> | 2016-11-23 04:27:55 -0500 |
---|---|---|
committer | Vinod Koul <vinod.koul@intel.com> | 2016-11-29 22:25:05 -0500 |
commit | 08c824e87ea05f989a9768a365f0fc70bcd25298 (patch) | |
tree | ace8f6ab277550bbf26d3794c1ec0ed51bc74ce2 | |
parent | 201ac4861c1944ec3794364d6898b4ddfeb0faf8 (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>
-rw-r--r-- | drivers/dma/edma.c | 3 |
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) | |||
2450 | int i; | 2450 | int i; |
2451 | s8 (*queue_priority_mapping)[2]; | 2451 | s8 (*queue_priority_mapping)[2]; |
2452 | 2452 | ||
2453 | /* re initialize dummy slot to dummy param set */ | ||
2454 | edma_write_slot(ecc, ecc->dummy_slot, &dummy_paramset); | ||
2455 | |||
2453 | queue_priority_mapping = ecc->info->queue_priority_mapping; | 2456 | queue_priority_mapping = ecc->info->queue_priority_mapping; |
2454 | 2457 | ||
2455 | /* Event queue priority mapping */ | 2458 | /* Event queue priority mapping */ |