Hi Yogesh, On 13.11.18 09:22, Yogesh Narayan Gaur wrote: [...] >> + >> +static void fsl_qspi_read_ahb(struct fsl_qspi *q, const struct >> +spi_mem_op *op) { >> + /* >> + * We want to avoid needing to invalidate the cache by issueing >> + * a reset to the AHB and Serial Flash domain, as this needs >> + * time. So we change the address on each read to trigger an >> + * actual read operation on the flash. The actual address for >> + * the flash memory is set by programming the LUT. >> + */ > As discussed previously, please go away with this hack and use AHB bus invalidation method with smaller timeout value. > > I would start doing validation of this patch series from next version onward. As you have mentioned in other mail discussion about issue in the break condition for function fsl_qspi_readl_poll_tout(). Thank you for your comments. I just sent v5 with some fixes, including fixed fsl_qspi_readl_poll_tout(). I also removed the hack above and I'm properly resetting the AHB domain now. I'm using a 1us delay just like in the old driver. In my tests the performance impact was very small (~2%) and it didn't get better when using ndelay. Thanks, Frieder