mirror of
https://gitee.com/Vancouver2017/luban-lite.git
synced 2025-12-15 16:48:56 +00:00
sdmc timeout enhance
This commit is contained in:
@@ -187,15 +187,15 @@ void aic_sdmc_request(struct aic_sdmc *host, struct aic_sdmc_cmd *cmd,
|
|||||||
s32 ret = 0, flags = 0, i;
|
s32 ret = 0, flags = 0, i;
|
||||||
u32 retry = SDMC_TIMEOUT;
|
u32 retry = SDMC_TIMEOUT;
|
||||||
u32 mask = 0;
|
u32 mask = 0;
|
||||||
u32 timeout = 500;
|
u32 timeout = 500000;
|
||||||
u32 start = aic_get_time_ms();
|
u32 start = aic_get_time_us();
|
||||||
struct bounce_buffer bbstate;
|
struct bounce_buffer bbstate;
|
||||||
ALLOC_CACHE_ALIGN_BUFFER(struct aic_sdmc_idma_desc, cur_idma,
|
ALLOC_CACHE_ALIGN_BUFFER(struct aic_sdmc_idma_desc, cur_idma,
|
||||||
data ? DIV_ROUND_UP(data->blks, 8) : 0);
|
data ? DIV_ROUND_UP(data->blks, 8) : 0);
|
||||||
|
|
||||||
if (cmd->cmd_code != MMC_CMD_STOP_TRANSMISSION) {
|
if (cmd->cmd_code != MMC_CMD_STOP_TRANSMISSION) {
|
||||||
while (hal_sdmc_is_busy(&host->host)) {
|
while (hal_sdmc_is_busy(&host->host)) {
|
||||||
if (aic_get_time_ms() - start > timeout) {
|
if (aic_get_time_us() - start > timeout) {
|
||||||
pr_warn("Data transfer is busy\n");
|
pr_warn("Data transfer is busy\n");
|
||||||
cmd->err = -1;
|
cmd->err = -1;
|
||||||
return;
|
return;
|
||||||
@@ -305,8 +305,6 @@ void aic_sdmc_request(struct aic_sdmc *host, struct aic_sdmc_cmd *cmd,
|
|||||||
data->flags == MMC_DATA_READ);
|
data->flags == MMC_DATA_READ);
|
||||||
}
|
}
|
||||||
|
|
||||||
aicos_udelay(100);
|
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user