From: Josh Wu <josh.wu@atmel.com>
To: Brian Norris <computersforpeace@gmail.com>
Cc: sergei.shtylyov@cogentembedded.com, dedekind1@gmail.com,
nicolas.ferre@atmel.com, linux-mtd@lists.infradead.org,
plagnioj@jcrosoft.com, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 2/6] mtd: atmel_nand: replace pmecc enable code with one function.
Date: Wed, 7 Aug 2013 17:20:16 +0800 [thread overview]
Message-ID: <52021150.1090707@atmel.com> (raw)
In-Reply-To: <20130807072055.GA26025@norris.computersforpeace.net>
Hi, Brian
On 8/7/2013 3:20 PM, Brian Norris wrote:
> Hi Josh,
>
> On Mon, Aug 05, 2013 at 07:14:34PM +0800, Josh Wu wrote:
>> diff --git a/drivers/mtd/nand/atmel_nand.c b/drivers/mtd/nand/atmel_nand.c
>> index 3d7db95..28d159a 100644
>> --- a/drivers/mtd/nand/atmel_nand.c
>> +++ b/drivers/mtd/nand/atmel_nand.c
>> @@ -746,6 +746,30 @@ normal_check:
>> return total_err;
>> }
>>
>> +static void pmecc_enable(struct atmel_nand_host *host, int ecc_op)
>> +{
>> + u32 val;
>> +
>> + pmecc_writel(host->ecc, CTRL, PMECC_CTRL_RST);
>> + pmecc_writel(host->ecc, CTRL, PMECC_CTRL_DISABLE);
>> + val = pmecc_readl_relaxed(host->ecc, CFG);
>> +
>> + if (ecc_op != NAND_ECC_READ && ecc_op != NAND_ECC_WRITE) {
>> + dev_err(host->dev, "atmel_nand: wrong pmecc operation type!");
>> + return;
>> + }
> Why is this check after the reset and disable? Shouldn't it be placed at
> the beginning of the function? But this is a somewhat strange check
> anyway, since this function is private to the driver (static).
yes, you are right, this check code should put in the beginning of the
function.
I will send out a patch in the top of the l2-mtd.git soon. thanks
>
>> +
>> + if (ecc_op == NAND_ECC_READ)
>> + pmecc_writel(host->ecc, CFG, (val & ~PMECC_CFG_WRITE_OP)
>> + | PMECC_CFG_AUTO_ENABLE);
>> + else
>> + pmecc_writel(host->ecc, CFG, (val | PMECC_CFG_WRITE_OP)
>> + & ~PMECC_CFG_AUTO_ENABLE);
>> +
>> + pmecc_writel(host->ecc, CTRL, PMECC_CTRL_ENABLE);
>> + pmecc_writel(host->ecc, CTRL, PMECC_CTRL_DATA);
>> +}
>> +
>> static int atmel_nand_pmecc_read_page(struct mtd_info *mtd,
>> struct nand_chip *chip, uint8_t *buf, int oob_required, int page)
>> {
> Brian
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 2/6] mtd: atmel_nand: replace pmecc enable code with one function.
Date: Wed, 7 Aug 2013 17:20:16 +0800 [thread overview]
Message-ID: <52021150.1090707@atmel.com> (raw)
In-Reply-To: <20130807072055.GA26025@norris.computersforpeace.net>
Hi, Brian
On 8/7/2013 3:20 PM, Brian Norris wrote:
> Hi Josh,
>
> On Mon, Aug 05, 2013 at 07:14:34PM +0800, Josh Wu wrote:
>> diff --git a/drivers/mtd/nand/atmel_nand.c b/drivers/mtd/nand/atmel_nand.c
>> index 3d7db95..28d159a 100644
>> --- a/drivers/mtd/nand/atmel_nand.c
>> +++ b/drivers/mtd/nand/atmel_nand.c
>> @@ -746,6 +746,30 @@ normal_check:
>> return total_err;
>> }
>>
>> +static void pmecc_enable(struct atmel_nand_host *host, int ecc_op)
>> +{
>> + u32 val;
>> +
>> + pmecc_writel(host->ecc, CTRL, PMECC_CTRL_RST);
>> + pmecc_writel(host->ecc, CTRL, PMECC_CTRL_DISABLE);
>> + val = pmecc_readl_relaxed(host->ecc, CFG);
>> +
>> + if (ecc_op != NAND_ECC_READ && ecc_op != NAND_ECC_WRITE) {
>> + dev_err(host->dev, "atmel_nand: wrong pmecc operation type!");
>> + return;
>> + }
> Why is this check after the reset and disable? Shouldn't it be placed at
> the beginning of the function? But this is a somewhat strange check
> anyway, since this function is private to the driver (static).
yes, you are right, this check code should put in the beginning of the
function.
I will send out a patch in the top of the l2-mtd.git soon. thanks
>
>> +
>> + if (ecc_op == NAND_ECC_READ)
>> + pmecc_writel(host->ecc, CFG, (val & ~PMECC_CFG_WRITE_OP)
>> + | PMECC_CFG_AUTO_ENABLE);
>> + else
>> + pmecc_writel(host->ecc, CFG, (val | PMECC_CFG_WRITE_OP)
>> + & ~PMECC_CFG_AUTO_ENABLE);
>> +
>> + pmecc_writel(host->ecc, CTRL, PMECC_CTRL_ENABLE);
>> + pmecc_writel(host->ecc, CTRL, PMECC_CTRL_DATA);
>> +}
>> +
>> static int atmel_nand_pmecc_read_page(struct mtd_info *mtd,
>> struct nand_chip *chip, uint8_t *buf, int oob_required, int page)
>> {
> Brian
Best Regards,
Josh Wu
next prev parent reply other threads:[~2013-08-07 9:20 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-05 11:14 [PATCH v6 0/6] mtd: atmel_nand: enable Nand Flash Controller (NFC) support Josh Wu
2013-08-05 11:14 ` Josh Wu
2013-08-05 11:14 ` [PATCH 1/6] MTD: atmel_nand: use devm_xxx gpio kzalloc, gpio and ioremap Josh Wu
2013-08-05 11:14 ` Josh Wu
2013-08-05 13:04 ` Artem Bityutskiy
2013-08-05 13:04 ` Artem Bityutskiy
2013-08-05 11:14 ` [PATCH 2/6] mtd: atmel_nand: replace pmecc enable code with one function Josh Wu
2013-08-05 11:14 ` Josh Wu
2013-08-07 7:20 ` Brian Norris
2013-08-07 7:20 ` Brian Norris
2013-08-07 9:20 ` Josh Wu [this message]
2013-08-07 9:20 ` Josh Wu
2013-08-05 11:14 ` [PATCH 3/6] mtd: atmel_nand: add Nand Flash Controller (NFC) support Josh Wu
2013-08-05 11:14 ` Josh Wu
2013-08-05 11:14 ` [PATCH 4/6] mtd: atmel_nand: enable Nand Flash Controller (NFC) read data via sram Josh Wu
2013-08-05 11:14 ` Josh Wu
2013-08-05 11:14 ` [PATCH 5/6] mtd: atmel_nand: enable Nand Flash Controller (NFC) write " Josh Wu
2013-08-05 11:14 ` Josh Wu
2013-08-05 11:14 ` [PATCH 6/6] mtd: ofpart: add compatible check for child nodes Josh Wu
2013-08-05 11:14 ` Josh Wu
2013-08-05 11:33 ` Josh Wu
2013-08-05 11:33 ` Josh Wu
2013-08-05 11:33 ` Josh Wu
2013-08-05 18:56 ` Brian Norris
2013-08-05 18:56 ` Brian Norris
-- strict thread matches above, loose matches on Subject: below --
2013-07-03 9:50 [PATCH v5 0/6] mtd: atmel_nand: enable Nand Flash Controller (NFC) support Josh Wu
2013-07-03 9:50 ` [PATCH 2/6] mtd: atmel_nand: replace pmecc enable code with one function Josh Wu
2013-07-03 9:50 ` Josh Wu
2013-06-19 6:23 [PATCH v4 0/6] mtd: atmel_nand: enable Nand Flash Controller (NFC) support Josh Wu
2013-06-19 6:23 ` [PATCH 2/6] mtd: atmel_nand: replace pmecc enable code with one function Josh Wu
2013-06-19 6:23 ` Josh Wu
2013-06-19 14:15 ` Sergei Shtylyov
2013-06-19 14:15 ` Sergei Shtylyov
2013-06-10 10:26 [PATCH v3 0/6] mtd: atmel_nand: enable Nand Flash Controller (NFC) support Josh Wu
2013-06-10 10:26 ` [PATCH 2/6] mtd: atmel_nand: replace pmecc enable code with one function Josh Wu
2013-06-10 10:26 ` Josh Wu
2013-06-12 11:57 ` Jean-Christophe PLAGNIOL-VILLARD
2013-06-12 11:57 ` Jean-Christophe PLAGNIOL-VILLARD
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=52021150.1090707@atmel.com \
--to=josh.wu@atmel.com \
--cc=computersforpeace@gmail.com \
--cc=dedekind1@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-mtd@lists.infradead.org \
--cc=nicolas.ferre@atmel.com \
--cc=plagnioj@jcrosoft.com \
--cc=sergei.shtylyov@cogentembedded.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.