2022-12-19 03:09:04

by Xiangsheng Hou

[permalink] [raw]
Subject: [PATCH v5 01/10] spi: mtk-snfi: Change default page format to setup default setting

Change default page format to setup default setting since the sector
size 1024 on MT7986 will lead to probe fail.

Signed-off-by: Xiangsheng Hou <[email protected]>
---
drivers/spi/spi-mtk-snfi.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/spi/spi-mtk-snfi.c b/drivers/spi/spi-mtk-snfi.c
index fa8412ba20e2..719fc6f53ab1 100644
--- a/drivers/spi/spi-mtk-snfi.c
+++ b/drivers/spi/spi-mtk-snfi.c
@@ -1430,8 +1430,7 @@ static int mtk_snand_probe(struct platform_device *pdev)

// setup an initial page format for ops matching page_cache_op template
// before ECC is called.
- ret = mtk_snand_setup_pagefmt(ms, ms->caps->sector_size,
- ms->caps->spare_sizes[0]);
+ ret = mtk_snand_setup_pagefmt(ms, SZ_2K, SZ_64);
if (ret) {
dev_err(ms->dev, "failed to set initial page format\n");
goto disable_clk;
--
2.25.1


2022-12-19 15:54:38

by Matthias Brugger

[permalink] [raw]
Subject: Re: [PATCH v5 01/10] spi: mtk-snfi: Change default page format to setup default setting

Thanks for your patch! There is something to improve please see below.

On 19/12/2022 03:40, Xiangsheng Hou wrote:
> Change default page format to setup default setting since the sector
> size 1024 on MT7986 will lead to probe fail.
>
> Signed-off-by: Xiangsheng Hou <[email protected]>
> ---
> drivers/spi/spi-mtk-snfi.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/spi/spi-mtk-snfi.c b/drivers/spi/spi-mtk-snfi.c
> index fa8412ba20e2..719fc6f53ab1 100644
> --- a/drivers/spi/spi-mtk-snfi.c
> +++ b/drivers/spi/spi-mtk-snfi.c
> @@ -1430,8 +1430,7 @@ static int mtk_snand_probe(struct platform_device *pdev)
>
> // setup an initial page format for ops matching page_cache_op template
> // before ECC is called.
> - ret = mtk_snand_setup_pagefmt(ms, ms->caps->sector_size,
> - ms->caps->spare_sizes[0]);
> + ret = mtk_snand_setup_pagefmt(ms, SZ_2K, SZ_64);

Couldn't you just set sector_size in mt7986_snand_caps?

Regards,
Matthias


> if (ret) {
> dev_err(ms->dev, "failed to set initial page format\n");
> goto disable_clk;

2022-12-20 02:33:51

by Xiangsheng Hou

[permalink] [raw]
Subject: Re: [PATCH v5 01/10] spi: mtk-snfi: Change default page format to setup default setting

Hi Matthias,

On Mon, 2022-12-19 at 16:30 +0100, Matthias Brugger wrote:
> Thanks for your patch! There is something to improve please see
> below.
>
> On 19/12/2022 03:40, Xiangsheng Hou wrote:
> > Change default page format to setup default setting since the
> > sector
> > size 1024 on MT7986 will lead to probe fail.
> >
> > Signed-off-by: Xiangsheng Hou <[email protected]>
> > ---
> > drivers/spi/spi-mtk-snfi.c | 3 +--
> > 1 file changed, 1 insertion(+), 2 deletions(-)
> >
> > diff --git a/drivers/spi/spi-mtk-snfi.c b/drivers/spi/spi-mtk-
> > snfi.c
> > index fa8412ba20e2..719fc6f53ab1 100644
> > --- a/drivers/spi/spi-mtk-snfi.c
> > +++ b/drivers/spi/spi-mtk-snfi.c
> > @@ -1430,8 +1430,7 @@ static int mtk_snand_probe(struct
> > platform_device *pdev)
> >
> > // setup an initial page format for ops matching page_cache_op
> > template
> > // before ECC is called.
> > - ret = mtk_snand_setup_pagefmt(ms, ms->caps->sector_size,
> > - ms->caps->spare_sizes[0]);
> > + ret = mtk_snand_setup_pagefmt(ms, SZ_2K, SZ_64);
>
> Couldn't you just set sector_size in mt7986_snand_caps?

The function mtk_snand_setup_pagefmt need use page and OOB size of NAND
device to setup pagefmt.
The controller page size can support 512/1k/2k/4k..., the sector size
1k have been set in mt7986_snand_caps. However this will also lead to
fail in this function since the 1k page size will not be supported.
Just use page size 2k and OOB size 64 as default parameter since this
can be supported by all ICs with this controller.

Thanks
Xiangsheng Hou

2023-01-05 12:24:56

by Xiangsheng Hou

[permalink] [raw]
Subject: Re: [PATCH v5 01/10] spi: mtk-snfi: Change default page format to setup default setting

On Tue, 2022-12-20 at 10:15 +0800, xiangsheng.hou wrote:
Hi Matthias, Angelo
>
> On Mon, 2022-12-19 at 16:30 +0100, Matthias Brugger wrote:
> > Thanks for your patch! There is something to improve please see
> > below.
> >
> > On 19/12/2022 03:40, Xiangsheng Hou wrote:
> > > Change default page format to setup default setting since the
> > > sector
> > > size 1024 on MT7986 will lead to probe fail.
> > >
> > > Signed-off-by: Xiangsheng Hou <[email protected]>
> > > ---
> > > drivers/spi/spi-mtk-snfi.c | 3 +--
> > > 1 file changed, 1 insertion(+), 2 deletions(-)
> > >
> > > diff --git a/drivers/spi/spi-mtk-snfi.c b/drivers/spi/spi-mtk-
> > > snfi.c
> > > index fa8412ba20e2..719fc6f53ab1 100644
> > > --- a/drivers/spi/spi-mtk-snfi.c
> > > +++ b/drivers/spi/spi-mtk-snfi.c
> > > @@ -1430,8 +1430,7 @@ static int mtk_snand_probe(struct
> > > platform_device *pdev)
> > >
> > > // setup an initial page format for ops matching
> > > page_cache_op
> > > template
> > > // before ECC is called.
> > > - ret = mtk_snand_setup_pagefmt(ms, ms->caps->sector_size,
> > > - ms->caps->spare_sizes[0]);
> > > + ret = mtk_snand_setup_pagefmt(ms, SZ_2K, SZ_64);
> >
> > Couldn't you just set sector_size in mt7986_snand_caps?
>
> The function mtk_snand_setup_pagefmt need use page and OOB size of
> NAND
> device to setup pagefmt.
> The controller page size can support 512/1k/2k/4k..., the sector size
> 1k have been set in mt7986_snand_caps. However this will also lead to
> fail in this function since the 1k page size will not be supported.
> Just use page size 2k and OOB size 64 as default parameter since this
> can be supported by all ICs with this controller.

Could you please help to review this patch.

Best Regards,
Xiangsheng Hou