if SDMMC_RK2818
comment "Now, there are two SDMMC controllers selected, SDMMC0 and SDMMC1."
config SDMMC0_RK2818
- tristate "RK2818 SDMMC0 controller support"
+ tristate "RK2818 SDMMC0 controller support(sdmmc)"
default y
depends on ARCH_RK2818
help
This supports the use of the SDMMC0 controller on rk2818 processors.
config SDMMC1_RK2818
- tristate "RK2818 SDMMC1 controller support"
+ tristate "RK2818 SDMMC1 controller support(sdio)"
default y
depends on ARCH_RK2818
help
writel(readl(host->regs + SDMMC_CTRL) & ~SDMMC_CTRL_DMA_ENABLE,
host->regs +SDMMC_CTRL);
disable_dma(host->dma_chn);
+ free_dma(host->dma_chn);
+ host->dma_chn = -1;
rk2818_sdmmc_dma_cleanup(host);
} else {
/* Data transfer was stopped by the interrupt handler */
rk2818_sdmmc_dma_cleanup(host);
disable_dma(host->dma_chn);
free_dma(host->dma_chn);
+ host->dma_chn = -1;
if (data) {
rk2818_sdmmc_set_pending(host, EVENT_XFER_COMPLETE);
tasklet_schedule(&host->tasklet);
host->mmc = mmc;
host->pdev = pdev;
host->dev = &pdev->dev;
+ host->dma_chn = -1;
host->use_dma = pdata->use_dma;
host->no_detect = pdata->no_detect;
mmc->max_phys_segs = 64;
mmc->max_hw_segs = 64;
- mmc->max_blk_size = /*4095*/1023;
+ mmc->max_blk_size = 4095;
mmc->max_blk_count = /*512*/4;
mmc->max_req_size = mmc->max_blk_size * mmc->max_blk_count;
mmc->max_seg_size = mmc->max_req_size;