This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM62L-EVSE-DEV-EVM: dmaengine: ti: k3-udma: 1 second polling delay

Part Number: AM62L-EVSE-DEV-EVM

Hi,

I run ti-linux-kernel version 6.18.15 on an AM62P5-SK-EVM. I run k3-udma and spi-omap2-mcspi. I run 20MHz SPI to an off-board STM32. I occassionally see 1 second delay in the transfer of an SPI frame. I have tracked that delay to be caused by this function:

void udma_check_tx_completion(struct work_struct *work);
in file: k3-udma-common.c.
specifically in this retry part of the code which is called if the mcspi peer does not read data to its fifo fast enough:

                               /* No progress, check again in 1 second  */
                               schedule_delayed_work(&uc->tx_drain.work, HZ);

I see discussions online and my guess is that TI know about this but doesn't want to change this wait time to a shorter time or detect DMA completion in another way which these online discussions suggest.:
https://lkml.org/lkml/2022/8/22/299
https://lkml.org/lkml/2025/7/31/950

I'm in the situation where I need to address this issue with a kernel update for our products and seeks your advice.

I'd like to know:
1. Why hasn't TI acted on this?
2. Right now I'm looking into simply shorten the 1 second polling dalay to a few millisecond. Do you see any problems with that?