From: Brian Norris <computersforpeace@gmail.com>
To: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
Cc: linux-mtd@lists.infradead.org,
Gregory Clement <gregory.clement@free-electrons.com>,
Thomas Petazzoni <thomas.petazzoni@free-electrons.com>,
Stas Sergeev <stsp@list.ru>
Subject: Re: [PATCH v2] mtd: spi-nor: wait until lock/unlock operations are ready
Date: Wed, 6 Jan 2016 17:20:36 -0800 [thread overview]
Message-ID: <20160107012036.GU109450@google.com> (raw)
In-Reply-To: <1451336091-8210-1-git-send-email-ezequiel@vanguardiasur.com.ar>
On Mon, Dec 28, 2015 at 05:54:51PM -0300, Ezequiel Garcia wrote:
> On Micron and Numonyx devices, the status register write command
> (WRSR), raises a work-in-progress bit (WIP) on the status register.
> The datasheets for these devices specify that while the status
> register write is in progress, the status register WIP bit can still
> be read to check the end of the operation.
>
> This commit adds a wait_till_ready call on lock/unlock operations,
> only for these manufacturers. This is needed to prevent applications
Edited the above sentence, since you're not doing this "only for these
manufacturers"; you're doing it for all that support lock/unlock.
Instead, it'll read:
"This commit adds a wait_till_ready call on lock/unlock operations,
which is required for Micron and Numonyx but should be harmless for
others."
With that, applied to l2-mtd.git
Brian
> from issuing erase or program operations before the unlock operation
> is completed.
>
> Reported-by: Stas Sergeev <stsp@list.ru>
> Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
> ---
> Changes from v1:
> * Simplify style by tail calling spi_nor_wait_till_ready
>
> drivers/mtd/spi-nor/spi-nor.c | 12 ++++++++++--
> 1 file changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c
> index 7e5051e604b0..835a010d9339 100644
> --- a/drivers/mtd/spi-nor/spi-nor.c
> +++ b/drivers/mtd/spi-nor/spi-nor.c
> @@ -481,6 +481,7 @@ static int stm_lock(struct spi_nor *nor, loff_t ofs, uint64_t len)
> int status_old, status_new;
> u8 mask = SR_BP2 | SR_BP1 | SR_BP0;
> u8 shift = ffs(mask) - 1, pow, val;
> + int ret;
>
> status_old = read_sr(nor);
> if (status_old < 0)
> @@ -519,7 +520,10 @@ static int stm_lock(struct spi_nor *nor, loff_t ofs, uint64_t len)
> return -EINVAL;
>
> write_enable(nor);
> - return write_sr(nor, status_new);
> + ret = write_sr(nor, status_new);
> + if (ret)
> + return ret;
> + return spi_nor_wait_till_ready(nor);
> }
>
> /*
> @@ -533,6 +537,7 @@ static int stm_unlock(struct spi_nor *nor, loff_t ofs, uint64_t len)
> int status_old, status_new;
> u8 mask = SR_BP2 | SR_BP1 | SR_BP0;
> u8 shift = ffs(mask) - 1, pow, val;
> + int ret;
>
> status_old = read_sr(nor);
> if (status_old < 0)
> @@ -569,7 +574,10 @@ static int stm_unlock(struct spi_nor *nor, loff_t ofs, uint64_t len)
> return -EINVAL;
>
> write_enable(nor);
> - return write_sr(nor, status_new);
> + ret = write_sr(nor, status_new);
> + if (ret)
> + return ret;
> + return spi_nor_wait_till_ready(nor);
> }
>
> /*
> --
> 2.6.4
>
next prev parent reply other threads:[~2016-01-07 1:21 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-28 20:54 [PATCH v2] mtd: spi-nor: wait until lock/unlock operations are ready Ezequiel Garcia
2016-01-07 1:20 ` Brian Norris [this message]
2016-01-07 12:42 ` Ezequiel Garcia
2016-01-07 17:08 ` Brian Norris
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=20160107012036.GU109450@google.com \
--to=computersforpeace@gmail.com \
--cc=ezequiel@vanguardiasur.com.ar \
--cc=gregory.clement@free-electrons.com \
--cc=linux-mtd@lists.infradead.org \
--cc=stsp@list.ru \
--cc=thomas.petazzoni@free-electrons.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.