On 2019-9-24 21:28 Schrempf Frieder <frieder.schrempf@xxxxxxxxxx> wrote: > > Hi Robin, > > > From: Robin Gong <yibin.gong at nxp.com> > > > > Because the number of ecspi1 rx event on i.mx8mm is 0, the condition > > check ignore such special case without dma channel enabled, which > > caused > > ecspi1 rx works failed. Actually, no need to check event_id0/event_id1 > > and replace checking 'event_id1' with 'DMA_DEV_TO_DEV', so that > > configure > > event_id1 only in case DEV_TO_DEV. > > > > Signed-off-by: Robin Gong <yibin.gong at nxp.com> > > Acked-by: Vinod Koul <vkoul at kernel.org> > > I have a custom board with i.MX8MM and SPI flash on ecspi1. I'm currently > testing with v5.3 and as SPI didn't work, I tried two different things: > > 1. Removing 'dmas' and 'dma-names' from the ecspi1 node in imx8mm.dtsi, > to use PIO instead of DMA. This works as expected and the driver > boots with the following messages: > > spi_imx 30820000.spi: dma setup error -19, use pio > m25p80 spi0.0: mx25v8035f (1024 Kbytes) > spi_imx 30820000.spi: probed > > 2. Applying your patchset and use DMA. In this case, the flash also > works fine, but there are some error messages printed while booting: > > spi_master spi0: I/O Error in DMA RX > m25p80 spi0.0: SPI transfer failed: -110 > spi_master spi0: failed to transfer one message from queue > m25p80 spi0.0: mx25v8035f (1024 Kbytes) > spi_imx 30820000.spi: probed > > It would be great to get your patches merged and fix SPI + DMA, but for > i.MX8MM, we need to get rid of the error messages. Do you have an idea, > what's wrong? Could you check if the length of spi message is bigger than fifo_size during spi_nor probe? If yes, at that time maybe sdma firmware not loaded. if (transfer->len < spi_imx->devtype_data->fifo_size) > Thanks, > Frieder