From: Josh Wu <josh.wu@atmel.com>
To: dedekind1@gmail.com
Cc: hongxu.cn@gmail.com, richard.genoud@gmail.com,
nicolas.ferre@atmel.com, linux-mtd@lists.infradead.org,
ivan.djelic@parrot.com, computersforpeace@gmail.com,
plagnioj@jcrosoft.com, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v12 0/2] MTD: at91: Add PMECC support for at91 nand flash driver
Date: Fri, 29 Jun 2012 17:00:27 +0800 [thread overview]
Message-ID: <4FED6EAB.3000802@atmel.com> (raw)
In-Reply-To: <1340898021.3070.123.camel@sauron.fi.intel.com>
Hi, Artem
On 6/28/2012 11:40 PM, Artem Bityutskiy wrote:
> On Thu, 2012-06-28 at 16:21 +0800, Josh Wu wrote:
>> Those patches is based on the l2-mtd.git three.
>>
>> Since there are two patches of v11 already pushed, so this version v12 only includes the left two patches.
>> which includes the modification according to Richard Genoud's review suggestion.
>>
>> Changes since v11,
>> add documentation for atmel nand reg parameter and one example for PMECC support.
>> fix the bug: no error reported when fail to get resoures of PMECC ERRLOC or ROM.
>> fix the bug: no correction when ecc data has bit flipped.
>> add clearer debug information for data correction.
>>
>> Josh Wu (2):
>> MTD: at91: add dt parameters for Atmel PMECC
>> MTD: at91: atmel_nand: Update driver to support Programmable Multibit
>> ECC controller
>>
>> .../devicetree/bindings/mtd/atmel-nand.txt | 40 +-
>> drivers/mtd/nand/atmel_nand.c | 801 +++++++++++++++++++-
>> drivers/mtd/nand/atmel_nand_ecc.h | 114 ++-
>> 3 files changed, 951 insertions(+), 4 deletions(-)
> Aiaiai is not 100% happy, could you take a look?
>
> dedekind@blue:~/git/maintaining$ ../aiaiai/aiaiai-concat-mboxes ~/tmp/wu* | ./verify ../l2-mtd/ atmel_nand
> Tested the patch(es) on top of the following commits:
> 9328bb5 Quick fixes - applied by aiaiai
> ea3b6ef mtd: fix bogus inequation
> 0960e57 mtd: move mtd_read_oob() definition out of mtd.h
> 0560176 mtd: nand_bbt: refactor check_pattern_no_oob()
>
> --------------------------------------------------------------------------------
>
> Successfully built configuration "arm-at91cap9_defconfig,arm,arm-unknown-linux-gnueabi-", results:
>
> --- before_patching.log
> +++ after_patching.log
> @@ @@
> +drivers/mtd/nand/atmel_nand.c: In function 'pmecc_correct_data':
> +drivers/mtd/nand/atmel_nand.c:680:38: warning: variable 'ecc_size' set but not used [-Wunused-but-set-variable]
oops, I'll fix this warning in next version.
> +drivers/mtd/nand/atmel_nand.c:480:32: error: bad constant expression [sparse]
> +drivers/mtd/nand/atmel_nand.c:488:35: error: bad constant expression [sparse]
> +drivers/mtd/nand/atmel_nand.c:633:32: error: bad constant expression [sparse]
> +drivers/mtd/nand/atmel_nand.c:635:35: error: bad constant expression [sparse]
I use CodeSourcery 2010q1, and no any error reported. So it seems
related with the compiler.
From the log, I think the error is caused by the dynamic 2d array:
smu[cap + 2][2 * cap + 1]. which is used to calculate the sigma table.
Since the smu is allocated when driver is probed, and the length of the
smu depend on PMECC correction capablity. So when I declare the type of
smu by following line: (cap is declared as const type)
int16_t (*smu)[2 * cap + 1];
That make Sparse compiler not happy, since the cap is a variable. so it
reports an error. But for this case, the CodeSourcery works fine.
For fixing this compile error, in next version, I will use 1D array
instead of 2D array, for instance: all smu[i][j] changes to smu[i * num
+ j]. // in this line, num equal to 2 * cap + 1.
I think in such way, all compiler should be happy. :)
When I send out the next version of the patch, Could you please test it
about above fix? since I don't have Sparse compiler in my hand. Thanks.
>
> --------------------------------------------------------------------------------
>
>
Best Regards,
Josh Wu
WARNING: multiple messages have this Message-ID (diff)
From: josh.wu@atmel.com (Josh Wu)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v12 0/2] MTD: at91: Add PMECC support for at91 nand flash driver
Date: Fri, 29 Jun 2012 17:00:27 +0800 [thread overview]
Message-ID: <4FED6EAB.3000802@atmel.com> (raw)
In-Reply-To: <1340898021.3070.123.camel@sauron.fi.intel.com>
Hi, Artem
On 6/28/2012 11:40 PM, Artem Bityutskiy wrote:
> On Thu, 2012-06-28 at 16:21 +0800, Josh Wu wrote:
>> Those patches is based on the l2-mtd.git three.
>>
>> Since there are two patches of v11 already pushed, so this version v12 only includes the left two patches.
>> which includes the modification according to Richard Genoud's review suggestion.
>>
>> Changes since v11,
>> add documentation for atmel nand reg parameter and one example for PMECC support.
>> fix the bug: no error reported when fail to get resoures of PMECC ERRLOC or ROM.
>> fix the bug: no correction when ecc data has bit flipped.
>> add clearer debug information for data correction.
>>
>> Josh Wu (2):
>> MTD: at91: add dt parameters for Atmel PMECC
>> MTD: at91: atmel_nand: Update driver to support Programmable Multibit
>> ECC controller
>>
>> .../devicetree/bindings/mtd/atmel-nand.txt | 40 +-
>> drivers/mtd/nand/atmel_nand.c | 801 +++++++++++++++++++-
>> drivers/mtd/nand/atmel_nand_ecc.h | 114 ++-
>> 3 files changed, 951 insertions(+), 4 deletions(-)
> Aiaiai is not 100% happy, could you take a look?
>
> dedekind at blue:~/git/maintaining$ ../aiaiai/aiaiai-concat-mboxes ~/tmp/wu* | ./verify ../l2-mtd/ atmel_nand
> Tested the patch(es) on top of the following commits:
> 9328bb5 Quick fixes - applied by aiaiai
> ea3b6ef mtd: fix bogus inequation
> 0960e57 mtd: move mtd_read_oob() definition out of mtd.h
> 0560176 mtd: nand_bbt: refactor check_pattern_no_oob()
>
> --------------------------------------------------------------------------------
>
> Successfully built configuration "arm-at91cap9_defconfig,arm,arm-unknown-linux-gnueabi-", results:
>
> --- before_patching.log
> +++ after_patching.log
> @@ @@
> +drivers/mtd/nand/atmel_nand.c: In function 'pmecc_correct_data':
> +drivers/mtd/nand/atmel_nand.c:680:38: warning: variable 'ecc_size' set but not used [-Wunused-but-set-variable]
oops, I'll fix this warning in next version.
> +drivers/mtd/nand/atmel_nand.c:480:32: error: bad constant expression [sparse]
> +drivers/mtd/nand/atmel_nand.c:488:35: error: bad constant expression [sparse]
> +drivers/mtd/nand/atmel_nand.c:633:32: error: bad constant expression [sparse]
> +drivers/mtd/nand/atmel_nand.c:635:35: error: bad constant expression [sparse]
I use CodeSourcery 2010q1, and no any error reported. So it seems
related with the compiler.
From the log, I think the error is caused by the dynamic 2d array:
smu[cap + 2][2 * cap + 1]. which is used to calculate the sigma table.
Since the smu is allocated when driver is probed, and the length of the
smu depend on PMECC correction capablity. So when I declare the type of
smu by following line: (cap is declared as const type)
int16_t (*smu)[2 * cap + 1];
That make Sparse compiler not happy, since the cap is a variable. so it
reports an error. But for this case, the CodeSourcery works fine.
For fixing this compile error, in next version, I will use 1D array
instead of 2D array, for instance: all smu[i][j] changes to smu[i * num
+ j]. // in this line, num equal to 2 * cap + 1.
I think in such way, all compiler should be happy. :)
When I send out the next version of the patch, Could you please test it
about above fix? since I don't have Sparse compiler in my hand. Thanks.
>
> --------------------------------------------------------------------------------
>
>
Best Regards,
Josh Wu
next prev parent reply other threads:[~2012-06-29 9:00 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-28 8:21 [PATCH v12 0/2] MTD: at91: Add PMECC support for at91 nand flash driver Josh Wu
2012-06-28 8:21 ` Josh Wu
2012-06-28 8:21 ` [PATCH v12 1/2] MTD: at91: add dt parameters for Atmel PMECC Josh Wu
2012-06-28 8:21 ` Josh Wu
2012-06-28 8:33 ` Josh Wu
2012-06-28 8:33 ` Josh Wu
2012-06-28 12:56 ` Nicolas Ferre
2012-06-28 12:56 ` Nicolas Ferre
2012-06-28 8:21 ` [PATCH v12 2/2] MTD: at91: atmel_nand: Update driver to support Programmable Multibit ECC controller Josh Wu
2012-06-28 8:21 ` Josh Wu
2012-06-28 8:36 ` Nicolas Ferre
2012-06-28 8:36 ` Nicolas Ferre
2012-06-28 8:33 ` [PATCH v12 0/2] MTD: at91: Add PMECC support for at91 nand flash driver Nicolas Ferre
2012-06-28 8:33 ` Nicolas Ferre
2012-06-28 15:40 ` Artem Bityutskiy
2012-06-28 15:40 ` Artem Bityutskiy
2012-06-29 9:00 ` Josh Wu [this message]
2012-06-29 9:00 ` Josh Wu
2012-06-29 9:09 ` Artem Bityutskiy
2012-06-29 9:09 ` Artem Bityutskiy
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=4FED6EAB.3000802@atmel.com \
--to=josh.wu@atmel.com \
--cc=computersforpeace@gmail.com \
--cc=dedekind1@gmail.com \
--cc=hongxu.cn@gmail.com \
--cc=ivan.djelic@parrot.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-mtd@lists.infradead.org \
--cc=nicolas.ferre@atmel.com \
--cc=plagnioj@jcrosoft.com \
--cc=richard.genoud@gmail.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 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.