Commit c3243eef authored by Peter Ujfalusi's avatar Peter Ujfalusi Committed by Khalid Elmously

dmaengine: ti: edma: Do not reset reserved paRAM slots

BugLink: https://bugs.launchpad.net/bugs/1848589

[ Upstream commit c5dbe606 ]

Skip resetting paRAM slots marked as reserved as they might be used by
other cores.
Signed-off-by: default avatarPeter Ujfalusi <peter.ujfalusi@ti.com>
Link: https://lore.kernel.org/r/20190823125618.8133-2-peter.ujfalusi@ti.comSigned-off-by: default avatarVinod Koul <vkoul@kernel.org>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
Signed-off-by: default avatarConnor Kuehl <connor.kuehl@canonical.com>
Signed-off-by: default avatarKleber Sacilotto de Souza <kleber.souza@canonical.com>
parent d170775d
...@@ -2218,9 +2218,6 @@ static int edma_probe(struct platform_device *pdev) ...@@ -2218,9 +2218,6 @@ static int edma_probe(struct platform_device *pdev)
ecc->default_queue = info->default_queue; ecc->default_queue = info->default_queue;
for (i = 0; i < ecc->num_slots; i++)
edma_write_slot(ecc, i, &dummy_paramset);
if (info->rsv) { if (info->rsv) {
/* Set the reserved slots in inuse list */ /* Set the reserved slots in inuse list */
rsv_slots = info->rsv->rsv_slots; rsv_slots = info->rsv->rsv_slots;
...@@ -2233,6 +2230,12 @@ static int edma_probe(struct platform_device *pdev) ...@@ -2233,6 +2230,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 */ /* Clear the xbar mapped channels in unused list */
xbar_chans = info->xbar_chans; xbar_chans = info->xbar_chans;
if (xbar_chans) { if (xbar_chans) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment