2019-03-21 12:15:48

by Liang Yang

[permalink] [raw]
Subject: [PATCH 1/1] mtd: rawnand: meson: set oob layout ops

Specify the oob layout operation to avoid no oob scheme defined for
some nand flash.

Fixes: 8fae856c5350 ("mtd: rawnand: meson: add support for Amlogic NAND flash controller")
Signed-off-by: Liang Yang <[email protected]>
---
drivers/mtd/nand/raw/meson_nand.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/mtd/nand/raw/meson_nand.c b/drivers/mtd/nand/raw/meson_nand.c
index 3e8aa71..a2154a2 100644
--- a/drivers/mtd/nand/raw/meson_nand.c
+++ b/drivers/mtd/nand/raw/meson_nand.c
@@ -1183,6 +1183,8 @@ static int meson_nand_attach_chip(struct nand_chip *nand)
return -EINVAL;
}

+ mtd_set_ooblayout(mtd, &meson_ooblayout_ops);
+
ret = meson_nand_bch_mode(nand);
if (ret)
return -EINVAL;
--
1.9.1



2019-03-21 19:51:42

by Martin Blumenstingl

[permalink] [raw]
Subject: Re: [PATCH 1/1] mtd: rawnand: meson: set oob layout ops

On Thu, Mar 21, 2019 at 1:14 PM Liang Yang <[email protected]> wrote:
>
> Specify the oob layout operation to avoid no oob scheme defined for
> some nand flash.
>
> Fixes: 8fae856c5350 ("mtd: rawnand: meson: add support for Amlogic NAND flash controller")
> Signed-off-by: Liang Yang <[email protected]>
this patch solves the "No oob scheme defined for oobsize 1280" on my
Meson8m2 M8S board, so:
Tested-by: Martin Blumenstingl <[email protected]>

to give a bit of context on my Tested-by:
I tested this with my work-in-progress series and a hack to make the
kzalloc() in meson_nfc_read_buf() return an aligned address (by
allocating PAGE_SIZE instead of PER_INFO_BYTE) on my Meson8m2 M8S
board.
it's now progressing to the state where Linux tries to find the BBT
which it can't (because the vendor kernel which was used to format the
NAND flash is shipping a custom BBT format).
before this patch I couldn't get past the "No oob scheme defined for
oobsize 1280" error.


Regards
Martin

2019-04-01 15:31:42

by Miquel Raynal

[permalink] [raw]
Subject: Re: [PATCH 1/1] mtd: rawnand: meson: set oob layout ops

Hi Liang,

Liang Yang <[email protected]> wrote on Thu, 21 Mar 2019 20:14:01
+0800:

> Specify the oob layout operation to avoid no oob scheme defined for
> some nand flash.
>
> Fixes: 8fae856c5350 ("mtd: rawnand: meson: add support for Amlogic NAND flash controller")
> Signed-off-by: Liang Yang <[email protected]>
> ---
> drivers/mtd/nand/raw/meson_nand.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/mtd/nand/raw/meson_nand.c b/drivers/mtd/nand/raw/meson_nand.c
> index 3e8aa71..a2154a2 100644
> --- a/drivers/mtd/nand/raw/meson_nand.c
> +++ b/drivers/mtd/nand/raw/meson_nand.c
> @@ -1183,6 +1183,8 @@ static int meson_nand_attach_chip(struct nand_chip *nand)
> return -EINVAL;
> }
>
> + mtd_set_ooblayout(mtd, &meson_ooblayout_ops);
> +
> ret = meson_nand_bch_mode(nand);
> if (ret)
> return -EINVAL;


Applied to git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git
on nand/next.


Thanks,
Miquèl