From: Tony Lindgren <tony@atomide.com>
To: Ivan Djelic <ivan.djelic@parrot.com>
Cc: linux-omap@vger.kernel.org, linux-mtd@lists.infradead.org
Subject: Re: [PATCH v2] ARM: OMAP3: gpmc: add BCH ecc api and modes
Date: Wed, 25 Apr 2012 10:03:14 -0700 [thread overview]
Message-ID: <20120425170313.GW3739@atomide.com> (raw)
In-Reply-To: <1334861024-27386-1-git-send-email-ivan.djelic@parrot.com>
Hi,
Few comments below.
* Ivan Djelic <ivan.djelic@parrot.com> [120419 11:49]:
>
> diff --git a/arch/arm/mach-omap2/gpmc.c b/arch/arm/mach-omap2/gpmc.c
> index 00d5108..e3a91a1 100644
> --- a/arch/arm/mach-omap2/gpmc.c
> +++ b/arch/arm/mach-omap2/gpmc.c
> @@ -49,6 +49,7 @@
> #define GPMC_ECC_CONTROL 0x1f8
> #define GPMC_ECC_SIZE_CONFIG 0x1fc
> #define GPMC_ECC1_RESULT 0x200
> +#define GPMC_ECC_BCH_RESULT_0 0x240
Can you please add a comment here saying something like:
#define GPMC_ECC_BCH_RESULT_0 0x240 /* Not available on omap2 */
> @@ -920,3 +921,150 @@ int gpmc_calculate_ecc(int cs, const u_char *dat, u_char *ecc_code)
> return 0;
> }
> EXPORT_SYMBOL_GPL(gpmc_calculate_ecc);
> +
> +#ifdef CONFIG_ARCH_OMAP3
> +
> +/**
> + * gpmc_enable_hwecc_bch - enable hardware BCH ecc functionality
> + * @cs: chip select number
> + * @mode: read/write mode
> + * @dev_width: device bus width(1 for x16, 0 for x8)
> + * @nsectors: how many 512-byte sectors to process
> + * @nerrors: how many errors to correct per sector (4 or 8)
> + */
> +int gpmc_enable_hwecc_bch(int cs, int mode, int dev_width, int nsectors,
> + int nerrors)
> +{
> + unsigned int val;
> +
> + /* check if ecc module is in use */
> + if (gpmc_ecc_used != -EINVAL)
> + return -EINVAL;
> + /*
> + * FIXME: some OMAP3 revisions have a hardware bug which prevents
> + * the 4-bit BCH mode from working properly. Such revisions could be
> + * detected and rejected here.
> + */
This should then be disabled to avoid corruption. Maybe only allow it
initially on omaps that have been tested? And for omap2 it should return
error for sure.
Or do you know the broken omap3 versions?
Also, should you first request this feature in case multiple drivers
need to share it?
Other than that, looks good to me.
Regards,
Tony
next prev parent reply other threads:[~2012-04-25 17:03 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-19 18:43 [PATCH v2] ARM: OMAP3: gpmc: add BCH ecc api and modes Ivan Djelic
2012-04-25 17:03 ` Tony Lindgren [this message]
2012-04-25 18:28 ` Ivan Djelic
2012-04-25 20:57 ` Tony Lindgren
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=20120425170313.GW3739@atomide.com \
--to=tony@atomide.com \
--cc=ivan.djelic@parrot.com \
--cc=linux-mtd@lists.infradead.org \
--cc=linux-omap@vger.kernel.org \
/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;
as well as URLs for NNTP newsgroup(s).