Re: [PATCH v2 0/3] mtd: Make sure UBIFS does not do multi-pass page programming on flashes that don't support it

From: Richard Weinberger
Date: Fri Nov 27 2020 - 07:55:58 EST


On Tue, Nov 24, 2020 at 2:58 PM Pratyush Yadav <p.yadav@xxxxxx> wrote:
>
> Hi,
>
> On 18/11/20 11:54PM, Pratyush Yadav wrote:
> > Hi,
> >
> > The Cypress Semper S28 flash family uses 2-bit ECC by default. Under
> > this ECC scheme, multi-pass page programs result in a program error.
> > This means that unlike many other SPI NOR flashes, bit-walking cannot be
> > done. In other words, once a page is programmed, its bits cannot then be
> > flipped to 0 without an erase in between.
> >
> > This causes problems with UBIFS because it uses bit-walking to clear EC
> > and VID magic numbers from a PEB before issuing an erase to preserve the
> > file system correctness in case of power cuts.
> >
> > This series fixes that by setting mtd->writesize to the ECC block size
> > (16) and making sure UBIFS does not try to do a multi-pass write on
> > flashes with writesize > 1.
> >
> > It is based on the xSPI/8D series that adds support for Cypress S28
> > flash [0] (it is in next now). The patches themselves are independent of
> > that series in the sense that they don't rely on 8D support. But since
> > S28 flash is not supported without that series, these patches don't make
> > much sense without it.
> >
> > Tested on Cypress S28HS512T and MT35XU512ABA on J7200 and J721E
> > respectively.
> >
> > [0] https://lore.kernel.org/linux-mtd/20201005153138.6437-1-p.yadav@xxxxxx/
>
> Any comments on the series? If not, can it be picked up?
>
> > Pratyush Yadav (3):
> > UBI: Do not zero out EC and VID on ECC-ed NOR flashes
> > mtd: spi-nor: core: Allow flashes to specify MTD writesize
> > mtd: spi-nor: spansion: Set ECC block size
> >
> > drivers/mtd/spi-nor/core.c | 4 +++-
> > drivers/mtd/spi-nor/core.h | 3 +++
> > drivers/mtd/spi-nor/spansion.c | 1 +
> > drivers/mtd/ubi/build.c | 4 +---
> > drivers/mtd/ubi/io.c | 9 ++++++++-
> > 5 files changed, 16 insertions(+), 5 deletions(-)

Can we please have am ACK from NOR folks? :-)

--
Thanks,
//richard