[PATCH RFC] Alphascale ASM9260 NAND controller driver
Boris Brezillon
boris.brezillon at free-electrons.com
Wed Dec 17 05:24:55 PST 2014
Hi Oleksij,
On Wed, 17 Dec 2014 12:45:17 +0100
Oleksij Rempel <linux at rempel-privat.de> wrote:
> I collected some questions with this driver. It will be great if you
> can help me:
> * Do HW_ECC driver should provideo option for SW_ECC?
This is not mandatory. I did it in the sunxi driver for testing
purpose, but it should work fine without it.
> * My HW do ECC correction for n-bits per 512B, it mean it will
> split block in 512B parts. If one of part has uncorrectable error, complete block will be
> reported as failed. Are there any way for partial recovery?
I think what you're calling block here is actually a page.
Regarding your question, there is no way to recover part of a page, but
each ECC block should be tested and max_bitflip should be returned
(even if some ECC blocks contains too many errors to be corrected).
Take a look at [1] for an example.
> * This HW reports count of ECC bitflips for each part. Do i need to return count of errors on
> all parts for one block?
Again: block == page, and no, you should only return the maximum
corrected bitflips (same example [1]).
> * If HW_ECC different stranges, how it should be configured? With DT or automatically
> calculated?
I don't get that one...
Are you talking about ECC requirements (ECC strength and steps) ?
Best Regards,
Boris
[1]http://lxr.free-electrons.com/source/drivers/mtd/nand/nand_base.c#L1157
--
Boris Brezillon, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
More information about the linux-mtd
mailing list