From: Vitaly Wool <vwool@ru.mvista.com>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-mtd@lists.infradead.org
Subject: Re: MTD git repository status
Date: Mon, 07 Nov 2005 23:43:26 +0300 [thread overview]
Message-ID: <436FBC6E.8050609@ru.mvista.com> (raw)
In-Reply-To: <200511071915.03263.tglx@linutronix.de>
Hi Thomas et al,
>- [MTD] NAND: OOB changes
> Needs more thoughts. I'm particularly unhappy with the introduction of new
>functions and the still pending problem of the automatic placement/retrieval
>of oob data. The change should subsume and/or extend the oob_info
>functionality rather than introducing a parallel solution.
>
>
Yeah I do agree that this stuff has not been verified enough to go into
git tree.
And I do understand your concerns, so let me elaborate on all that once
more.
First, there's a hardware-driven need to support the OOB data
distributed across the page. The fact is that nand_oobinfo *can't hold
the info needed* for that since it implies that OOB data is contiguous.
The adequate patcure can be derived only from nand_oobinfo plus
eccsteps, but anyway handling all that in read/write functions will lead
to the introduction of the structure similar to page_layout_item.
So, rather then trying to revise nand_oobinfo, I was moving towards
creation of a new data structure, more say 'linear' and straightforward.
I think that layout structure well fits.
Let's look at nand_oobinfo from the POV that page_layout_item has been
introduced and autoplacement is the only option.
In this case the whole nand_oobinfo becomes redundant and will go away,
and that's what I'm targeting.
I guess that the new functions introduced you're talking about are
nand_read_oob_hwecc and nand_write_oob_hwecc.
I think that nand_read_oob and nand_write_oob will soon go away, as soon
as the two new functions prove they are working in all the HW ECC cases.
Extending them to support SW ECC case is trivial.
On the other hand, I do think that handling the layout in
read_ecc/write_page should go to the separate function as now these two
functions have become almost unreadable due to lotsa nesting levels.
Then, I'd like to point out once more that the approach introduced was
intended to be absolutely transparent to both MTD users and particular
NAND device drivers. This approach is capable of automated
placement/retrieval of OOB data but that's gonna be a new stage which I
deliberately wanted to separate from the approach introduction.
I can create a sort of design proposal for the OOB data handling and
you/dedekind/Charles/whoever else will tear it apart :) We do need a
good co-ordination on the changes that alter the behavior of MTD functions.
Hope that all makes sense,
Best regards,
Vitaly
next prev parent reply other threads:[~2005-11-07 20:43 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-11-07 18:15 MTD git repository status Thomas Gleixner
2005-11-07 19:24 ` Thomas Gleixner
2005-11-07 19:26 ` Charles Manning
2005-11-11 6:57 ` Vitaly Wool
2005-11-07 20:43 ` Vitaly Wool [this message]
2005-11-07 21:33 ` MTD git repository status ==> oob_info & other methods Charles Manning
2005-11-08 14:10 ` MTD git repository status Artem B. Bityutskiy
2005-11-08 20:03 ` Charles Manning
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=436FBC6E.8050609@ru.mvista.com \
--to=vwool@ru.mvista.com \
--cc=linux-mtd@lists.infradead.org \
--cc=tglx@linutronix.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox