[LEDE-DEV] [PATCH] ar71xx: fix flash fast read for flash chips > 16 MB

Felix Fietkau nbd at nbd.name
Fri Feb 23 08:35:17 PST 2018


On 2018-02-23 16:59, Christian Beier wrote:
> Am Fri, 23 Feb 2018 09:50:35 +0100
> schrieb Felix Fietkau <nbd at nbd.name>:
> 
>> On 2018-02-23 09:40, Rafał Miłecki wrote:
>> > On 22 February 2018 at 20:13, Christian Beier <dontmind at freeshell.org>
>> > wrote:  
>> >> From: Christian Beier <cb at shoutrlabs.com>
>> >>
>> >> SPI fast flash read only is supported on devices using 3-byte-addressing.
>> >> As chips bigger than 16MB use 4-byte-addressing, reading fails with
>> >> -EOPNOTSUPP.
>> >>
>> >> This commit sets the fast flash read callback spi->master->spi_flash_read
>> >> to NULL for chips that use 4-byte-addressing.
>> >>
>> >> Fixes https://bugs.openwrt.org/index.php?do=details&task_id=1376.
>> >>
>> >> Signed-off-by: Christian Beier <cb at shoutrlabs.com>  
>> > 
>> > Can you send this patch to the MTD mailing list, please?
>> > 
>> > Why adding it to the ar71xx target only?  
>> I think this is the wrong place to fix it, the ath79 spi driver should
>> be changed instead.
> 
> Yeah, OK. That's actually what I asked in the initial mail of this thread ;-).
> I just don't know how to access any address width or size or sector size/count
> info from within spi-ath79.c (as it seems to be on a higher layer than
> m25p80.c/spi-nor.c).
> 
> Can you provide me with some hints on how this could be done, Felix? I'd be
> happy to whip up another patch then.
> 
> Extending spi_flash_read() to work with 4-byte addressing is beyond my
> knowledge of kernel intrinsics :-/
I've prepared a patch (which I intend to send upstream once it's tested)
and put it in my staging tree:
https://git.openwrt.org/e4d8c2892b9708c2719dcd96c7d92c3cac07eb39
Please test it.

Thanks,

- Felix



More information about the Lede-dev mailing list