From mboxrd@z Thu Jan 1 00:00:00 1970 From: Igor Plyatov Subject: Re: Issues with i.MX SPI DMA transfers Date: Thu, 28 Mar 2019 14:05:59 +0300 Message-ID: References: <08fcbd65-510f-84f8-d6d6-ff56aa9ca9ad@gmail.com> <20190328065247.uz73lap7ljf5q3tb@pengutronix.de> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit 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 To: Robin Gong , =?UTF-8?Q?Uwe_Kleine-K=c3=b6nig?= Return-path: In-Reply-To: Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-spi.vger.kernel.org Dear Robin, I have applied patches 0001-dma-engine-imx-sdma-add-mcu_2_ecspi-script.patch, 0002-spi-spi-imx-fix-ERR009165.patch and made testing. Results are following: root@cr7:~# spidev_test -D /dev/spidev0.0 -s 12000000 -b 8 -S 512 -I 10000000000 -l spi mode: 0x20 bits per word: 8 max speed: 12000000 Hz (12000 KHz) [  133.987798] spi_imx 2008000.spi: I/O Error in DMA TX [  133.992810] spidev spi0.0: SPI transfer failed: -110 [  133.997860] spi_master spi0: failed to transfer one message from queue can't send spi message: Connection timed out Aborted (core dumped) root@cr7:~# spidev_test -D /dev/spidev1.0 -s 12000000 -b 8 -S 512 -I 10000000000 -l spi mode: 0x20 bits per word: 8 max speed: 12000000 Hz (12000 KHz) [  483.530815] spi_imx 200c000.spi: I/O Error in DMA TX [  483.535825] spidev spi1.0: SPI transfer failed: -110 [  483.540873] spi_master spi1: failed to transfer one message from queue can't send spi message: Connection timed out Aborted (core dumped) root@cr7:~# spidev_test -D /dev/spidev4.0 -s 12000000 -b 8 -S 512 -I 10000000000 -l spi mode: 0x20 bits per word: 8 max speed: 12000000 Hz (12000 KHz) [   94.228774] spi_imx 2018000.spi: I/O Error in DMA TX [   94.233788] spidev spi4.0: SPI transfer failed: -110 [   94.238837] spi_master spi4: failed to transfer one message from queue can't send spi message: Connection timed out Aborted (core dumped) Best wishes. -- Igor Plyatov > Hi Igor, > Please have a try with the attached patch, assume you have already used the sdma firmware > From https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/imx/sdma/sdma-imx6q.bin >> -----Original Message----- >> From: Igor Plyatov >> Sent: 2019年3月28日 15:04 >> To: 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 >> ; Robin Gong ; Clark Wang >> >> Subject: Re: Issues with i.MX SPI DMA transfers >> >> Dear Uwe, >> >> >>> Hello Igor, >>> >>> On Wed, Mar 27, 2019 at 08:40:00PM +0300, Igor Plyatov wrote: >>>> please, help to resolve two issues with SPI DMA transfers at i.MX6Q >>>> platform. >>>> >>>> First issue is >>>>  [ 4465.008003] spi_master spi0: I/O Error in DMA RX >>>> >>>> Second issue is duplication for one of received bytes. >>>> >>>> Probably, these issues related to each one. >>> This is probably the same problem I hit some time ago. Check ERR009165 >>> in the errata. You either need to disable DMA or need a fixed >>> sdma-Script. >> disabling of DMA is not an option, because high throughput required for SPI bus >> to communicate with DSPs. >> >> I'm aware of ERR009165, but as I write some minutes earlier to list, >> spi0 (alias for ecspi1) and spi1 (alias for ecspi2) work flawless, while >> spi4 (alias for ecspi5) fails very fast. >> >> Does same SDMA script used for all SPI interfaces or scripts are different? >> >> Best wishes. >> >> -- >> >> Igor Plyatov