linux-stable/drivers/dma/dw-edma
Manivannan Sadhasivam a0188eb6e7 dmaengine: dw-edma: Remove runtime PM support
Currently, the dw-edma driver enables the runtime_pm for parent device
(chip->dev) and increments/decrements the refcount during alloc/free
chan resources callbacks.

This leads to a problem when the eDMA driver has been probed, but the
channels were not used. This scenario can happen when the DW PCIe driver
probes eDMA driver successfully, but the PCI EPF driver decides not to
use eDMA channels and use iATU instead for PCI transfers.

In this case, the underlying device would be runtime suspended due to
pm_runtime_enable() in dw_edma_probe() and the PCI EPF driver would have
no knowledge of it.

Ideally, the eDMA driver should not be the one doing the runtime PM of
the parent device. The responsibility should instead belong to the client
drivers like PCI EPF.

So let's remove the runtime PM support from eDMA driver.

Cc: Serge Semin <fancer.lancer@gmail.com>
Cc: Frank Li <Frank.Li@nxp.com>
Reviewed-by: Serge Semin <fancer.lancer@gmail.com>
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Link: https://lore.kernel.org/r/20220910054700.12205-1-manivannan.sadhasivam@linaro.org
Signed-off-by: Vinod Koul <vkoul@kernel.org>
2022-09-29 22:46:08 +05:30
..
Kconfig dmaengine: dw-edma: Fix build error without CONFIG_PCI_MSI 2019-06-12 10:22:02 +05:30
Makefile dmaengine: Add Synopsys eDMA IP PCIe glue-logic 2019-06-10 13:10:39 +05:30
dw-edma-core.c dmaengine: dw-edma: Remove runtime PM support 2022-09-29 22:46:08 +05:30
dw-edma-core.h dmaengine: dw-edma: Detach the private data and chip info structures 2022-06-23 14:49:30 -05:00
dw-edma-pcie.c dmaengine: dw-edma: Rename wr(rd)_ch_cnt to ll_wr(rd)_cnt in struct dw_edma_chip 2022-06-23 14:56:34 -05:00
dw-edma-v0-core.c pci-v5.20-changes 2022-08-04 19:30:35 -07:00
dw-edma-v0-core.h dmaengine: dw-edma: Detach the private data and chip info structures 2022-06-23 14:49:30 -05:00
dw-edma-v0-debugfs.c dmaengine: dw-edma: Change rg_region to reg_base in struct dw_edma_chip 2022-06-23 14:56:34 -05:00
dw-edma-v0-debugfs.h dmaengine: dw-edma: Detach the private data and chip info structures 2022-06-23 14:49:30 -05:00
dw-edma-v0-regs.h dmaengine: dw-edma: Fix comments offset characters' alignment 2021-03-16 22:58:52 +05:30