Skip to contentSkip to conversation

mtd: atmel_nand: check NFC busy flag by HSMC_SR instead of NFC cmd regs

PATCH Superseded Josh Wu 2 participants 4 messages Jan 22, 2015 – Mar 11, 2015

Subsystems (3)
lore
Share & tools
lore

Josh Wu

author
#0 lore raw

PATCH v2 1/1 mtd: atmel_nand: check NFC busy flag by HSMC_SR instead of NFC cmd regs

From: Boris Brezillon <[email protected]>

Currently the driver read NFC command registers to get NFC busy flag. Actually this flag also can be get by reading HSMC_SR register.

Use the read NFC command registers need mapping a huge memory region. To save the mapped memory region, we change to check NFC busy flag by reading HSMC_SR register.

---

Changes in v2:
- Change me to signed-off-by.
- modify the error log.

 drivers/mtd/nand/atmel_nand.c     | 5 ++---
 drivers/mtd/nand/atmel_nand_nfc.h | 1 +
 2 files changed, 3 insertions(+), 3 deletions(-)
drivers/mtd/nand/atmel_nand.c +2 -3
index d93c849..336cc2d 100644
@@ -1752,11 +1752,10 @@ static int nfc_send_command(struct atmel_nand_host *host,
 		cmd, addr, cycle0);
 
 	timeout = jiffies + msecs_to_jiffies(NFC_TIME_OUT_MS);
-	while (nfc_cmd_readl(NFCADDR_CMD_NFCBUSY, host->nfc->base_cmd_regs)
-			& NFCADDR_CMD_NFCBUSY) {
+	while (nfc_readl(host->nfc->hsmc_regs, SR) & NFC_SR_BUSY) {
 		if (time_after(jiffies, timeout)) {
 			dev_err(host->dev,
-				"Time out to wait CMD_NFCBUSY ready!\n");
+				"Time out to wait for NFC ready!\n");
 			return -ETIMEDOUT;
 		}
 	}
drivers/mtd/nand/atmel_nand_nfc.h +1 -0
index 85b8ca6..4d5d262 100644
@@ -35,6 +35,7 @@
 #define		NFC_CTRL_DISABLE	(1 << 1)
 
 #define ATMEL_HSMC_NFC_SR	0x08		/* NFC Status Register */
+#define		NFC_SR_BUSY		(1 << 8)
 #define		NFC_SR_XFR_DONE		(1 << 16)
 #define		NFC_SR_CMD_DONE		(1 << 17)
 #define		NFC_SR_DTOE		(1 << 20)
Signature · 1 line
1.9.1
author
#1 lore raw

PATCH v2 1/1 mtd: atmel_nand: check NFC busy flag by HSMC_SR instead of NFC cmd regs

Hi, Brain

Would you have any chance to take this patch as it's been a long time?

Best Regards,
Josh Wu

Quoted 51 lines · Josh Wu

From: Boris Brezillon <[email protected]>

Currently the driver read NFC command registers to get NFC busy flag. Actually this flag also can be get by reading HSMC_SR register.

Use the read NFC command registers need mapping a huge memory region. To save the mapped memory region, we change to check NFC busy flag by reading HSMC_SR register.

---

Changes in v2:
- Change me to signed-off-by.
- modify the error log.

  drivers/mtd/nand/atmel_nand.c     | 5 ++---
  drivers/mtd/nand/atmel_nand_nfc.h | 1 +
  2 files changed, 3 insertions(+), 3 deletions(-)
drivers/mtd/nand/atmel_nand.c +2 -3
index d93c849..336cc2d 100644
@@ -1752,11 +1752,10 @@ static int nfc_send_command(struct atmel_nand_host *host,
  		cmd, addr, cycle0);
 
  	timeout = jiffies + msecs_to_jiffies(NFC_TIME_OUT_MS);
-	while (nfc_cmd_readl(NFCADDR_CMD_NFCBUSY, host->nfc->base_cmd_regs)
-			& NFCADDR_CMD_NFCBUSY) {
+	while (nfc_readl(host->nfc->hsmc_regs, SR) & NFC_SR_BUSY) {
  		if (time_after(jiffies, timeout)) {
  			dev_err(host->dev,
-				"Time out to wait CMD_NFCBUSY ready!\n");
+				"Time out to wait for NFC ready!\n");
  			return -ETIMEDOUT;
  		}
  	}
drivers/mtd/nand/atmel_nand_nfc.h +1 -0
index 85b8ca6..4d5d262 100644
@@ -35,6 +35,7 @@
  #define		NFC_CTRL_DISABLE	(1 << 1)
 
  #define ATMEL_HSMC_NFC_SR	0x08		/* NFC Status Register */
+#define		NFC_SR_BUSY		(1 << 8)
  #define		NFC_SR_XFR_DONE		(1 << 16)
  #define		NFC_SR_CMD_DONE		(1 << 17)
  #define		NFC_SR_DTOE		(1 << 20)
author
#2 lore raw

PATCH v2 1/1 mtd: atmel_nand: check NFC busy flag by HSMC_SR instead of NFC cmd regs

Hi, Brain

Sorry to be impatient, but is there any feedback for this patch?

Best Regards,
Josh Wu

Quoted 61 lines · Josh Wu

Hi, Brain

Would you have any chance to take this patch as it's been a long time?

Best Regards,
Josh Wu

Quoted 52 lines · Josh Wu

From: Boris Brezillon <[email protected]>

Currently the driver read NFC command registers to get NFC busy flag. Actually this flag also can be get by reading HSMC_SR register.

Use the read NFC command registers need mapping a huge memory region. To save the mapped memory region, we change to check NFC busy flag by reading HSMC_SR register.

---

Changes in v2:
- Change me to signed-off-by.
- modify the error log.

  drivers/mtd/nand/atmel_nand.c     | 5 ++---
  drivers/mtd/nand/atmel_nand_nfc.h | 1 +
  2 files changed, 3 insertions(+), 3 deletions(-)
drivers/mtd/nand/atmel_nand.c +2 -3
index d93c849..336cc2d 100644
@@ -1752,11 +1752,10 @@ static int nfc_send_command(struct 
 atmel_nand_host *host,
          cmd, addr, cycle0);
        timeout = jiffies + msecs_to_jiffies(NFC_TIME_OUT_MS);
-    while (nfc_cmd_readl(NFCADDR_CMD_NFCBUSY, host->nfc->base_cmd_regs)
-            & NFCADDR_CMD_NFCBUSY) {
+    while (nfc_readl(host->nfc->hsmc_regs, SR) & NFC_SR_BUSY) {
          if (time_after(jiffies, timeout)) {
              dev_err(host->dev,
-                "Time out to wait CMD_NFCBUSY ready!\n");
+                "Time out to wait for NFC ready!\n");
              return -ETIMEDOUT;
          }
      }
drivers/mtd/nand/atmel_nand_nfc.h +1 -0
index 85b8ca6..4d5d262 100644
@@ -35,6 +35,7 @@
  #define        NFC_CTRL_DISABLE    (1 << 1)
    #define ATMEL_HSMC_NFC_SR    0x08        /* NFC Status Register */
+#define        NFC_SR_BUSY        (1 << 8)
  #define        NFC_SR_XFR_DONE        (1 << 16)
  #define        NFC_SR_CMD_DONE        (1 << 17)
  #define        NFC_SR_DTOE        (1 << 20)
Applied
#3 lore raw

PATCH v2 1/1 mtd: atmel_nand: check NFC busy flag by HSMC_SR instead of NFC cmd regs

In reply to Josh Wu
Quoted 9 lines · Josh Wu

From: Boris Brezillon <[email protected]>

Currently the driver read NFC command registers to get NFC busy flag. Actually this flag also can be get by reading HSMC_SR register.

Use the read NFC command registers need mapping a huge memory region. To save the mapped memory region, we change to check NFC busy flag by reading HSMC_SR register.

Quoted 7 lines

---

Changes in v2:
- Change me to signed-off-by.
- modify the error log.

Pushed to l2-mtd.git.

Brian