All of lore.kernel.org
 help / color / mirror / Atom feed
From: Igor Grinberg <grinberg@compulab.co.il>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 1/2] arm: omap: nand: introduce CONFIG_NAND_OMAP_SW_ECC_LEGACY
Date: Thu, 12 Dec 2013 10:38:39 +0200	[thread overview]
Message-ID: <52A9760F.1000301@compulab.co.il> (raw)
In-Reply-To: <20980858CB6D3A4BAE95CA194937D5E73EA54702@DBDE04.ent.ti.com>

Hi Pekon,

On 12/11/13 23:18, Gupta, Pekon wrote:
> Hi Nikita,
> 
>> From: Nikita Kiryanov [mailto:nikita at compulab.co.il]
>> Commit "mtd: nand: omap: enable BCH ECC scheme using ELM for generic platform"
>> (d016dc42cedbf6102e100fa9ecb58462edfb14f8) changed the way software ECC is
>> configured, both during boot, and during ecc switch, in a way that is not
>> backwards compatible with older systems (for example, X-Loader on CM-T35 relies
>> on the old behavior).
>>
>> The culprit is the line which assigns ecc.size for software ECC.
>> Older version of omap_gpmc.c always assigned ecc.size = 0 when configuring for
>> software ecc, relying on nand_scan_tail() to select a default for ecc.size
>> (256), while the new version of omap_gpmc.c assigns ecc.size = pagesize, which
>> is likely to not be 256.
>>
> Then its just one-line change.. Remove "ecc.size = pagesize".
> Why do you need to add a newer config for that ?

Well, we think that having that line is actually the right behavior,
and it is a pity we did not have this from the start in the X-Loader.
So that is why we did not want to change it in a brutal way...
But if you say:

> This ecc-scheme (HAM1_SW) is anyways only kept for backward compatibility
> with legacy devices. (As also mentioned in doc/README.nand)
> -----------------------------
>   CONFIG_NAND_OMAP_ECCSCHEME
> 	On OMAP platforms, this CONFIG specifies NAND ECC scheme.
> 	It can take following values:
> 	OMAP_ECC_HAM1_CODE_SW
> 		1-bit Hamming code using software lib.
> 		(for legacy devices only)
> -----------------------------

then it makes real sense to just revert the ecc.size setting to
what it was prior to your patches.

> 
> But I don't have any board to boot-test this, because all my boards
> have newer ROM code, which auto-detects BCH8 or BCH16 based
> on block-size of NAND device connected to it.
> 
> Also, I suggest to migrate to 'HAM1_HW' as this should be compatible to
> OMAP3 ROM code (for NAND boot), at-least I could check that based
> on NAND ecc-layout given in OMAP35xx TRM.

The problem is not the ROM code...
Our systems are in production phase already for a long time and
we have customers relying on the old behavior,
so we cannot just switch the ECC to HW and stop using the SW one.

> 'HAM1_SW' will un-necessary burden your CPU by calculating ECC in
> software, inspite the fact that GPMC controller can do that in hardware.

Well, that is indeed the case.
I think TI should have think about it in first place before
releasing the SW ECC based drivers... ;-)


-- 
Regards,
Igor.

  reply	other threads:[~2013-12-12  8:38 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-11 16:57 [U-Boot] [PATCH 0/2] Introduce CONFIG_NAND_OMAP_SW_ECC_LEGACY, and use it on cm_t35 Nikita Kiryanov
2013-12-11 16:57 ` [U-Boot] [PATCH 1/2] arm: omap: nand: introduce CONFIG_NAND_OMAP_SW_ECC_LEGACY Nikita Kiryanov
2013-12-11 21:18   ` Gupta, Pekon
2013-12-12  8:38     ` Igor Grinberg [this message]
2013-12-12  9:16       ` Gupta, Pekon
2013-12-12 10:17         ` Igor Grinberg
2013-12-12 11:50     ` Nikita Kiryanov
2013-12-11 16:57 ` [U-Boot] [PATCH 2/2] arm: omap: cm_t35: fix nand sw ecc incompatibility with X-Loader Nikita Kiryanov
2013-12-12 12:05 ` [U-Boot] [PATCH 0/2] Introduce CONFIG_NAND_OMAP_SW_ECC_LEGACY, and use it on cm_t35 Nikita Kiryanov

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=52A9760F.1000301@compulab.co.il \
    --to=grinberg@compulab.co.il \
    --cc=u-boot@lists.denx.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 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.