Lines Matching refs:mmc
126 struct mmc_host *mmc; member
243 if (!IS_ERR(host->mmc->supply.vmmc)) { in mxcmci_set_power()
245 mmc_regulator_set_ocr(host->mmc, in mxcmci_set_power()
246 host->mmc->supply.vmmc, vdd); in mxcmci_set_power()
248 mmc_regulator_set_ocr(host->mmc, in mxcmci_set_power()
249 host->mmc->supply.vmmc, 0); in mxcmci_set_power()
253 host->pdata->setpower(mmc_dev(host->mmc), vdd); in mxcmci_set_power()
265 dev_dbg(mmc_dev(host->mmc), "mxcmci_softreset\n"); in mxcmci_softreset()
377 dev_dbg(mmc_dev(host->mmc), "%s: 0x%08x\n", __func__, stat); in mxcmci_dma_callback()
405 dev_err(mmc_dev(host->mmc), "unhandled response type 0x%x\n", in mxcmci_start_cmd()
451 mmc_request_done(host->mmc, req); in mxcmci_finish_request()
466 dev_dbg(mmc_dev(host->mmc), "request failed. status: 0x%08x\n", in mxcmci_finish_data()
469 dev_err(mmc_dev(host->mmc), "%s: -EILSEQ\n", __func__); in mxcmci_finish_data()
474 dev_err(mmc_dev(host->mmc), in mxcmci_finish_data()
478 dev_err(mmc_dev(host->mmc), in mxcmci_finish_data()
483 dev_err(mmc_dev(host->mmc), in mxcmci_finish_data()
487 dev_err(mmc_dev(host->mmc), "%s: -EIO\n", __func__); in mxcmci_finish_data()
511 dev_dbg(mmc_dev(host->mmc), "CMD TIMEOUT\n"); in mxcmci_read_response()
514 dev_dbg(mmc_dev(host->mmc), "cmd crc error\n"); in mxcmci_read_response()
736 dev_dbg(mmc_dev(host->mmc), "%s: 0x%08x\n", __func__, stat); in mxcmci_irq()
747 mmc_signal_sdio_irq(host->mmc); in mxcmci_irq()
760 mmc_detect_change(host->mmc, msecs_to_jiffies(200)); in mxcmci_irq()
765 static void mxcmci_request(struct mmc_host *mmc, struct mmc_request *req) in mxcmci_request() argument
767 struct mxcmci_host *host = mmc_priv(mmc); in mxcmci_request()
829 dev_dbg(mmc_dev(host->mmc), "scaler: %d divider: %d in: %d out: %d\n", in mxcmci_set_clk_rate()
833 static int mxcmci_setup_dma(struct mmc_host *mmc) in mxcmci_setup_dma() argument
835 struct mxcmci_host *host = mmc_priv(mmc); in mxcmci_setup_dma()
849 static void mxcmci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) in mxcmci_set_ios() argument
851 struct mxcmci_host *host = mmc_priv(mmc); in mxcmci_set_ios()
865 ret = mxcmci_setup_dma(mmc); in mxcmci_set_ios()
867 dev_err(mmc_dev(host->mmc), in mxcmci_set_ios()
900 struct mmc_host *mmc = data; in mxcmci_detect_irq() local
902 dev_dbg(mmc_dev(mmc), "%s\n", __func__); in mxcmci_detect_irq()
904 mmc_detect_change(mmc, msecs_to_jiffies(250)); in mxcmci_detect_irq()
908 static int mxcmci_get_ro(struct mmc_host *mmc) in mxcmci_get_ro() argument
910 struct mxcmci_host *host = mmc_priv(mmc); in mxcmci_get_ro()
913 return !!host->pdata->get_ro(mmc_dev(mmc)); in mxcmci_get_ro()
919 return mmc_gpio_get_ro(mmc); in mxcmci_get_ro()
922 static void mxcmci_enable_sdio_irq(struct mmc_host *mmc, int enable) in mxcmci_enable_sdio_irq() argument
924 struct mxcmci_host *host = mmc_priv(mmc); in mxcmci_enable_sdio_irq()
972 struct mmc_host *mmc = (struct mmc_host *)data; in mxcmci_watchdog() local
973 struct mxcmci_host *host = mmc_priv(mmc); in mxcmci_watchdog()
979 dev_err(mmc_dev(host->mmc), in mxcmci_watchdog()
983 dev_err(mmc_dev(host->mmc), in mxcmci_watchdog()
996 mmc_request_done(host->mmc, req); in mxcmci_watchdog()
1009 struct mmc_host *mmc; in mxcmci_probe() local
1027 mmc = mmc_alloc_host(sizeof(*host), &pdev->dev); in mxcmci_probe()
1028 if (!mmc) in mxcmci_probe()
1031 host = mmc_priv(mmc); in mxcmci_probe()
1041 ret = mmc_of_parse(mmc); in mxcmci_probe()
1044 mmc->ops = &mxcmci_ops; in mxcmci_probe()
1048 mmc->caps = MMC_CAP_4_BIT_DATA | MMC_CAP_SDIO_IRQ; in mxcmci_probe()
1050 mmc->caps |= MMC_CAP_SDIO_IRQ; in mxcmci_probe()
1053 mmc->max_blk_size = 2048; in mxcmci_probe()
1054 mmc->max_blk_count = 65535; in mxcmci_probe()
1055 mmc->max_req_size = mmc->max_blk_size * mmc->max_blk_count; in mxcmci_probe()
1056 mmc->max_seg_size = mmc->max_req_size; in mxcmci_probe()
1067 mmc->max_segs = 64; in mxcmci_probe()
1069 host->mmc = mmc; in mxcmci_probe()
1075 else if (!(mmc->caps & MMC_CAP_NONREMOVABLE) in mxcmci_probe()
1079 ret = mmc_regulator_get_supply(mmc); in mxcmci_probe()
1083 if (!mmc->ocr_avail) { in mxcmci_probe()
1085 mmc->ocr_avail = pdata->ocr_avail; in mxcmci_probe()
1087 mmc->ocr_avail = MMC_VDD_32_33 | MMC_VDD_33_34; in mxcmci_probe()
1116 dev_err(mmc_dev(host->mmc), "wrong rev.no. 0x%08x. aborting.\n", in mxcmci_probe()
1121 mmc->f_min = clk_get_rate(host->clk_per) >> 16; in mxcmci_probe()
1122 mmc->f_max = clk_get_rate(host->clk_per) >> 1; in mxcmci_probe()
1144 mmc->max_seg_size = dma_get_max_seg_size( in mxcmci_probe()
1147 dev_info(mmc_dev(host->mmc), "dma not available. Using PIO\n"); in mxcmci_probe()
1156 platform_set_drvdata(pdev, mmc); in mxcmci_probe()
1160 host->mmc); in mxcmci_probe()
1167 host->watchdog.data = (unsigned long)mmc; in mxcmci_probe()
1169 mmc_add_host(mmc); in mxcmci_probe()
1182 mmc_free_host(mmc); in mxcmci_probe()
1189 struct mmc_host *mmc = platform_get_drvdata(pdev); in mxcmci_remove() local
1190 struct mxcmci_host *host = mmc_priv(mmc); in mxcmci_remove()
1192 mmc_remove_host(mmc); in mxcmci_remove()
1195 host->pdata->exit(&pdev->dev, mmc); in mxcmci_remove()
1203 mmc_free_host(mmc); in mxcmci_remove()
1210 struct mmc_host *mmc = dev_get_drvdata(dev); in mxcmci_suspend() local
1211 struct mxcmci_host *host = mmc_priv(mmc); in mxcmci_suspend()
1220 struct mmc_host *mmc = dev_get_drvdata(dev); in mxcmci_resume() local
1221 struct mxcmci_host *host = mmc_priv(mmc); in mxcmci_resume()