u-boot/drivers/dma
Vignesh Raghavendra f8461352b8 dma: ti: k3-udma: Fix channel hang on teardown
Setting RX flow error handling will stall the channel until descriptors
are available to move RX data. Setting this bit causes issues when
tearing down ethernet DMA channel at the end of TFTP transfer as
unrelated network packets can cause teardown to stall indefinitely waiting
for driver to queue add more desc leading to channel hang with error
logs:
udma_stop_dev2mem TIMEOUT !
udma_stop_dev2mem: peer not stopped TIMEOUT !
udma_stop_dev2mem TIMEOUT !

Fix this by clearing rx_error_handling similar to how its done for UDMA
as part of udma_alloc_rchan_sci_req()

This fixes occasional TFTP Failures seen when downloading multiple files
one after the other on AM64/AM62 SoCs.

Fixes: 9a92851c33 ("dma: ti: k3-udma: Add BCDMA and PKTDMA support")
Reported-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2023-03-22 12:51:15 -04:00
..
ti dma: ti: k3-udma: Fix channel hang on teardown 2023-03-22 12:51:15 -04:00
apbh_dma.c common: Drop net.h from common header 2020-05-18 17:33:31 -04:00
bcm6348-iudma.c dma: bcm6348: Don't check clk_free 2022-03-30 13:02:55 -04:00
dma-uclass.c dm: treewide: Do not use the return value of simple uclass iterator 2022-10-29 07:36:33 -06:00
fsl_dma.c ddr: fsl: Remove CONFIG_MEM_INIT_VALUE 2022-12-22 10:31:48 -05:00
Kconfig dma: xilinx: Add Display Port DMA driver 2022-03-09 12:35:50 +01:00
keystone_nav_cfg.c ti: keystone: dma: Migrate to Kconfig 2021-09-27 21:38:34 -04:00
keystone_nav.c ti: keystone: dma: Migrate to Kconfig 2021-09-27 21:38:34 -04:00
lpc32xx_dma.c common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
Makefile dma: xilinx: Add Display Port DMA driver 2022-03-09 12:35:50 +01:00
MCD_dmaApi.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
MCD_tasks.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
MCD_tasksInit.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
sandbox-dma-test.c dma: Transfer dma_ops should use DMA address types 2022-10-18 13:40:40 -04:00
ti-edma3.c dma: Transfer dma_ops should use DMA address types 2022-10-18 13:40:40 -04:00
xilinx_dpdma.c dma: xilinx: Add Display Port DMA driver 2022-03-09 12:35:50 +01:00