Thread (44 messages) 44 messages, 8 authors, 2015-08-12

[RFC PATCH 1/5] spi: introduce flag for memory mapped read

From: Michal Suchanek <hidden>
Date: 2015-08-05 05:58:23
Also in: linux-devicetree, linux-omap, linux-spi, lkml

On 5 August 2015 at 07:35, Vignesh R [off-list ref] wrote:

On 08/05/2015 10:51 AM, Michal Suchanek wrote:
quoted
Hello,

On 4 August 2015 at 19:59, R, Vignesh [off-list ref] wrote:
quoted

On 8/4/2015 9:21 PM, Mark Brown wrote:
quoted
On Mon, Aug 03, 2015 at 10:27:19AM +0530, Vignesh R wrote:
quoted
quoted
TI QSPI controller has two blocks:
1. SPI_CORE: This is generic(normal) spi mode. This can be used to
communicate with any SPI devices (serial flashes as well as non-flash
devices like touchscreen).
2. SFI_MM_IF(SPI memory mapped interface): The SFI_MM_IF block only
allows reading and writing to an SPI flash device only. Used to speed up
flash reads. It _cannot_ be used to communicate with non flash devices.
Now, the spi_message that ti-qspi receives in transfer_one() callback
can be from mtd device(in which case SFI_MM_IF can be used) or from any
other non flash SPI device (in which case SFI_MM_IF must not be used
instead SPI_CORE is to be used) but there is no way(is there?) to
distinguish where spi_message is from. Therefore I introduced flag
(use_mmap_mode) to struct spi_message. mtd driver will set flag to true,
this helps the ti-qspi driver to determine that the user is flash device
and thus can do read via SFI_MM_IF. If this flag is not set then the
user is assumed to be non flash SPI driver and will use SPI_CORE block
to communicate.

On the whole, I just need a way to determine that the user is a flash
device in order to switch to memory mapped interface.
Maybe it can be set on the SPI slave rather than each message.
You mean to add flag to spi_device struct? That's ok for me.
There are already mode flags so you can just add one more.

Thanks

Michal
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help