summaryrefslogtreecommitdiffstats
path: root/drivers/dma
diff options
context:
space:
mode:
authorPeter Ujfalusi <peter.ujfalusi@ti.com>2019-08-23 15:56:14 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-10-05 13:13:53 +0200
commit6265d3c8b96b198e48e7f3e6635923963bdd96de (patch)
treec16a54b9fad3def78fcad51fd7e92cd607129f60 /drivers/dma
parent18a00f37f418838fbe2036f425a1ea04f93c473c (diff)
downloadlinux-stable-6265d3c8b96b198e48e7f3e6635923963bdd96de.tar.gz
linux-stable-6265d3c8b96b198e48e7f3e6635923963bdd96de.tar.bz2
linux-stable-6265d3c8b96b198e48e7f3e6635923963bdd96de.zip
dmaengine: ti: edma: Do not reset reserved paRAM slots
[ Upstream commit c5dbe60664b3660f5ac5854e21273ea2e7ff698f ] Skip resetting paRAM slots marked as reserved as they might be used by other cores. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Link: https://lore.kernel.org/r/20190823125618.8133-2-peter.ujfalusi@ti.com Signed-off-by: Vinod Koul <vkoul@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/dma')
-rw-r--r--drivers/dma/ti/edma.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/dma/ti/edma.c b/drivers/dma/ti/edma.c
index ceabdea40ae0..982631d4e1f8 100644
--- a/drivers/dma/ti/edma.c
+++ b/drivers/dma/ti/edma.c
@@ -2273,9 +2273,6 @@ static int edma_probe(struct platform_device *pdev)
ecc->default_queue = info->default_queue;
- for (i = 0; i < ecc->num_slots; i++)
- edma_write_slot(ecc, i, &dummy_paramset);
-
if (info->rsv) {
/* Set the reserved slots in inuse list */
rsv_slots = info->rsv->rsv_slots;
@@ -2288,6 +2285,12 @@ static int edma_probe(struct platform_device *pdev)
}
}
+ for (i = 0; i < ecc->num_slots; i++) {
+ /* Reset only unused - not reserved - paRAM slots */
+ if (!test_bit(i, ecc->slot_inuse))
+ edma_write_slot(ecc, i, &dummy_paramset);
+ }
+
/* Clear the xbar mapped channels in unused list */
xbar_chans = info->xbar_chans;
if (xbar_chans) {