Hi
We are developing firmware for a custom AM437x based board. We are not using the TI SDK, but rather the Linux based firmware is created using Buildroot and a standard kernel.
While upgrading our previous kernel 4.19.45 to 5.7.1 I noticed a significant increase in CPU usage, which appeared to be related to SPI operations. Total CPU usage as measured by "top" increased from 5-10% to around 25-30% following the kernel upgrade, with SPI-based drivers (including a dual UART and an small OLED panel) showing up as the dominant users. The SPI unit is not currently configured for DMA.
I tried downgrading just one file drivers/spi/spi-omap2-mcspi.c back to the 4.19.45 version and the CPU usage returned to close to its original level.
From looking at the history of this file, I wonder whether the changes to add support for slave mode SPI in kernel 4.20 may be causing this.
Have you observed this? Can the driver implementation be changed to avoid this increase in CPU usage, or can a config option be added to disable this change? In our application we don't need slave mode SPI.
Thanks!