Re: [PATCH v5 2/2] mtd: rawnand: rockchip: Align hwecc vs. raw page helper layouts

From: Miquel Raynal
Date: Sat Jul 15 2023 - 12:19:28 EST


On Fri, 2023-07-14 at 15:21:21 UTC, Johan Jonker wrote:
> Currently, read/write_page_hwecc() and read/write_page_raw() are not
> aligned: there is a mismatch in the OOB bytes which are not
> read/written at the same offset in both cases (raw vs. hwecc).
>
> This is a real problem when relying on the presence of the Page
> Addresses (PA) when using the NAND chip as a boot device, as the
> BootROM expects additional data in the OOB area at specific locations.
>
> Rockchip boot blocks are written per 4 x 512 byte sectors per page.
> Each page with boot blocks must have a page address (PA) pointer in OOB
> to the next page. Pages are written in a pattern depending on the NAND chip ID.
>
> Generate boot block page address and pattern for hwecc in user space
> and copy PA data to/from the already reserved last 4 bytes before ECC
> in the chip->oob_poi data layout.
>
> Align the different helpers. This change breaks existing jffs2 users.
>
> Fixes: 058e0e847d54 ("mtd: rawnand: rockchip: NFC driver for RK3308, RK2928 and others")
> Signed-off-by: Johan Jonker <jbx6244@xxxxxxxxx>

Applied to https://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git mtd/fixes, thanks.

Miquel