Re: [PATCH 1/5] spi: introduce mmap read support for spi flash devices

Mark Brown
2015-09-14T18:35:53Z

[-- Attachment #1: Type: text/plain, Size: 2215 bytes --]

On Fri, Sep 04, 2015 at 04:55:33PM +0530, Jagan Teki wrote:
> On 4 September 2015 at 13:59, Vignesh R <vigneshr@ti.com> wrote:

> > + * @spi_mtd_mmap_read: some spi-controller hardwares provide memory
> > + * mapped interface to communicate with mtd flashes.
> > + * For this, spi controller needs to know flash
> > + * memory settings like read command to use, dummy
> > + * bytes and address width. Once these settings are
> > + * populated in hardware registers, any read
> > + * accesses to flash's memory map region(as defined
> > + * by SoC) through memcpy or mem-to-mem DMA copy
> > + * will be handled by controller hardware. The
> > + * hardware will automatically generate spi signals
> > + * required to read data from flash and present it
> > + * to CPU or DMA. SPI master drivers can use this
> > + * callback to implement memory mapped read
> > + * interface. Flash driver (like m25p80) requests
> > + * memory mapped read via this method. The interface
> > + * should only be used mtd flashes and cannot be
> > + * used with other spi devices.

This comment is *way* too verbose - probably you just need up to the
"Once" here.

> > + int (*spi_mtd_mmap_read)(struct spi_device *spi,
> > + loff_t from, size_t len, size_t *retlen,
> > + u_char *buf, u8 read_opcode,
> > + u8 addr_width, u8 dummy_bytes);

> This looks un-manageable to know spi core or master knows what are the
> command or opcode used by spi-nor flash and also I think mmap support
> seems to be flash related or any justification this is spi bus
> master/controller feature?

There seem to be a reasonable number of SPI controllers out there which
have as an extension the ability to do memory mapped reads but are
otherwise perfectly normal SPI controllers and which rely on that for
everything except reads.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]