Lines Matching refs:mmc
54 struct mmc_host *mmc; member
133 host->sg_frags = dma_map_sg(mmc_dev(host->mmc), data->sg, in mvsd_setup_data()
142 static void mvsd_request(struct mmc_host *mmc, struct mmc_request *mrq) in mvsd_request() argument
144 struct mvsd_host *host = mmc_priv(mmc); in mvsd_request()
299 dma_unmap_sg(mmc_dev(host->mmc), data->sg, host->sg_frags, in mvsd_finish_data()
497 mmc_request_done(host->mmc, mrq); in mvsd_irq()
503 mmc_signal_sdio_irq(host->mmc); in mvsd_irq()
553 mmc_request_done(host->mmc, mrq); in mvsd_timeout_timer()
556 static void mvsd_enable_sdio_irq(struct mmc_host *mmc, int enable) in mvsd_enable_sdio_irq() argument
558 struct mvsd_host *host = mmc_priv(mmc); in mvsd_enable_sdio_irq()
603 static void mvsd_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) in mvsd_set_ios() argument
605 struct mvsd_host *host = mmc_priv(mmc); in mvsd_set_ios()
701 struct mmc_host *mmc = NULL; in mvsd_probe() local
712 mmc = mmc_alloc_host(sizeof(struct mvsd_host), &pdev->dev); in mvsd_probe()
713 if (!mmc) { in mvsd_probe()
718 host = mmc_priv(mmc); in mvsd_probe()
719 host->mmc = mmc; in mvsd_probe()
733 mmc->ops = &mvsd_ops; in mvsd_probe()
735 mmc->ocr_avail = MMC_VDD_32_33 | MMC_VDD_33_34; in mvsd_probe()
737 mmc->f_min = DIV_ROUND_UP(host->base_clock, MVSD_BASE_DIV_MAX); in mvsd_probe()
738 mmc->f_max = MVSD_CLOCKRATE_MAX; in mvsd_probe()
740 mmc->max_blk_size = 2048; in mvsd_probe()
741 mmc->max_blk_count = 65535; in mvsd_probe()
743 mmc->max_segs = 1; in mvsd_probe()
744 mmc->max_seg_size = mmc->max_blk_size * mmc->max_blk_count; in mvsd_probe()
745 mmc->max_req_size = mmc->max_blk_size * mmc->max_blk_count; in mvsd_probe()
755 ret = mmc_of_parse(mmc); in mvsd_probe()
766 mmc->caps = MMC_CAP_4_BIT_DATA | MMC_CAP_SDIO_IRQ | in mvsd_probe()
772 ret = mmc_gpio_request_cd(mmc, in mvsd_probe()
778 mmc->caps |= MMC_CAP_NEEDS_POLL; in mvsd_probe()
783 mmc_gpio_request_ro(mmc, mvsd_data->gpio_write_protect); in mvsd_probe()
787 mmc->f_max = maxfreq; in mvsd_probe()
811 platform_set_drvdata(pdev, mmc); in mvsd_probe()
812 ret = mmc_add_host(mmc); in mvsd_probe()
816 if (!(mmc->caps & MMC_CAP_NEEDS_POLL)) in mvsd_probe()
824 if (mmc) { in mvsd_probe()
827 mmc_free_host(mmc); in mvsd_probe()
835 struct mmc_host *mmc = platform_get_drvdata(pdev); in mvsd_remove() local
837 struct mvsd_host *host = mmc_priv(mmc); in mvsd_remove()
839 mmc_remove_host(mmc); in mvsd_remove()
845 mmc_free_host(mmc); in mvsd_remove()