lkml.org 
[lkml]   [2023]   [Mar]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH v1] mtd: rawnand: meson: fix bitmask for length in command word
From


On 22.03.2023 23:10, Martin Blumenstingl wrote:
> Hello Arseniy,
>
> thank you for submitting this fix!
Thanks!
>
> On Wed, Mar 22, 2023 at 7:45 PM Arseniy Krasnov
> <avkrasnov@sberdevices.ru> wrote:
>>
>> Valid mask is 0x3FFF, without this patch the following problems were
>> found:
>>
>> 1) [ 0.938914] Could not find a valid ONFI parameter page, trying
>> bit-wise majority to recover it
>> [ 0.947384] ONFI parameter recovery failed, aborting
>>
>> 2) Read with disabled ECC mode was broken.
>>
>> Fixes: 8fae856c5350 ("mtd: rawnand: meson: add support for Amlogic NAND flash controller")
>> Signed-off-by: Arseniy Krasnov <AVKrasnov@sberdevices.ru>
> This matches what I can see in the old vendor driver, so:
Moreover it was clear that mask of 0x3f is too small for length of data in
bytes, for example for 2048 + OOB size.
> Acked-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
>
> [...]
>> - cmd = (len & GENMASK(5, 0)) | scrambler | DMA_DIR(dir);
>> + cmd = (len & GENMASK(13, 0)) | scrambler | DMA_DIR(dir);
> My understanding of the vendor driver is that this "len" is only used
> for "raw" access (my own words: any access that doesn't use the HW ECC
> engine).
Exactly, 'len' is only for raw access.
> As a future improvement (no need to update re-send this patch) it
> would be great to have a #define with a meaningful name for
> "GENMASK(13, 0)" (maybe something like NFC_CMD_RAW_LENGTH) as it's
> used in multiple places now
Ack

Thanks, Arseniy
>
>
> Best regards,
> Martin

\
 
 \ /
  Last update: 2023-03-27 01:13    [W:2.113 / U:0.012 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site