update rk29 sdmmc

This commit is contained in:
lhh
2010-12-10 14:23:18 +08:00
parent c1f87bc2b4
commit 6033f1e646

View File

@@ -520,7 +520,7 @@ static void rk29_sdmmc_start_request(struct rk29_sdmmc *host)
struct mmc_command *cmd;
struct mmc_data *data;
u32 cmdflags;
int time_out =60;
int time_out=60, time_out2=3;
unsigned long flags;
mrq = host->mrq;
@@ -535,6 +535,10 @@ static void rk29_sdmmc_start_request(struct rk29_sdmmc *host)
/* wait till resets clear */
while (rk29_sdmmc_read(host->regs, SDMMC_CTRL) & ( SDMMC_CTRL_FIFO_RESET));
local_irq_restore(flags);
time_out2--;
if(!time_out2)
break;
}
}
/*<2A><><EFBFBD><EFBFBD>FIFO,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD><D5A3><EFBFBD><EFBFBD><EFBFBD>*/
@@ -686,7 +690,7 @@ static void rk29_sdmmc_request_end(struct rk29_sdmmc *host, struct mmc_request *
{
struct mmc_host *prev_mmc = host->mmc;
unsigned long flags;
int time_out =60;
int time_out =60, time_out2=3;
WARN_ON(host->cmd || host->data);
host->curr_mrq = NULL;
@@ -702,6 +706,8 @@ static void rk29_sdmmc_request_end(struct rk29_sdmmc *host, struct mmc_request *
/* wait till resets clear */
while (rk29_sdmmc_read(host->regs, SDMMC_CTRL) & ( SDMMC_CTRL_FIFO_RESET));
local_irq_restore(flags);
if(!time_out2)
break;
}
}
/*<2A><><EFBFBD><EFBFBD>FIFO,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD><D5A3><EFBFBD><EFBFBD><EFBFBD>*/