diff options
author | Vignesh R <vigneshr@ti.com> | 2016-11-23 12:27:55 +0300 |
---|---|---|
committer | Vinod Koul <vinod.koul@intel.com> | 2016-11-30 06:25:05 +0300 |
commit | 08c824e87ea05f989a9768a365f0fc70bcd25298 (patch) | |
tree | ace8f6ab277550bbf26d3794c1ec0ed51bc74ce2 /drivers/dma | |
parent | 201ac4861c1944ec3794364d6898b4ddfeb0faf8 (diff) | |
download | linux-08c824e87ea05f989a9768a365f0fc70bcd25298.tar.xz |
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')
-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) 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 */ |