Messages in this thread | | | Date | Thu, 23 Mar 2023 10:57:56 +0300 | Subject | Re: [PATCH v1] mtd: rawnand: meson: fix bitmask for length in command word | From | Arseniy Krasnov <> |
| |
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
| |