Re: [PATCH/RFC] mtd: spi-nor: honour max_message_size for spi-nor writes.

From: NeilBrown
Date: Thu May 10 2018 - 07:57:37 EST


On Thu, May 10 2018, Marek Vasut wrote:

> On 05/10/2018 12:28 AM, NeilBrown wrote:
>> On Wed, May 09 2018, Boris Brezillon wrote:
>>
>>> On Fri, 27 Apr 2018 16:18:05 +1000
>>> NeilBrown <neil@xxxxxxxxxx> wrote:
>>>
>>>> Hi,
>>>> I've labeled this an RFC because I'm really not sure about removing the
>>>> error path from spi_nor_write() -- maybe that really matters. But on
>>>> my hardware, performing multiple small spi writes to the flash seems
>>>> to work.
>>>>
>>>> The spi driver is drivers/staging/mt7621-spi. Possibly this needs to
>>>> use DMA instead of a FIFO (assuming the hardware can) - or maybe
>>>> drivers/spi/spi-mt65xx.c can be made to work on this hardware, though
>>>> that is for an ARM SOC and mt7621 is a MIPS SOC.
>>>>
>>>> I note that openwrt has similar patches:
>>>> target/linux/generic/pending-4.14/450-mtd-spi-nor-allow-NOR-driver-to-write-fewer-bytes-th.patch
>>>>
>>>> They also change the spi driver to do a short write, rather
>>>> than change m25p80 to request a short write.
>>>>
>>>> Is there something horribly wrong with this?
>>>
>>> Marek, any opinion on this patch?
>>>
>>
>> Hi,
>> thanks for following up.
>> I have since found that I don't need this patch, though maybe others
>> still do(??).
>> My hardware can only send 36 bytes and receive 32 in a single
>> transaction. However I can run a sequence of transactions
>> to process a whole message no matter how large that message is. As
>> long as I keep chip-select asserted, all the slave device sees is that
>> the clock period isn't quite constant, and the slave shouldn't care
>> much about that.
>> When reading from flash, I found that handling large messages with
>> multiple hardware transactions was 50% faster than breaking the
>> read down into lots of 32 byte messages.
>>
>> So, I won't object if this patch is forgotten. Thanks for
>> your time anyway.
>
> Nice, which hardware is that ?

Mediatek MT7621 SOC (particularly in the gnubee.org NAS platform).

Thanks,
NeilBrown

Attachment: signature.asc
Description: PGP signature