linux_dsm_epyc7002/drivers/dma
Tony Lindgren bacdcb6675 dmaengine: cppi41: Fix cppi41_dma_prep_slave_sg() when idle
Yegor Yefremov <yegorslists@googlemail.com> reported that musb and ftdi
uart can fail for the first open of the uart unless connected using
a hub.

This is because the first dma call done by musb_ep_program() must wait
if cppi41 is PM runtime suspended. Otherwise musb_ep_program() continues
with other non-dma packets before the DMA transfer is started causing at
least ftdi uarts to fail to receive data.

Let's fix the issue by waking up cppi41 with PM runtime calls added to
cppi41_dma_prep_slave_sg() and return NULL if still idled. This way we
have musb_ep_program() continue with PIO until cppi41 is awake.

Fixes: fdea2d09b9 ("dmaengine: cppi41: Add basic PM runtime support")
Reported-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Cc: stable@vger.kernel.org # v4.9+
Link: https://lore.kernel.org/r/20191023153138.23442-1-tony@atomide.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
2019-10-23 21:15:21 +05:30
..
bestcomm
dw dmaengine: dw: platform: Split OF helpers to separate module 2019-08-21 09:41:28 +05:30
dw-axi-dmac
dw-edma dmaengine: dw-edma: fix endianess confusion 2019-07-22 20:58:15 +05:30
hsu dmaengine updates for v5.3-rc1 2019-07-17 09:55:43 -07:00
ioat dmanegine: ioat/dca: Use struct_size() helper 2019-09-04 10:17:14 +05:30
ipu
mediatek dmaengine: Remove dev_err() usage after platform_get_irq() 2019-07-31 20:50:53 +05:30
ppc4xx
qcom dmaengine: qcom: bam_dma: Fix resource leak 2019-10-18 13:27:58 +05:30
sh dmaengine updates for v5.4-rc1 2019-09-17 19:04:40 -07:00
ti dmaengine: cppi41: Fix cppi41_dma_prep_slave_sg() when idle 2019-10-23 21:15:21 +05:30
xilinx dmaengine: xilinx_dma: Fix control reg update in vdma_channel_set_config 2019-10-15 15:41:55 +05:30
acpi-dma.c dmaengine: acpi: Add kernel doc parameter descriptions 2019-08-21 09:41:27 +05:30
altera-msgdma.c
amba-pl08x.c dmaengine updates for v5.3-rc1 2019-07-17 09:55:43 -07:00
at_hdmac_regs.h
at_hdmac.c
at_xdmac.c dmaengine updates for v5.3-rc1 2019-07-17 09:55:43 -07:00
bcm2835-dma.c dmaengine updates for v5.4-rc1 2019-09-17 19:04:40 -07:00
bcm-sba-raid.c
coh901318_lli.c
coh901318.c dmaengine updates for v5.3-rc1 2019-07-17 09:55:43 -07:00
coh901318.h
dma-axi-dmac.c dmaengine updates for v5.3-rc1 2019-07-17 09:55:43 -07:00
dma-jz4780.c dmaengine: Remove dev_err() usage after platform_get_irq() 2019-07-31 20:50:53 +05:30
dmaengine.c dmaengine updates for v5.3-rc1 2019-07-17 09:55:43 -07:00
dmaengine.h
dmatest.c dmaengine: dmatest: Add support for completion polling 2019-09-04 10:14:22 +05:30
ep93xx_dma.c
fsl_raid.c
fsl_raid.h
fsl-edma-common.c dmaengine: change alignment of mux_configure32 and fsl_edma_chan_mux 2019-08-20 17:09:34 +05:30
fsl-edma-common.h dmaengine: fsl-edma: add i.mx7ulp edma2 version support 2019-08-08 17:54:36 +05:30
fsl-edma.c dmaengine: fsl-edma: implement .device_synchronize callback 2019-08-08 19:01:58 +05:30
fsl-qdma.c dmaengine: Remove dev_err() usage after platform_get_irq() 2019-07-31 20:50:53 +05:30
fsldma.c dmaengine: fsldma: Mark expected switch fall-through 2019-08-20 19:42:34 -05:00
fsldma.h
idma64.c
idma64.h
img-mdc-dma.c
imx-dma.c dmaengine: imx-dma: Mark expected switch fall-through 2019-07-31 20:49:04 +05:30
imx-sdma.c dmaengine: imx-sdma: fix size check for sdma script_number 2019-10-14 13:33:44 +05:30
iop-adma.c dmaengine updates for v5.4-rc1 2019-09-17 19:04:40 -07:00
iop-adma.h dma: iop-adma: allow building without platform headers 2019-08-14 15:36:22 +02:00
k3dma.c
Kconfig Main MIPS changes for v5.4: 2019-09-22 09:30:30 -07:00
lpc18xx-dmamux.c
Makefile dma: Drop JZ4740 driver 2019-07-30 10:41:53 -07:00
mcf-edma.c dmaengine: fsl-edma: add drvdata for fsl-edma 2019-07-03 13:28:22 +05:30
mic_x100_dma.c dmaengine updates for v5.3-rc1 2019-07-17 09:55:43 -07:00
mic_x100_dma.h
mmp_pdma.c
mmp_tdma.c dmaengine updates for v5.3-rc1 2019-07-17 09:55:43 -07:00
moxart-dma.c
mpc512x_dma.c
mv_xor_v2.c dmaengine: mv_xor_v2: Fix -Wshift-negative-value 2019-08-20 17:06:36 +05:30
mv_xor.c
mv_xor.h
mxs-dma.c dmaengine updates for v5.3-rc1 2019-07-17 09:55:43 -07:00
nbpfaxi.c
of-dma.c dmaengine updates for v5.3-rc1 2019-07-17 09:55:43 -07:00
owl-dma.c
pch_dma.c
pl330.c dmaengine: pl330: use the same attributes when freeing pl330->mcode_cpu 2019-08-08 18:49:43 +05:30
pxa_dma.c dmaengine updates for v5.3-rc1 2019-07-17 09:55:43 -07:00
s3c24xx-dma.c dmaengine: Remove dev_err() usage after platform_get_irq() 2019-07-31 20:50:53 +05:30
sa11x0-dma.c
sirf-dma.c
sprd-dma.c dmaengine: sprd: Fix the possible memory leak issue 2019-10-15 15:47:24 +05:30
st_fdma.c dmaengine: Remove dev_err() usage after platform_get_irq() 2019-07-31 20:50:53 +05:30
st_fdma.h
ste_dma40_ll.c
ste_dma40_ll.h
ste_dma40.c dmaengine: ste_dma40: fix unneeded variable warning 2019-07-22 20:58:33 +05:30
stm32-dma.c dmaengine: stm32-dma: Use struct_size() helper 2019-09-04 10:25:08 +05:30
stm32-dmamux.c dmaengine: stm32-dmamux: Switch to use device_property_count_u32() 2019-07-29 12:25:21 +05:30
stm32-mdma.c dmaengine updates for v5.4-rc1 2019-09-17 19:04:40 -07:00
sun4i-dma.c dmaengine: Remove dev_err() usage after platform_get_irq() 2019-07-31 20:50:53 +05:30
sun6i-dma.c dmaengine: Remove dev_err() usage after platform_get_irq() 2019-07-31 20:50:53 +05:30
tegra20-apb-dma.c dmaengine: tegra-apb: Support per-burst residue granularity 2019-07-25 15:55:51 +05:30
tegra210-adma.c dmaengine: tegra210-adma: fix transfer failure 2019-10-14 12:40:38 +05:30
timb_dma.c
TODO
txx9dmac.c
txx9dmac.h
uniphier-mdmac.c dmaengine: Remove dev_err() usage after platform_get_irq() 2019-07-31 20:50:53 +05:30
virt-dma.c dmaengine updates for v5.3-rc1 2019-07-17 09:55:43 -07:00
virt-dma.h dmaengine updates for v5.3-rc1 2019-07-17 09:55:43 -07:00
xgene-dma.c dmaengine: Remove dev_err() usage after platform_get_irq() 2019-07-31 20:50:53 +05:30
zx_dma.c