linux-stable/drivers/dma/dw
Andy Shevchenko 99ba8b9b0d dmaengine: dw: Initialize channel before each transfer
In some cases DMA can be used only with a consumer which does runtime power
management and on the platforms, that have DMA auto power gating logic
(see comments in the drivers/acpi/acpi_lpss.c), may result in DMA losing
its context. Simple mitigation of this issue is to initialize channel
each time the consumer initiates a transfer.

Fixes: cfdf5b6cc5 ("dw_dmac: add support for Lynxpoint DMA controllers")
Reported-by: Tsuchiya Yuto <kitakar@gmail.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=206403
Link: https://lore.kernel.org/r/20200705115620.51929-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
2020-07-06 10:21:05 +05:30
..
acpi.c dmaengine: dw: platform: Split ACPI helpers to separate module 2019-08-21 09:41:28 +05:30
core.c dmaengine: dw: Initialize channel before each transfer 2020-07-06 10:21:05 +05:30
dw.c dmaengine: dw: Don't pollute CTL_LO on iDMA 32-bit 2019-01-07 17:57:13 +05:30
idma32.c dmaengine: dw: Don't pollute CTL_LO on iDMA 32-bit 2019-01-07 17:57:13 +05:30
internal.h dmaengine: dw: platform: Split OF helpers to separate module 2019-08-21 09:41:28 +05:30
Kconfig dmaengine: dw: convert to SPDX identifiers 2019-01-07 17:57:13 +05:30
Makefile dmaengine: dw: platform: Split OF helpers to separate module 2019-08-21 09:41:28 +05:30
of.c dmaengine: dw: platform: Split OF helpers to separate module 2019-08-21 09:41:28 +05:30
pci.c dmaengine: dw: Export struct dw_dma_chip_pdata for wider use 2019-08-21 09:41:27 +05:30
platform.c dmaengine: dw: platform: Mark 'hclk' clock optional 2019-10-14 13:51:44 +05:30
regs.h dmaengine: dw: convert to SPDX identifiers 2019-01-07 17:57:13 +05:30