Hi Igor, Please have a try with the attached patches, and revert 25aaa75df1e6, ad0d92d7ba6a , dd4b487b32a3, df07101e1c4a before apply. Besides XCH, tx thresh should be set to 0 , now no failure caught on ecspi5. > -----Original Message----- > From: Robin Gong > Sent: 2019年4月2日 16:33 > To: 'Igor Plyatov' ; Uwe Kleine-König > > Cc: linux-kernel@vger.kernel.org; linux-arm-kernel@lists.infradead.org; > linux-spi@vger.kernel.org; dl-linux-imx ; Fabio Estevam > ; Pengutronix Kernel Team ; > Sascha Hauer ; Shawn Guo > ; Mark Brown ; > dmaengine@vger.kernel.org; Vinod Koul ; Dan Williams > ; Andy Duan ; Han Xu > ; Clark Wang > Subject: RE: Issues with i.MX SPI DMA transfers > > > -----Original Message----- > > From: Igor Plyatov > > Sent: 2019年4月2日 15:20 > > To: Robin Gong ; Uwe Kleine-König > > > > Cc: linux-kernel@vger.kernel.org; > > linux-arm-kernel@lists.infradead.org; > > linux-spi@vger.kernel.org; dl-linux-imx ; Fabio > > Estevam ; Pengutronix Kernel Team > > ; Sascha Hauer ; Shawn > > Guo ; Mark Brown ; > > dmaengine@vger.kernel.org; Vinod Koul ; Dan Williams > > ; Andy Duan ; Han Xu > > ; Clark Wang > > Subject: Re: Issues with i.MX SPI DMA transfers > > > > Dear Robin Gong, > > > > > > >> Sorry...below another sdma patch(ad0d92d7ba6a) need to be reverted, > > >> because spi driver may dynamically change burst length. > > > > > > now I have reverted patch ad0d92d7ba6a. > > > > Patches 0001-dma-engine-imx-sdma-add-mcu_2_ecspi-script.patch and > > 0002-spi-spi-imx-fix-ERR009165.patch are applied. > > > > > > Kernel log show messages > > > > [   29.202639] imx-sdma 20ec000.sdma: loaded firmware 3.3 [ > > 29.238595] spi_imx 2008000.spi: probed [   29.242802] spi_imx > > 200c000.spi: probed [   29.245217] spi_imx 2018000.spi: probed > > > > SPI DMA transfers still not work. > > > > If I test 32 byte transfers, then they work fine. But 64 byte > > transfers fails always and I see error messages > > > > root@cr7:~# spidev_test -D /dev/spidev4.1 -s 1200000 -b 8 -S 64 -I 1 > > -l spi mode: 0x20 bits per word: 8 max speed: 1200000 Hz (1200 KHz) [ > > 423.686736] spi_master spi4: I/O Error in DMA RX [  423.691392] spidev > > spi4.1: SPI transfer failed: -110 [  423.696382] spi_master spi4: > > failed to transfer one message from queue can't send spi message: > > Connection timed out Aborted (core dumped) > > > > I suppose, transfers shorter then 64 bytes made with help of PIO. > > > > Robin, is there any chance for you to find some time and look at this > > issue again? > I have quick test with spidev_test loopback, but didn't meet your error, Is your > code the almost latest code in linux-next as mine? > > root@imx6qpdlsolox:~# cat /proc/interrupts | grep sdma > 48: 37 GPC 2 Level sdma > -lt@imx6qpdlsolox:~# ./spidev_test -D /dev/spidev0.0 -s 1200000 -b 8 -S 64 -I > 1 -l spi mode: 0x20 bits per word: 8 max speed: 1200000 Hz (1200 KHz) > root@imx6qpdlsolox:~# cat /proc/interrupts | grep sdma > 48: 43 GPC 2 Level sdma > ./spidev_test -D /dev/spidev0.0 -s 1200000 -b 8 -S 512 -I 1 -l spi mode: 0x20 bits > per word: 8 max speed: 1200000 Hz (1200 KHz) > total: tx 0.5KB, rx 0.5KB > > > > Best wishes. > > -- > > Igor Plyatov