spi-atmel.c: regression

From: Igor Plyatov
Date: Mon Oct 02 2017 - 10:45:15 EST


please help to manage issue with data corruption by PDC of SPI.

I have compared operation of Linux-2.6.39 and linux4sam kernel 4.9.36+ on the AT91SAM9G20 (Stamp9G20 SOM from Taskit.de) and found regression in the spi-atmel.c.

New spi-atmel.c driver works very bad with SPI speeds above 6 MHz. I see corruption in data received by Linux and SPI overruns when OS has big CPI and IO load.

Old kernel works fine at 22 MHz with the same device driver and hardware.

Can somebody comment and/or help on how to resolve this issue?

Best wishes.
Igor Plyatov