[PATCH] mtd: denali: disable usage of subpages
Sebastian Andrzej Siewior
bigeasy at linutronix.de
Tue May 6 11:11:12 PDT 2014
On 05/01/2014 12:23 AM, Brian Norris wrote:
> On Wed, Apr 30, 2014 at 02:46:41PM +0200, Sebastian Andrzej Siewior wrote:
>> I use this driver on an Altera SoC (not MRST) and its ECC algorithm
>> does not compute 0xff ECC of an empty page. That problem can be easily
>> noticed if ubifs is used. Therefore I disable subpages support.
>> Signed-off-by: Sebastian Andrzej Siewior <bigeasy at linutronix.de>
>> I can't test if this is also the case for MRST or not.
> This is an important change to get right; if any systems have been using
> Denali NAND with subpage writes, then this change will break any flash
> with existing UBI data. Can we either confirm that no Denali systems
> were using subpage writes successfully, or else tie this option to some
> kind of platform data or DT information (e.g., compatible string)?
First I would like to get some confirmation from the MRST hackers /
users to make sure subpage write works for them (which I doubt).
> Or is this related to commit 837a6ba4f3b6d23026674e6af6b6849a4634fff9,
> which changed subpage write support? (Or conversely, could this help you
> support subpage writes properly?)
Not sure. If I look at the write_page() function in delali, it writes
the whole page in one go. The ECC is transparently added. On read, the
controller computes the data to fix and the driver just XORs the data
(with the information the controller provided). And in case the the
error is not recoverable it checks for an empty page which means 0xff is
not the ECC for an empty page.
Based on this I don't see how that commit could help.
More information about the linux-mtd