From: Artem Bityutskiy <dedekind@infradead.org>
To: Alexey Korolev <akorolev@infradead.org>
Cc: linux-mtd@lists.infradead.org
Subject: Re: 2nd problem with read_subpage() ?
Date: Tue, 29 Jul 2008 12:45:07 +0300 [thread overview]
Message-ID: <1217324707.3124.29.camel@sauron> (raw)
In-Reply-To: <1217323810.3124.19.camel@sauron>
On Tue, 2008-07-29 at 12:30 +0300, Artem Bityutskiy wrote:
> On Tue, 2008-07-29 at 09:53 +0300, Artem Bityutskiy wrote:
> > Glance at nand_do_read_ops():
> >
> >
> > if (likely(sndcmd)) {
> > chip->cmdfunc(mtd, NAND_CMD_READ0, 0x00, page);
> > sndcmd = 0;
> > }
>
> Alexey,
>
> my investigation showed that this "random output" command is not
> supported by all flashes. ST-micro NANDs seems to support it
> (I checked 2 manuals), while Sumsung NANDs do not (checked manual
> for K9XXG08UXA). This means your implementation will break many
> systems and should be either fixed or reverted.
I tried to implement this command in nandsim and test it with your
patch and found that there is something wring with how you use it.
What I do is dd if=/dev/mtd0 of=file bs=512 count=1 - just read one
sub-page. And in nandsim I see the following:
1. NAND_CMD_READ0 command, - read from eraseblock 0, column 0. This is
fine and seems to be called from nand_do_read_ops():
if (likely(sndcmd)) {
chip->cmdfunc(mtd, NAND_CMD_READ0, 0x00, page);
sndcmd = 0;
}
2. Then NAND_CMD_RNDREAD command is issued with column address
0x828, which is completely weird. It is called from nand_read_subpage():
...
if (eccpos[(start_step + num_steps) * chip->ecc.bytes] & (busw - 1))
aligned_len++;
chip->cmdfunc(mtd, NAND_CMD_RNDOUT, mtd->writesize + aligned_pos, -1);
chip->read_buf(mtd, &chip->oob_poi[aligned_pos], aligned_len);
....
I do not understand what is going on.
--
Best regards,
Artem Bityutskiy (Битюцкий Артём)
next prev parent reply other threads:[~2008-07-29 9:45 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-29 6:53 2nd problem with read_subpage() ? Artem Bityutskiy
2008-07-29 9:30 ` Artem Bityutskiy
2008-07-29 9:31 ` Artem Bityutskiy
2008-07-29 9:50 ` Alexey Korolev
2008-07-29 10:32 ` Artem Bityutskiy
2008-07-29 9:45 ` Artem Bityutskiy [this message]
2008-07-29 9:54 ` Alexey Korolev
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=1217324707.3124.29.camel@sauron \
--to=dedekind@infradead.org \
--cc=akorolev@infradead.org \
--cc=linux-mtd@lists.infradead.org \
/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.