Re: [PATCH 03/11] spi: Add a driver for the Freescale/NXP QuadSPI controller

From: Boris Brezillon
Date: Tue Jun 05 2018 - 11:00:30 EST


On Wed, 30 May 2018 15:14:32 +0200
Frieder Schrempf <frieder.schrempf@xxxxxxxxx> wrote:

> +
> +static void fsl_qspi_read_ahb(struct fsl_qspi *q, const struct spi_mem_op *op)
> +{
> + static int seq;
> +
> + /*
> + * 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.
> + */
> + memcpy_fromio(op->data.buf.in,
> + q->ahb_addr +
> + (seq * q->devtype_data->ahb_buf_size),
> + op->data.nbytes);
> +
> + seq = seq ? 0 : 1;

We should get rid of this hack. Yogesh, Han, do you know if there's an
easy way to invalidate the AHB buffer without resetting the IP?

> +}