All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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.