linux-mtd.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: "Matthias Weißer" <m.weisser.m@gmail.com>
To: Yicong Yang <yangyicong@hisilicon.com>
Cc: vigneshr@ti.com, tudor.ambarus@microchip.com, richard@nod.at,
	me@yadavpratyush.com, john.garry@huawei.com, linuxarm@huawei.com,
	linux-mtd@lists.infradead.org, miquel.raynal@bootlin.com,
	alexander.sverdlin@nokia.com, Pratyush Yadav <p.yadav@ti.com>
Subject: Re: [PATCH 2/2] mtd: spi-nor: Disable the flash quad mode in spi_nor_restore()
Date: Thu, 3 Sep 2020 07:33:42 +0200	[thread overview]
Message-ID: <CAO8h3eEYVxzSp1eK6f8z=cnO=hpwq1o47JgnhkWpiLfLYPdtQg@mail.gmail.com> (raw)
In-Reply-To: <47b73fec-7af2-98f8-776e-f9a8660bd219@hisilicon.com>

Am Do., 3. Sept. 2020 um 05:04 Uhr schrieb Yicong Yang
<yangyicong@hisilicon.com>:
>
> Hi Matthias,
> On 2020/9/2 20:15, Matthias Weißer wrote:
> > Hi Vignesh
> >
> > Am Di., 1. Sept. 2020 um 16:20 Uhr schrieb Yicong Yang
> > <yangyicong@hisilicon.com>:
> >> I've tested the following patch with s25fs128s1.
> >> I left the flash quad enabled before managed by spi-nor driver,
> >> and it'll stay QE after removed. So I think it'll also address the issue
> >> mentioned. Please have a test.
> > Thanks for the patch. I can confirm that current 5.9-rc3 bricks my hardware
> > and your patch on top of it fixes that. Therefore
> >
> > Tested-by: Matthias Weisser <m.weisser.m@gmail.com>
> >
> > But I am still concerned about wearing out nonvolatile QE bits (not in my
> > case, but there may be others) which may also brick hardware after a lot of
> > boots (by set and reset QE bit on every boot).
> >
> > So, from my limited point of view, your patch fixes my problem but overall
> > I think the original approach should be thought-out a bit more.
>
> Thanks for testing the patch.
>
> The driver will try to set the QE bit when 1) in ->quad_enable() if QE bit is not set and
> 2) previously without this patch in spi_nor_restore() to try to disable the flash quad mode.
>
> With this patch, if the QE bit is originally set the driver will only read and record it and
> will not disable the quad mode in spi_nor_restore(). What the driver will do is to read
> the bit, without trying to set or reset it. So I think it will not wear out the those nonvolatile
> QE bits.

I think it will. Expect a flash with the QE bit not set. Kernel boots, set the
bit which will cause an erase cycle (setting it from 0 to 1). On shutdown the
bit is reset (transition from 1 to 0) which will cause a program cycle. So,
every boot -> shutdown cycle causes at least one program-erase cycle which will
wear out that area of the flash.

See also this quote from the datasheet of F25FL512S:
"Non-volatile bits have the same cycling (erase and program) endurance
as the main
flash array."

I still think the reset of the QE (or any other non-volatile) bit on
shutdown should
be prevented and only allowed by explicitly enable it (e.g. per system in DT or
per flash in flash_info struct).

Regards,
Matthias

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

  reply	other threads:[~2020-09-03  5:35 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-16 13:02 [PATCH 0/2] Add support to Disable the flash quad mode Yicong Yang
2020-06-16 13:02 ` [PATCH 1/2] mtd: spi-nor: Add capability to disable " Yicong Yang
2020-07-02 11:07   ` Tudor.Ambarus
2020-06-16 13:02 ` [PATCH 2/2] mtd: spi-nor: Disable the flash quad mode in spi_nor_restore() Yicong Yang
2020-07-02 11:02   ` Tudor.Ambarus
2020-07-03 11:19     ` Pratyush Yadav
2020-07-03 11:52       ` Tudor.Ambarus
2020-07-06  6:47         ` Yicong Yang
2020-09-01  6:16   ` Matthias Weißer
2020-09-01  9:48     ` Pratyush Yadav
2020-09-01 10:08       ` Matthias Weißer
2020-09-01 11:11         ` Pratyush Yadav
2020-09-01 11:41     ` Yicong Yang
2020-09-01 14:20     ` Yicong Yang
2020-09-02  7:50       ` Vignesh Raghavendra
2020-09-02 10:12         ` Yicong Yang
2020-09-03  5:59           ` Vignesh Raghavendra
2020-09-04  7:54             ` Yicong Yang
2020-09-04  9:35               ` Matthias Weißer
2020-09-02 12:15       ` Matthias Weißer
2020-09-03  3:03         ` Yicong Yang
2020-09-03  5:33           ` Matthias Weißer [this message]
2020-09-04  7:56             ` Yicong Yang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAO8h3eEYVxzSp1eK6f8z=cnO=hpwq1o47JgnhkWpiLfLYPdtQg@mail.gmail.com' \
    --to=m.weisser.m@gmail.com \
    --cc=alexander.sverdlin@nokia.com \
    --cc=john.garry@huawei.com \
    --cc=linux-mtd@lists.infradead.org \
    --cc=linuxarm@huawei.com \
    --cc=me@yadavpratyush.com \
    --cc=miquel.raynal@bootlin.com \
    --cc=p.yadav@ti.com \
    --cc=richard@nod.at \
    --cc=tudor.ambarus@microchip.com \
    --cc=vigneshr@ti.com \
    --cc=yangyicong@hisilicon.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).