mbox series

[00/14] Backport BRCMNAND changes from Linux

Message ID 20230115195312.1477845-1-linus.walleij@linaro.org
Headers show
Series Backport BRCMNAND changes from Linux | expand

Message

Linus Walleij Jan. 15, 2023, 7:52 p.m. UTC
Hunting down a bug on my system I took to back-porting
all reasonable changes from the Linux brcmnand driver that
were not yet in the U-Boot derivative.

I noticed that a simple diff -ur between brcmnand.c
between the file in Linux and U-Boot was possible to see
what differs. Combining this with some git log --oneline
manual comparison, fuzzing and manual intervention I
backported a set of relevant patches from Linux that
compiles and WorksForMe(TM).

The diff between Linux and U-Boot is much smaller after
this, the main missing part are subsystem cosmetics
changes and the EDU DMA mode support.

This was as much as I could bite off in one go.

All patches countersigned-off and marked as [backported].

It's nice if someone else tests this I think.

Boris Brezillon (1):
  mtd: nand: brcm: switch to mtd_ooblayout_ops

Claire Lin (1):
  mtd: rawnand: brcmnand: Fix ecc chunk calculation for erased page
    bitfips

Kamal Dasu (4):
  mtd: rawnand: brcmnand: Fix BCH ECC layout for large page NAND parts
  mtd: rawnand: brcmnand: Refactored code to introduce helper functions
  mtd: rawnand: brcmnand: Add support for v7.3 controller
  mtd: nand: brcmnand: Add support for flash-dma v0

Álvaro Fernández Rojas (8):
  mtd: rawnand: brcmnand: fix hamming oob layout
  mtd: rawnand: brcmnand: improve hamming oob layout
  mtd: rawnand: brcmnand: correctly verify erased pages
  mtd: rawnand: brcmnand: rename v4 registers
  mtd: rawnand: brcmnand: fix CS0 layout
  mtd: rawnand: brcmnand: rename page sizes
  mtd: rawnand: brcmnand: support v2.1-v2.2 controllers
  mtd: rawnand: brcmnand: fix OOB R/W with Hamming ECC

 drivers/mtd/nand/raw/brcmnand/brcmnand.c | 615 ++++++++++++++++-------
 1 file changed, 425 insertions(+), 190 deletions(-)

Comments

Michael Nazzareno Trimarchi Jan. 16, 2023, 7:11 p.m. UTC | #1
Hi

On Sun, Jan 15, 2023 at 8:53 PM Linus Walleij <linus.walleij@linaro.org> wrote:
>
> Hunting down a bug on my system I took to back-porting
> all reasonable changes from the Linux brcmnand driver that
> were not yet in the U-Boot derivative.
>
> I noticed that a simple diff -ur between brcmnand.c
> between the file in Linux and U-Boot was possible to see
> what differs. Combining this with some git log --oneline
> manual comparison, fuzzing and manual intervention I
> backported a set of relevant patches from Linux that
> compiles and WorksForMe(TM).
>
> The diff between Linux and U-Boot is much smaller after
> this, the main missing part are subsystem cosmetics
> changes and the EDU DMA mode support.
>
> This was as much as I could bite off in one go.
>
> All patches countersigned-off and marked as [backported].
>

Thank you for your time

> It's nice if someone else tests this I think.
>

I don't have any board to test those changes

> Boris Brezillon (1):
>   mtd: nand: brcm: switch to mtd_ooblayout_ops
>
> Claire Lin (1):
>   mtd: rawnand: brcmnand: Fix ecc chunk calculation for erased page
>     bitfips
>
> Kamal Dasu (4):
>   mtd: rawnand: brcmnand: Fix BCH ECC layout for large page NAND parts
>   mtd: rawnand: brcmnand: Refactored code to introduce helper functions
>   mtd: rawnand: brcmnand: Add support for v7.3 controller
>   mtd: nand: brcmnand: Add support for flash-dma v0
>
> Álvaro Fernández Rojas (8):
>   mtd: rawnand: brcmnand: fix hamming oob layout
>   mtd: rawnand: brcmnand: improve hamming oob layout
>   mtd: rawnand: brcmnand: correctly verify erased pages
>   mtd: rawnand: brcmnand: rename v4 registers
>   mtd: rawnand: brcmnand: fix CS0 layout
>   mtd: rawnand: brcmnand: rename page sizes
>   mtd: rawnand: brcmnand: support v2.1-v2.2 controllers
>   mtd: rawnand: brcmnand: fix OOB R/W with Hamming ECC
>
>  drivers/mtd/nand/raw/brcmnand/brcmnand.c | 615 ++++++++++++++++-------
>  1 file changed, 425 insertions(+), 190 deletions(-)
>

Plan to review this week and run ci-pipeline to include in nand-next

MIchael

> --
> 2.39.0
>
William Zhang Jan. 17, 2023, 6:25 a.m. UTC | #2
Hi Linus,

I will try to review and test your patches late this week or early next 
week.  I don't have those old chips (v2.1, v2.2, v4) but will test on 
some of recent Broadcom broadband(BCMBCA) SoCs with v7.0 and 7.1 controller.

Thanks,
William

On 01/16/2023 11:11 AM, Michael Nazzareno Trimarchi wrote:
> Hi
> 
> On Sun, Jan 15, 2023 at 8:53 PM Linus Walleij <linus.walleij@linaro.org> wrote:
>>
>> Hunting down a bug on my system I took to back-porting
>> all reasonable changes from the Linux brcmnand driver that
>> were not yet in the U-Boot derivative.
>>
>> I noticed that a simple diff -ur between brcmnand.c
>> between the file in Linux and U-Boot was possible to see
>> what differs. Combining this with some git log --oneline
>> manual comparison, fuzzing and manual intervention I
>> backported a set of relevant patches from Linux that
>> compiles and WorksForMe(TM).
>>
>> The diff between Linux and U-Boot is much smaller after
>> this, the main missing part are subsystem cosmetics
>> changes and the EDU DMA mode support.
>>
>> This was as much as I could bite off in one go.
>>
>> All patches countersigned-off and marked as [backported].
>>
> 
> Thank you for your time
> 
>> It's nice if someone else tests this I think.
>>
> 
> I don't have any board to test those changes
> 
>> Boris Brezillon (1):
>>    mtd: nand: brcm: switch to mtd_ooblayout_ops
>>
>> Claire Lin (1):
>>    mtd: rawnand: brcmnand: Fix ecc chunk calculation for erased page
>>      bitfips
>>
>> Kamal Dasu (4):
>>    mtd: rawnand: brcmnand: Fix BCH ECC layout for large page NAND parts
>>    mtd: rawnand: brcmnand: Refactored code to introduce helper functions
>>    mtd: rawnand: brcmnand: Add support for v7.3 controller
>>    mtd: nand: brcmnand: Add support for flash-dma v0
>>
>> Álvaro Fernández Rojas (8):
>>    mtd: rawnand: brcmnand: fix hamming oob layout
>>    mtd: rawnand: brcmnand: improve hamming oob layout
>>    mtd: rawnand: brcmnand: correctly verify erased pages
>>    mtd: rawnand: brcmnand: rename v4 registers
>>    mtd: rawnand: brcmnand: fix CS0 layout
>>    mtd: rawnand: brcmnand: rename page sizes
>>    mtd: rawnand: brcmnand: support v2.1-v2.2 controllers
>>    mtd: rawnand: brcmnand: fix OOB R/W with Hamming ECC
>>
>>   drivers/mtd/nand/raw/brcmnand/brcmnand.c | 615 ++++++++++++++++-------
>>   1 file changed, 425 insertions(+), 190 deletions(-)
>>
> 
> Plan to review this week and run ci-pipeline to include in nand-next
> 
> MIchael
> 
>> --
>> 2.39.0
>>
Dario Binacchi Feb. 27, 2023, 5:18 p.m. UTC | #3
Hi all,

On Tue, Jan 17, 2023 at 7:25 AM William Zhang
<william.zhang@broadcom.com> wrote:
>
> Hi Linus,
>
> I will try to review and test your patches late this week or early next
> week.  I don't have those old chips (v2.1, v2.2, v4) but will test on
> some of recent Broadcom broadband(BCMBCA) SoCs with v7.0 and 7.1 controller.
>
> Thanks,
> William
>
> On 01/16/2023 11:11 AM, Michael Nazzareno Trimarchi wrote:
> > Hi
> >
> > On Sun, Jan 15, 2023 at 8:53 PM Linus Walleij <linus.walleij@linaro.org> wrote:
> >>
> >> Hunting down a bug on my system I took to back-porting
> >> all reasonable changes from the Linux brcmnand driver that
> >> were not yet in the U-Boot derivative.
> >>
> >> I noticed that a simple diff -ur between brcmnand.c
> >> between the file in Linux and U-Boot was possible to see
> >> what differs. Combining this with some git log --oneline
> >> manual comparison, fuzzing and manual intervention I
> >> backported a set of relevant patches from Linux that
> >> compiles and WorksForMe(TM).
> >>
> >> The diff between Linux and U-Boot is much smaller after
> >> this, the main missing part are subsystem cosmetics
> >> changes and the EDU DMA mode support.
> >>
> >> This was as much as I could bite off in one go.
> >>
> >> All patches countersigned-off and marked as [backported].
> >>
> >
> > Thank you for your time
> >
> >> It's nice if someone else tests this I think.
> >>
> >
> > I don't have any board to test those changes
> >
> >> Boris Brezillon (1):
> >>    mtd: nand: brcm: switch to mtd_ooblayout_ops
> >>
> >> Claire Lin (1):
> >>    mtd: rawnand: brcmnand: Fix ecc chunk calculation for erased page
> >>      bitfips
> >>
> >> Kamal Dasu (4):
> >>    mtd: rawnand: brcmnand: Fix BCH ECC layout for large page NAND parts
> >>    mtd: rawnand: brcmnand: Refactored code to introduce helper functions
> >>    mtd: rawnand: brcmnand: Add support for v7.3 controller
> >>    mtd: nand: brcmnand: Add support for flash-dma v0
> >>
> >> Álvaro Fernández Rojas (8):
> >>    mtd: rawnand: brcmnand: fix hamming oob layout
> >>    mtd: rawnand: brcmnand: improve hamming oob layout
> >>    mtd: rawnand: brcmnand: correctly verify erased pages
> >>    mtd: rawnand: brcmnand: rename v4 registers
> >>    mtd: rawnand: brcmnand: fix CS0 layout
> >>    mtd: rawnand: brcmnand: rename page sizes
> >>    mtd: rawnand: brcmnand: support v2.1-v2.2 controllers
> >>    mtd: rawnand: brcmnand: fix OOB R/W with Hamming ECC
> >>
> >>   drivers/mtd/nand/raw/brcmnand/brcmnand.c | 615 ++++++++++++++++-------
> >>   1 file changed, 425 insertions(+), 190 deletions(-)
> >>
> >
> > Plan to review this week and run ci-pipeline to include in nand-next
> >
> > MIchael
> >
> >> --
> >> 2.39.0
> >>

I applied v2 of the series to nand-next.

Thanks and regards
Dario