From: Brian Norris <computersforpeace@gmail.com>
To: Marek Vasut <marek.vasut@gmail.com>
Cc: Scott Wood <scottwood@freescale.com>,
Huang Shijie <b32955@freescale.com>,
linux-mtd@lists.infradead.org
Subject: Re: GPMI-NAND: Wrong ECC size in driver
Date: Tue, 31 Jan 2012 09:30:01 -0800 [thread overview]
Message-ID: <4F282519.5020802@gmail.com> (raw)
In-Reply-To: <201201311233.06949.marek.vasut@gmail.com>
On 1/31/2012 3:33 AM, Marek Vasut wrote:
>> On 01/04/2012 05:38 PM, Marek Vasut wrote:
>>> Scott Wood wrote:
>>>> On 01/04/2012 03:32 PM, Marek Vasut wrote:
>>>>> Scott Wood wrote:
>>>>>> Can we just get rid of NAND_CHIPOPTIONS_MSK and trust that drivers
>>>>>> won't set options that aren't appropriate? Possibly replace it with
>>>>>> documentation about which options are for chips, which are for
>>>>>> drivers, and which (such as NAND_NO_SUBPAGE_WRITE) can be set by
>>>>>> either.
>>>>>
>>>>> Rather let's just adjust the mask?
>>>>
>>>> The way the mask is used means that any given option can only be chip or
>>>> driver, not both. Though, I don't see anywhere this option is set by a
>>>> chip -- maybe we can just renumber it to be in the controller half.
>>>
>>> I suspect this was meant to allow controllers where one chip can do
>>> subpage- write and the other can not.
>>
>> What I mean is I don't see any place where this is actually used --
>> gpmi-nand is the only place I see this flag being set (though it belongs
>> on at least elbc as well).
It is used out-of-tree as well (as mentioned below).
>>>> I still don't see a whole lot of value in the mask, though -- seems to
>>>> be just causing problems, especially given that bits set by the "wrong"
>>>> component are silently discarded.
>>>
>>> Yes. Patch is welcome to remove it and separate these two ;-)
>>
>> Do they need to be separated? Just OR them with no mask. If either the
>> controller or the chip set the flag, then it's set, and subpage writes
>> are disallowed. Obviously you can only do this for certain types of
>> options -- for others, just don't set the flag in an inappropriate context.
>>
>> -Scott
>
> BUMP?
There's another distinct possibility (one that I use on an out-of-tree
driver): instead of calling "nand_scan()", separate it into its two
sub-functions "nand_scan_ident()" and "nand_scan_tail()" so you have
something like this
ret = nand_scan_ident(mtd, pdata->max_chip_count, NULL);
chip->options |= NAND_NO_SUBPAGE_WRITE;
if (!ret)
ret = nand_scan_tail(mtd);
That way your option is set after we mask with NAND_CHIPOPTIONS_MSK. I'm
not sure if this solution is better than really trying to tackle the
issue of why we have that mask and whether it is still needed, but it
solves the problem.
Brian
next prev parent reply other threads:[~2012-01-31 17:30 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-04 0:48 GPMI-NAND: Wrong ECC size in driver Marek Vasut
2012-01-04 5:58 ` Huang Shijie
2012-01-04 17:30 ` Scott Wood
2012-01-04 21:32 ` Marek Vasut
2012-01-04 21:48 ` Scott Wood
2012-01-04 23:38 ` Marek Vasut
2012-01-04 23:48 ` Scott Wood
2012-01-31 11:33 ` Marek Vasut
2012-01-31 17:30 ` Brian Norris [this message]
2012-01-31 19:09 ` Scott Wood
2012-02-03 2:43 ` Brian Norris
2012-02-03 3:16 ` Brian Norris
2012-01-04 21:33 ` Marek Vasut
2012-01-05 2:08 ` Huang Shijie
2012-01-05 9:07 ` Marek Vasut
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=4F282519.5020802@gmail.com \
--to=computersforpeace@gmail.com \
--cc=b32955@freescale.com \
--cc=linux-mtd@lists.infradead.org \
--cc=marek.vasut@gmail.com \
--cc=scottwood@freescale.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.