工具/软件:
我们使用了 am62a34 SOC。 我们使用的 SDK 版本是 ti-processor-sdk-linux-edgeai-am62a-evm-10_01_00_05。
目前、当我们使用 SPI 发送和接收数据时、我们发送和接收的数据大小为 32 个字节。 我们发现、当 SPI 应用调用 ioctl (SPI_FD、SPI_IOC_message (1)、&transfer) 时、它从不返回、导致应用程序冻结。
我们已经确定、在驱动程序文件 spi-omap2-mcspi.c 中、程序将一直滞留在“wait_for_comletion_interruptible (x)“行上、这会导致 ioctrl 函数不返回。 同时、我们观察到、当该块发生时、也没有触发 DMA 中断、导致未调用 SPI 的回调函数。

我们注意到论坛上也出现了类似的问题。Linux/AM3358:SPI DMA 问题 — 处理器论坛-处理器 — TI E2E 支持论坛
当传输的字节小于 160 时、我们使用 DMA。 为什么这会导致问题?
2.目前是否有任何修补程序可用于此问题?



