From: Mugunthan V N <mugunthanvnm@ti.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2 3/4] sf: Read back and check once macronix quad bit set
Date: Wed, 23 Dec 2015 14:45:55 +0530 [thread overview]
Message-ID: <567A664B.60704@ti.com> (raw)
In-Reply-To: <CAD6G_RQECGQ7Qg_Y6n+35qJ0+ParzPYSKdLEcH2PstdO9AYFFw@mail.gmail.com>
On Wednesday 23 December 2015 01:51 PM, Jagan Teki wrote:
> On 23 December 2015 at 13:22, Mugunthan V N <mugunthanvnm@ti.com> wrote:
>> On Wednesday 16 December 2015 02:31 PM, Jagan Teki wrote:
>>> One macronix quad bit set using SR, it's good to
>>> read back and check the written bit and also if
>>> it's already been set check for the bit and return.
>>>
>>> Cc: Vignesh R <vigneshr@ti.com>
>>> Cc: Mugunthan V N <mugunthanvnm@ti.com>
>>> Cc: Simon Glass <sjg@chromium.org>
>>> Cc: Bin Meng <bmeng.cn@gmail.com>
>>> Signed-off-by: Jagan Teki <jteki@openedev.com>
>>> ---
>>> Changes for v2:
>>> - none
>>>
>>> drivers/mtd/spi/spi_flash.c | 18 ++++++++++++------
>>> 1 file changed, 12 insertions(+), 6 deletions(-)
>>>
>>> diff --git a/drivers/mtd/spi/spi_flash.c b/drivers/mtd/spi/spi_flash.c
>>> index ba6651e..c922322 100644
>>> --- a/drivers/mtd/spi/spi_flash.c
>>> +++ b/drivers/mtd/spi/spi_flash.c
>>> @@ -840,12 +840,18 @@ static int macronix_quad_enable(struct spi_flash *flash)
>>> if (ret < 0)
>>> return ret;
>>>
>>> - if (qeb_status & STATUS_QEB_MXIC) {
>>> - debug("SF: mxic: QEB is already set\n");
>>> - } else {
>>> - ret = write_sr(flash, STATUS_QEB_MXIC);
>>> - if (ret < 0)
>>> - return ret;
>>> + if (qeb_status & STATUS_QEB_MXIC)
>>> + return 0;
>>> +
>>> + ret = write_sr(flash, STATUS_QEB_MXIC);
>>> + if (ret < 0)
>>> + return ret;
>>> +
>>> + /* read SR and check it */
>>> + ret = read_sr(flash, &qeb_status);
>>> + if (!(ret > 0 && (qeb_status & STATUS_QEB_MXIC))) {
>>
>> This error check is wrong, it can be either one of the below
>>
>> if (!(ret >= 0 && (qeb_status & STATUS_QEB_MXIC))) {
>
> So =0 is a success case, this is what you pointing to correct? did you
> test this?
Yeah, I have tested this on am437x-sk evm.
The same fix has to be done for spansion flash as well!
Regards
Mugunthan V N
next prev parent reply other threads:[~2015-12-23 9:15 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-16 9:01 [U-Boot] [PATCH v2 1/4] sf: Fix quad bit set for micron devices Jagan Teki
2015-12-16 9:01 ` [U-Boot] [PATCH v2 2/4] sf: Read back and check once spansion quad bit set Jagan Teki
2015-12-16 9:01 ` [U-Boot] [PATCH v2 3/4] sf: Read back and check once macronix " Jagan Teki
2015-12-23 7:52 ` Mugunthan V N
2015-12-23 8:21 ` Jagan Teki
2015-12-23 9:15 ` Mugunthan V N [this message]
2015-12-16 9:01 ` [U-Boot] [PATCH v2 4/4] sf: Write quad bit along with read status Jagan Teki
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=567A664B.60704@ti.com \
--to=mugunthanvnm@ti.com \
--cc=u-boot@lists.denx.de \
/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.