All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
To: Josh Wu <josh.wu@atmel.com>
Cc: hongxu.cn@gmail.com, dedekind1@gmail.com,
	nicolas.ferre@atmel.com, linux-mtd@lists.infradead.org,
	ivan.djelic@parrot.com, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v8 1/3] MTD: at91: extract hw ecc initialization to one function
Date: Thu, 24 May 2012 11:46:57 +0200	[thread overview]
Message-ID: <20120524094657.GJ3377@game.jcrosoft.org> (raw)
In-Reply-To: <4FBDEBB4.1040806@atmel.com>

On 16:05 Thu 24 May     , Josh Wu wrote:
> 
> On 5/23/2012 5:51 PM, Jean-Christophe PLAGNIOL-VILLARD wrote:
> >On 15:47 Wed 23 May     , Josh Wu wrote:
> >>Signed-off-by: Hong Xu<hong.xu@atmel.com>
> >>Signed-off-by: Josh Wu<josh.wu@atmel.com>
> >>---
> >>  drivers/mtd/nand/atmel_nand.c     |  147 ++++++++++++++++++++-----------------
> >>  drivers/mtd/nand/atmel_nand_ecc.h |    8 +-
> >>  2 files changed, 85 insertions(+), 70 deletions(-)
> >>
> >>diff --git a/drivers/mtd/nand/atmel_nand.c b/drivers/mtd/nand/atmel_nand.c
> >>index 2165576..9723702 100644
> >>--- a/drivers/mtd/nand/atmel_nand.c
> >>+++ b/drivers/mtd/nand/atmel_nand.c
> >>@@ -42,20 +42,15 @@
> >>
> >>  #include<mach/cpu.h>
> >>
> >>+/* Hardware ECC registers */
> >>+#include "atmel_nand_ecc.h"
> >>+
> >>  static int use_dma = 1;
> >>  module_param(use_dma, int, 0);
> >>
> >>  static int on_flash_bbt = 0;
> >>  module_param(on_flash_bbt, int, 0);
> >>
> >>-/* Register access macros */
> >>-#define ecc_readl(add, reg)				\
> >>-	__raw_readl(add + ATMEL_ECC_##reg)
> >>-#define ecc_writel(add, reg, value)			\
> >>-	__raw_writel((value), add + ATMEL_ECC_##reg)
> >>-
> >>-#include "atmel_nand_ecc.h"	/* Hardware ECC registers */
> >>-
> >>  /* oob layout for large page size
> >>   * bad block info is on bytes 0 and 1
> >>   * the bytes have to be consecutives to avoid
> >>@@ -523,6 +518,75 @@ static int __devinit atmel_of_init_port(struct atmel_nand_host *host,
> >>  }
> >>  #endif
> >>
> >>+static int __init atmel_hw_nand_init_params(struct platform_device *pdev,
> >>+					 struct atmel_nand_host *host)
> >>+{
> >>+	struct resource		*regs;
> >>+	struct mtd_info		*mtd;
> >>+	struct nand_chip	*nand_chip;
> >>+
> >>+	nand_chip =&host->nand_chip;
> >>+	mtd =&host->mtd;
> >>+
> >>+	nand_chip->ecc.mode = NAND_ECC_SOFT;
> >>+	regs = platform_get_resource(pdev, IORESOURCE_MEM, 1);
> >>+	if (!regs) {
> >>+		dev_err(host->dev,
> >>+			"Can't get I/O resource regs, use software ECC\n");
> >just return 0 and avoid the if else
> 
> sure. I'll fix it.
> 
> >
> >Best Regards,
> >J.
> 
> And I have same question about the relaxed version of read/write device.
> 
> this source code file still use __raw_readl/writel(), I think I can
> convert it all to relaxed version, except that the ECC control reset
> should use NO relaxed version.
> so the patch to convert it will look like following:
fine by me but put a comment about it

Best Regards,
J.

WARNING: multiple messages have this Message-ID (diff)
From: plagnioj@jcrosoft.com (Jean-Christophe PLAGNIOL-VILLARD)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v8 1/3] MTD: at91: extract hw ecc initialization to one function
Date: Thu, 24 May 2012 11:46:57 +0200	[thread overview]
Message-ID: <20120524094657.GJ3377@game.jcrosoft.org> (raw)
In-Reply-To: <4FBDEBB4.1040806@atmel.com>

On 16:05 Thu 24 May     , Josh Wu wrote:
> 
> On 5/23/2012 5:51 PM, Jean-Christophe PLAGNIOL-VILLARD wrote:
> >On 15:47 Wed 23 May     , Josh Wu wrote:
> >>Signed-off-by: Hong Xu<hong.xu@atmel.com>
> >>Signed-off-by: Josh Wu<josh.wu@atmel.com>
> >>---
> >>  drivers/mtd/nand/atmel_nand.c     |  147 ++++++++++++++++++++-----------------
> >>  drivers/mtd/nand/atmel_nand_ecc.h |    8 +-
> >>  2 files changed, 85 insertions(+), 70 deletions(-)
> >>
> >>diff --git a/drivers/mtd/nand/atmel_nand.c b/drivers/mtd/nand/atmel_nand.c
> >>index 2165576..9723702 100644
> >>--- a/drivers/mtd/nand/atmel_nand.c
> >>+++ b/drivers/mtd/nand/atmel_nand.c
> >>@@ -42,20 +42,15 @@
> >>
> >>  #include<mach/cpu.h>
> >>
> >>+/* Hardware ECC registers */
> >>+#include "atmel_nand_ecc.h"
> >>+
> >>  static int use_dma = 1;
> >>  module_param(use_dma, int, 0);
> >>
> >>  static int on_flash_bbt = 0;
> >>  module_param(on_flash_bbt, int, 0);
> >>
> >>-/* Register access macros */
> >>-#define ecc_readl(add, reg)				\
> >>-	__raw_readl(add + ATMEL_ECC_##reg)
> >>-#define ecc_writel(add, reg, value)			\
> >>-	__raw_writel((value), add + ATMEL_ECC_##reg)
> >>-
> >>-#include "atmel_nand_ecc.h"	/* Hardware ECC registers */
> >>-
> >>  /* oob layout for large page size
> >>   * bad block info is on bytes 0 and 1
> >>   * the bytes have to be consecutives to avoid
> >>@@ -523,6 +518,75 @@ static int __devinit atmel_of_init_port(struct atmel_nand_host *host,
> >>  }
> >>  #endif
> >>
> >>+static int __init atmel_hw_nand_init_params(struct platform_device *pdev,
> >>+					 struct atmel_nand_host *host)
> >>+{
> >>+	struct resource		*regs;
> >>+	struct mtd_info		*mtd;
> >>+	struct nand_chip	*nand_chip;
> >>+
> >>+	nand_chip =&host->nand_chip;
> >>+	mtd =&host->mtd;
> >>+
> >>+	nand_chip->ecc.mode = NAND_ECC_SOFT;
> >>+	regs = platform_get_resource(pdev, IORESOURCE_MEM, 1);
> >>+	if (!regs) {
> >>+		dev_err(host->dev,
> >>+			"Can't get I/O resource regs, use software ECC\n");
> >just return 0 and avoid the if else
> 
> sure. I'll fix it.
> 
> >
> >Best Regards,
> >J.
> 
> And I have same question about the relaxed version of read/write device.
> 
> this source code file still use __raw_readl/writel(), I think I can
> convert it all to relaxed version, except that the ECC control reset
> should use NO relaxed version.
> so the patch to convert it will look like following:
fine by me but put a comment about it

Best Regards,
J.

  reply	other threads:[~2012-05-24  9:46 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-23  7:47 [PATCH v8 0/3] Add PMECC support for at91 nand flash driver Josh Wu
2012-05-23  7:47 ` Josh Wu
2012-05-23  7:47 ` [PATCH v8 1/3] MTD: at91: extract hw ecc initialization to one function Josh Wu
2012-05-23  7:47   ` Josh Wu
2012-05-23  9:51   ` Jean-Christophe PLAGNIOL-VILLARD
2012-05-23  9:51     ` Jean-Christophe PLAGNIOL-VILLARD
2012-05-24  8:05     ` Josh Wu
2012-05-24  8:05       ` Josh Wu
2012-05-24  9:46       ` Jean-Christophe PLAGNIOL-VILLARD [this message]
2012-05-24  9:46         ` Jean-Christophe PLAGNIOL-VILLARD
2012-05-23  7:47 ` [PATCH v8 2/3] MTD: add dt parameters for PMECC Josh Wu
2012-05-23  7:47   ` Josh Wu
2012-05-23  9:54   ` Jean-Christophe PLAGNIOL-VILLARD
2012-05-23  9:54     ` Jean-Christophe PLAGNIOL-VILLARD
2012-05-24  7:35     ` Josh Wu
2012-05-24  7:35       ` Josh Wu
2012-05-23  7:47 ` [PATCH v8 3/3] MTD: atmel_nand: Update driver to support Programmable Multibit ECC controller Josh Wu
2012-05-23  7:47   ` Josh Wu
2012-05-23 10:01   ` Jean-Christophe PLAGNIOL-VILLARD
2012-05-23 10:01     ` Jean-Christophe PLAGNIOL-VILLARD
2012-05-24  7:34     ` Josh Wu
2012-05-24  7:34       ` Josh Wu

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=20120524094657.GJ3377@game.jcrosoft.org \
    --to=plagnioj@jcrosoft.com \
    --cc=dedekind1@gmail.com \
    --cc=hongxu.cn@gmail.com \
    --cc=ivan.djelic@parrot.com \
    --cc=josh.wu@atmel.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=nicolas.ferre@atmel.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.