[Armadeus-commitlog] SF.net SVN: armadeus: [816] trunk/buildroot/target/device/armadeus/linux/ kern
Brought to you by:
sszy
|
From: <th...@us...> - 2008-06-02 15:09:07
|
Revision: 816
http://armadeus.svn.sourceforge.net/armadeus/?rev=816&view=rev
Author: thom25
Date: 2008-06-02 08:09:07 -0700 (Mon, 02 Jun 2008)
Log Message:
-----------
[LINUX] fix error when writing on an ext2 SD/MMC
Modified Paths:
--------------
trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.23.1/040-linux-2.6.23.1-imx_mmc.diff
trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.24.3/040-linux-2.6.24.3-imx_mmc.diff
Modified: trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.23.1/040-linux-2.6.23.1-imx_mmc.diff
===================================================================
--- trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.23.1/040-linux-2.6.23.1-imx_mmc.diff 2008-06-01 14:40:55 UTC (rev 815)
+++ trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.23.1/040-linux-2.6.23.1-imx_mmc.diff 2008-06-02 15:09:07 UTC (rev 816)
@@ -83,3 +83,17 @@
loops, where, *pstat, stat_mask);
return loops;
}
+--- linux-org/drivers/mmc/host/imxmmc.c 2008-06-02 04:25:41.000000000 +0200
++++ linux-imx/drivers/mmc/host/imxmmc.c 2008-06-02 04:22:21.000000000 +0200
+@@ -336,6 +336,12 @@ static void imxmci_start_cmd(struct imxm
+ /* Ensure, that clock are stopped else command programming and start fails */
+ imxmci_stop_clock(host);
+
++ /*force check of busy bit DO after CMD25 + CMD12
++ to avoid hang up of the controler */
++ if( cmd->opcode == 13){
++ cmdat |= CMD_DAT_CONT_BUSY;
++ }
++
+ if (cmd->flags & MMC_RSP_BUSY)
+ cmdat |= CMD_DAT_CONT_BUSY;
Modified: trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.24.3/040-linux-2.6.24.3-imx_mmc.diff
===================================================================
--- trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.24.3/040-linux-2.6.24.3-imx_mmc.diff 2008-06-01 14:40:55 UTC (rev 815)
+++ trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.24.3/040-linux-2.6.24.3-imx_mmc.diff 2008-06-02 15:09:07 UTC (rev 816)
@@ -72,4 +72,28 @@
#define PB11_AF_MS_SDIO ( GPIO_PORTB | GPIO_AF | 11 )
#define PB12_PF_SD_CLK ( GPIO_PORTB | GPIO_PF | 12 )
#define PB12_AF_MS_SCLK0 ( GPIO_PORTB | GPIO_AF | 12 )
-
+--- linux-org/drivers/mmc/host/imxmmc.c 2008-01-28 17:36:24.000000000 +0100
++++ linux-imx/drivers/mmc/host/imxmmc.c 2008-01-28 17:36:47.000000000 +0100
+@@ -220,7 +220,7 @@ static int imxmci_busy_wait_for_status(s
+
+ /* The busy-wait is expected there for clock <8MHz due to SDHC hardware flaws */
+ if(!(stat_mask & STATUS_END_CMD_RESP) || (host->mmc->ios.clock>=8000000))
+- dev_info(mmc_dev(host->mmc), "busy wait for %d usec in %s, STATUS = 0x%x (0x%x)\n",
++ dev_dbg(mmc_dev(host->mmc), "busy wait for %d usec in %s, STATUS = 0x%x (0x%x)\n",
+ loops, where, *pstat, stat_mask);
+ return loops;
+ }
+--- linux-org/drivers/mmc/host/imxmmc.c 2008-06-02 04:25:41.000000000 +0200
++++ linux-imx/drivers/mmc/host/imxmmc.c 2008-06-02 04:22:21.000000000 +0200
+@@ -336,6 +336,12 @@ static void imxmci_start_cmd(struct imxm
+ /* Ensure, that clock are stopped else command programming and start fails */
+ imxmci_stop_clock(host);
+
++ /*force check of busy bit DO after CMD25 + CMD12
++ to avoid hang up of the controler */
++ if( cmd->opcode == 13){
++ cmdat |= CMD_DAT_CONT_BUSY;
++ }
++
+ if (cmd->flags & MMC_RSP_BUSY)
+ cmdat |= CMD_DAT_CONT_BUSY;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|