From 9baec8d577446d861db670c07063ffbc04a9ac9d Mon Sep 17 00:00:00 2001 From: =?utf8?q?=E6=9F=AF=E9=A3=9E=E9=9B=84?= Date: Fri, 28 May 2010 15:38:51 +0000 Subject: [PATCH] mod sdmmc --- drivers/mmc/host/rk2818-sdmmc.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/drivers/mmc/host/rk2818-sdmmc.c b/drivers/mmc/host/rk2818-sdmmc.c index b2ed1ed97cab..21dd06453217 100644 --- a/drivers/mmc/host/rk2818-sdmmc.c +++ b/drivers/mmc/host/rk2818-sdmmc.c @@ -370,7 +370,7 @@ static int rk2818_sdmmc_submit_data_dma(struct rk2818_sdmmc_host *host, struct m { struct scatterlist *sg; unsigned int i; - + dev_dbg(host->dev, "sg_len=%d\n", data->sg_len); host->dma_chn = -1; if(host->use_dma == 0) return -ENOSYS; @@ -422,7 +422,7 @@ static void rk2818_sdmmc_submit_data(struct rk2818_sdmmc_host *host, struct mmc_ host->dir_status = RK2818_MCI_RECV_STATUS; else host->dir_status = RK2818_MCI_SEND_STATUS; - writel(readl(host->regs + SDMMC_CTRL) | SDMMC_CTRL_DMA_ENABLE, + writel(readl(host->regs + SDMMC_CTRL) & ~SDMMC_CTRL_DMA_ENABLE, host->regs +SDMMC_CTRL); } } @@ -753,13 +753,7 @@ static void rk2818_sdmmc_tasklet_func(unsigned long priv) if (!rk2818_sdmmc_test_and_clear_pending(host, EVENT_XFER_COMPLETE)) - { - if(host-> no_detect == 1 && - host->dir_status == RK2818_MCI_RECV_STATUS && - host->dma_chn == -1) - rk2818_sdmmc_read_data_pio(host); break; - } rk2818_sdmmc_set_completed(host, EVENT_XFER_COMPLETE); prev_state = state = STATE_DATA_BUSY; /* fall through */ @@ -839,7 +833,7 @@ inline static void rk2818_sdmmc_push_data(struct rk2818_sdmmc_host *host, void * dev_dbg(host->dev, "push data(cnt=%d)\n",cnt); if (cnt % 4 != 0) - printk("error not align 4\n"); + dev_info(host->dev, "error not align 4\n"); cnt = cnt >> 2; while (cnt > 0) { @@ -855,7 +849,7 @@ inline static void rk2818_sdmmc_pull_data(struct rk2818_sdmmc_host *host, void * dev_dbg(host->dev, "pull data(cnt=%d)\n",cnt); if (cnt % 4 != 0) - printk("error not align 4\n"); + dev_info(host->dev, "error not align 4\n"); cnt = cnt >> 2; while (cnt > 0) { *pData++ = readl(host->regs + SDMMC_DATA); -- 2.34.1