From: Mark Rutland <mark.rutland@arm.com>
To: Pekon Gupta <pekon@ti.com>
Cc: "robherring2@gmail.com" <robherring2@gmail.com>,
"olof@lixom.net" <olof@lixom.net>,
"computersforpeace@gmail.com" <computersforpeace@gmail.com>,
"dedekind1@gmail.com" <dedekind1@gmail.com>,
Pawel Moll <Pawel.Moll@arm.com>,
"ijc+devicetree@hellion.org.uk" <ijc+devicetree@hellion.org.uk>,
"swarren@wwwdotorg.org" <swarren@wwwdotorg.org>,
"dwmw2@infradead.org" <dwmw2@infradead.org>,
"arnd@arndb.de" <arnd@arndb.de>,
"tony@atomide.com" <tony@atomide.com>,
"bcousson@baylibre.com" <bcousson@baylibre.com>,
"avinashphilipk@gmail.com" <avinashphilipk@gmail.com>,
"balbi@ti.com" <balbi@ti.com>,
"linux-mtd@lists.infradead.org" <linux-mtd@lists.infradead.org>,
"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>
Subject: Re: [PATCH v7 1/6] mtd: nand: omap: combine different flavours of 1-bit hamming ecc schemes
Date: Mon, 7 Oct 2013 12:27:28 +0100 [thread overview]
Message-ID: <20131007112728.GA15365@e106331-lin.cambridge.arm.com> (raw)
In-Reply-To: <1380916188-24206-2-git-send-email-pekon@ti.com>
On Fri, Oct 04, 2013 at 08:49:43PM +0100, Pekon Gupta wrote:
> OMAP NAND driver currently supports multiple flavours of 1-bit Hamming
> ecc-scheme, like:
> - OMAP_ECC_HAMMING_CODE_DEFAULT
> 1-bit hamming ecc code using software library
> - OMAP_ECC_HAMMING_CODE_HW
> 1-bit hamming ecc-code using GPMC h/w engine
> - OMAP_ECC_HAMMING_CODE_HW_ROMCODE
> 1-bit hamming ecc-code using GPMC h/w engin with ecc-layout compatible
> to ROM code.
>
> This patch combines above multiple ecc-schemes into single implementation:
> - OMAP_ECC_HAM1_CODE_HW
> 1-bit hamming ecc-code using GPMC h/w engine with ROM-code compatible
> ecc-layout.
If I have my NAND formatted with one of the existing ECC schemes (e.g.
OMAP_ECC_HAMMING_CODE_DEFAULT) will it work with the new
OMAP_ECC_HAM1_CODE_HW scheme?
Are they all compatible?
>
> Signed-off-by: Pekon Gupta <pekon@ti.com>
> ---
> Documentation/devicetree/bindings/mtd/gpmc-nand.txt | 8 ++++----
> arch/arm/mach-omap2/board-flash.c | 2 +-
> arch/arm/mach-omap2/gpmc.c | 4 +---
> drivers/mtd/nand/omap2.c | 9 +++------
> include/linux/platform_data/mtd-nand-omap2.h | 6 +-----
> 5 files changed, 10 insertions(+), 19 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/mtd/gpmc-nand.txt b/Documentation/devicetree/bindings/mtd/gpmc-nand.txt
> index df338cb..25ee232 100644
> --- a/Documentation/devicetree/bindings/mtd/gpmc-nand.txt
> +++ b/Documentation/devicetree/bindings/mtd/gpmc-nand.txt
> @@ -22,10 +22,10 @@ Optional properties:
> width of 8 is assumed.
>
> - ti,nand-ecc-opt: A string setting the ECC layout to use. One of:
> -
> - "sw" Software method (default)
> - "hw" Hardware method
> - "hw-romcode" gpmc hamming mode method & romcode layout
> + "sw" <deprecated> use "ham1" instead
> + "hw" <deprecated> use "ham1" instead
> + "hw-romcode" <deprecated> use "ham1" instead
> + "ham1" 1-bit Hamming ecc code
> "bch4" 4-bit BCH ecc code
> "bch8" 8-bit BCH ecc code
>
> diff --git a/arch/arm/mach-omap2/board-flash.c b/arch/arm/mach-omap2/board-flash.c
> index fc20a61..ac82512 100644
> --- a/arch/arm/mach-omap2/board-flash.c
> +++ b/arch/arm/mach-omap2/board-flash.c
> @@ -142,7 +142,7 @@ __init board_nand_init(struct mtd_partition *nand_parts, u8 nr_parts, u8 cs,
> board_nand_data.nr_parts = nr_parts;
> board_nand_data.devsize = nand_type;
>
> - board_nand_data.ecc_opt = OMAP_ECC_HAMMING_CODE_DEFAULT;
> + board_nand_data.ecc_opt = OMAP_ECC_BCH8_CODE_HW;
> gpmc_nand_init(&board_nand_data, gpmc_t);
> }
> #endif /* CONFIG_MTD_NAND_OMAP2 || CONFIG_MTD_NAND_OMAP2_MODULE */
> diff --git a/arch/arm/mach-omap2/gpmc.c b/arch/arm/mach-omap2/gpmc.c
> index 9f4795a..1c45b72 100644
> --- a/arch/arm/mach-omap2/gpmc.c
> +++ b/arch/arm/mach-omap2/gpmc.c
> @@ -1342,9 +1342,7 @@ static void __maybe_unused gpmc_read_timings_dt(struct device_node *np,
> #ifdef CONFIG_MTD_NAND
>
> static const char * const nand_ecc_opts[] = {
> - [OMAP_ECC_HAMMING_CODE_DEFAULT] = "sw",
> - [OMAP_ECC_HAMMING_CODE_HW] = "hw",
> - [OMAP_ECC_HAMMING_CODE_HW_ROMCODE] = "hw-romcode",
> + [OMAP_ECC_HAM1_CODE_HW] = "ham1",
> [OMAP_ECC_BCH4_CODE_HW] = "bch4",
> [OMAP_ECC_BCH8_CODE_HW] = "bch8",
Won't this break existing dts which have "sw", "hw", or "hw-romcode"?
Someone may try to use a new kernel with an old dt, and we marked them
as deprecated, not removed.
Thanks,
Mark.
next prev parent reply other threads:[~2013-10-07 11:27 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-04 19:49 [PATCH v7 0/6] mtd:nand:omap2: clean-up of supported ECC schemes Pekon Gupta
2013-10-04 19:49 ` [PATCH v7 1/6] mtd: nand: omap: combine different flavours of 1-bit hamming ecc schemes Pekon Gupta
2013-10-07 11:27 ` Mark Rutland [this message]
2013-10-07 11:42 ` Gupta, Pekon
2013-10-11 10:17 ` Gupta, Pekon
2013-10-11 11:53 ` Felipe Balbi
2013-10-04 19:49 ` [PATCH v7 3/6] mtd:nand:omap2: clean-up BCHx_HW and BCHx_SW ECC configurations in device_probe Pekon Gupta
2013-10-04 19:49 ` [PATCH v7 4/6] mtd:nand:omap2: updated support for BCH4 ECC scheme Pekon Gupta
[not found] ` <1380916188-24206-1-git-send-email-pekon-l0cyMroinI0@public.gmane.org>
2013-10-04 19:49 ` [PATCH v7 2/6] ARM: OMAP2+: cleaned-up DT support of various ECC schemes Pekon Gupta
2013-10-07 11:35 ` Mark Rutland
2013-10-07 12:18 ` Gupta, Pekon
2013-10-04 19:49 ` [PATCH v7 5/6] ARM: dts: AM33xx: updated default ECC scheme in nand-ecc-opt Pekon Gupta
2013-10-07 11:40 ` Mark Rutland
2013-10-07 12:14 ` Gupta, Pekon
2013-10-04 19:49 ` [PATCH v7 6/6] mtd: nand: omap: updated devm_xx for all resource allocation and free calls Pekon Gupta
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=20131007112728.GA15365@e106331-lin.cambridge.arm.com \
--to=mark.rutland@arm.com \
--cc=Pawel.Moll@arm.com \
--cc=arnd@arndb.de \
--cc=avinashphilipk@gmail.com \
--cc=balbi@ti.com \
--cc=bcousson@baylibre.com \
--cc=computersforpeace@gmail.com \
--cc=dedekind1@gmail.com \
--cc=devicetree@vger.kernel.org \
--cc=dwmw2@infradead.org \
--cc=ijc+devicetree@hellion.org.uk \
--cc=linux-mtd@lists.infradead.org \
--cc=linux-omap@vger.kernel.org \
--cc=olof@lixom.net \
--cc=pekon@ti.com \
--cc=robherring2@gmail.com \
--cc=swarren@wwwdotorg.org \
--cc=tony@atomide.com \
/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).