| /linux/drivers/mmc/host/ |
| H A D | meson-mx-sdhc-mmc.c | 38 void (*init_hw)(struct mmc_host *mmc); 39 void (*set_pdma)(struct mmc_host *mmc); 40 void (*wait_before_send)(struct mmc_host *mmc); 45 struct mmc_host *mmc; member 80 static void meson_mx_sdhc_clear_fifo(struct mmc_host *mmc) in meson_mx_sdhc_clear_fifo() argument 82 struct meson_mx_sdhc_host *host = mmc_priv(mmc); in meson_mx_sdhc_clear_fifo() 97 dev_warn(mmc_dev(host->mmc), in meson_mx_sdhc_clear_fifo() 103 static void meson_mx_sdhc_wait_cmd_ready(struct mmc_host *mmc) in meson_mx_sdhc_wait_cmd_ready() argument 105 struct meson_mx_sdhc_host *host = mmc_priv(mmc); in meson_mx_sdhc_wait_cmd_ready() 114 dev_warn(mmc_dev(mmc), in meson_mx_sdhc_wait_cmd_ready() [all …]
|
| H A D | mmc_hsq.c | 20 struct mmc_host *mmc = hsq->mmc; in mmc_hsq_retry_handler() local 22 mmc->ops->request(mmc, hsq->mrq); in mmc_hsq_retry_handler() 27 struct mmc_host *mmc = hsq->mmc; in mmc_hsq_modify_threshold() local 31 mmc->hsq_depth = HSQ_NORMAL_DEPTH; in mmc_hsq_modify_threshold() 38 mmc->hsq_depth = HSQ_PERFORMANCE_DEPTH; in mmc_hsq_modify_threshold() 46 struct mmc_host *mmc = hsq->mmc; in mmc_hsq_pump_requests() local 73 if (mmc->ops->request_atomic) in mmc_hsq_pump_requests() 74 ret = mmc->ops->request_atomic(mmc, hsq->mrq); in mmc_hsq_pump_requests() 76 mmc->ops->request(mmc, hsq->mrq); in mmc_hsq_pump_requests() 154 bool mmc_hsq_finalize_request(struct mmc_host *mmc, struct mmc_request *mrq) in mmc_hsq_finalize_request() argument [all …]
|
| H A D | sunxi-mmc.c | 270 struct mmc_host *mmc; member 316 dev_err(mmc_dev(host->mmc), "fatal err reset timeout\n"); in sunxi_mmc_reset_host() 403 dma_len = dma_map_sg(mmc_dev(host->mmc), data->sg, data->sg_len, in sunxi_mmc_map_dma() 406 dev_err(mmc_dev(host->mmc), "dma_map_sg failed\n"); in sunxi_mmc_map_dma() 412 dev_err(mmc_dev(host->mmc), in sunxi_mmc_map_dma() 471 dev_err(mmc_dev(host->mmc), "send stop command failed\n"); in sunxi_mmc_send_manual_stop() 493 dev_dbg(mmc_dev(host->mmc), in sunxi_mmc_dump_errinfo() 495 host->mmc->index, cmd->opcode, in sunxi_mmc_dump_errinfo() 554 dma_unmap_sg(mmc_dev(host->mmc), data->sg, data->sg_len, in sunxi_mmc_finalize_request() 581 dev_dbg(mmc_dev(host->mmc), "irq: rq %p mi %08x idi %08x\n", in sunxi_mmc_irq() [all …]
|
| H A D | mxcmmc.c | 120 struct mmc_host *mmc; member 221 if (!IS_ERR(host->mmc->supply.vmmc)) { in mxcmci_set_power() 223 mmc_regulator_set_ocr(host->mmc, in mxcmci_set_power() 224 host->mmc->supply.vmmc, vdd); in mxcmci_set_power() 226 mmc_regulator_set_ocr(host->mmc, in mxcmci_set_power() 227 host->mmc->supply.vmmc, 0); in mxcmci_set_power() 231 host->pdata->setpower(mmc_dev(host->mmc), vdd); in mxcmci_set_power() 243 dev_dbg(mmc_dev(host->mmc), "mxcmci_softreset\n"); in mxcmci_softreset() 359 dev_dbg(mmc_dev(host->mmc), "%s: 0x%08x\n", __func__, stat); in mxcmci_dma_callback() 387 dev_err(mmc_dev(host->mmc), "unhandled response type 0x%x\n", in mxcmci_start_cmd() [all …]
|
| H A D | litex_mmc.c | 85 struct mmc_host *mmc; member 132 struct device *dev = mmc_dev(host->mmc); in litex_mmc_send_cmd() 191 static int litex_mmc_get_cd(struct mmc_host *mmc) in litex_mmc_get_cd() argument 193 struct litex_mmc_host *host = mmc_priv(mmc); in litex_mmc_get_cd() 196 if (!mmc_card_is_removable(mmc)) in litex_mmc_get_cd() 208 struct mmc_host *mmc = arg; in litex_mmc_interrupt() local 209 struct litex_mmc_host *host = mmc_priv(mmc); in litex_mmc_interrupt() 217 mmc_detect_change(mmc, msecs_to_jiffies(10)); in litex_mmc_interrupt() 247 struct device *dev = mmc_dev(host->mmc); in litex_mmc_do_dma() 291 static void litex_mmc_request(struct mmc_host *mmc, struct mmc_request *mrq) in litex_mmc_request() argument [all …]
|
| H A D | usdhi6rol0.c | 159 struct mmc_host *mmc; member 212 dev_vdbg(mmc_dev(host->mmc), "%s(0x%p + 0x%x) = 0x%x\n", __func__, in usdhi6_write() 219 dev_vdbg(mmc_dev(host->mmc), "%s(0x%p + 0x%x) = 0x%x\n", __func__, in usdhi6_write16() 226 dev_vdbg(mmc_dev(host->mmc), "%s(0x%p + 0x%x) = 0x%x\n", __func__, in usdhi6_read() 234 dev_vdbg(mmc_dev(host->mmc), "%s(0x%p + 0x%x) = 0x%x\n", __func__, in usdhi6_read16() 286 dev_dbg(mmc_dev(host->mmc), in usdhi6_error_code() 290 dev_warn(mmc_dev(host->mmc), in usdhi6_error_code() 298 dev_warn(mmc_dev(host->mmc), "Err sts 0x%x, state %u, CMD%d\n", in usdhi6_error_code() 320 dev_dbg(mmc_dev(host->mmc), "%s(): CMD%u of %u SG: %ux%u @ 0x%x\n", in usdhi6_blk_bounce() 387 dev_dbg(mmc_dev(host->mmc), "Mapped %p (%lx) at %p + %u for CMD%u @ 0x%p\n", in usdhi6_sg_map() [all …]
|
| H A D | mmci.c | 371 static int mmci_card_busy(struct mmc_host *mmc) in mmci_card_busy() argument 373 struct mmci_host *host = mmc_priv(mmc); in mmci_card_busy() 485 host->mmc->actual_clock = host->cclk; in mmci_set_clkreg() 487 if (host->mmc->ios.bus_width == MMC_BUS_WIDTH_4) in mmci_set_clkreg() 489 if (host->mmc->ios.bus_width == MMC_BUS_WIDTH_8) in mmci_set_clkreg() 492 if (host->mmc->ios.timing == MMC_TIMING_UHS_DDR50 || in mmci_set_clkreg() 493 host->mmc->ios.timing == MMC_TIMING_MMC_DDR52) in mmci_set_clkreg() 532 dev_err(mmc_dev(host->mmc), in mmci_validate_data() 592 dev_vdbg(mmc_dev(host->mmc), in mmci_dma_start() 641 mmc_request_done(host->mmc, mrq); in mmci_request_end() [all …]
|
| H A D | mmci_stm32_sdmmc.c | 85 struct device *dev = mmc_dev(host->mmc); in sdmmc_idma_validate_data() 98 dev_dbg(mmc_dev(host->mmc), in sdmmc_idma_validate_data() 106 dev_dbg(mmc_dev(host->mmc), in sdmmc_idma_validate_data() 117 host->mmc->max_req_size, in sdmmc_idma_validate_data() 147 n_elem = dma_map_sg(mmc_dev(host->mmc), in _sdmmc_idma_prep_data() 153 dev_err(mmc_dev(host->mmc), "dma_map_sg failed\n"); in _sdmmc_idma_prep_data() 183 dma_unmap_sg(mmc_dev(host->mmc), data->sg, data->sg_len, in sdmmc_idma_unprep_data() 191 struct device *dev = mmc_dev(host->mmc); in sdmmc_idma_setup() 206 host->mmc->max_segs = SDMMC_LLI_BUF_LEN / in sdmmc_idma_setup() 208 host->mmc->max_seg_size = host->variant->stm32_idmabsize_mask; in sdmmc_idma_setup() [all …]
|
| H A D | rtsx_pci_sdmmc.c | 29 struct mmc_host *mmc; member 49 static int sdmmc_init_sd_express(struct mmc_host *mmc, struct mmc_ios *ios); 180 static void sdmmc_pre_req(struct mmc_host *mmc, struct mmc_request *mrq) in sdmmc_pre_req() argument 182 struct realtek_pci_sdmmc *host = mmc_priv(mmc); in sdmmc_pre_req() 196 static void sdmmc_post_req(struct mmc_host *mmc, struct mmc_request *mrq, in sdmmc_post_req() argument 199 struct realtek_pci_sdmmc *host = mmc_priv(mmc); in sdmmc_post_req() 430 struct mmc_host *mmc = host->mmc; in sd_read_long_data() local 431 struct mmc_card *card = mmc->card; in sd_read_long_data() 488 struct mmc_host *mmc = host->mmc; in sd_write_long_data() local 489 struct mmc_card *card = mmc->card; in sd_write_long_data() [all …]
|
| H A D | sdricoh_cs.c | 80 struct mmc_host *mmc; /* MMC structure */ member 254 static void sdricoh_request(struct mmc_host *mmc, struct mmc_request *mrq) in sdricoh_request() argument 256 struct sdricoh_host *host = mmc_priv(mmc); in sdricoh_request() 331 mmc_request_done(mmc, mrq); in sdricoh_request() 335 static void sdricoh_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) in sdricoh_set_ios() argument 337 struct sdricoh_host *host = mmc_priv(mmc); in sdricoh_set_ios() 356 static int sdricoh_get_ro(struct mmc_host *mmc) in sdricoh_get_ro() argument 358 struct sdricoh_host *host = mmc_priv(mmc); in sdricoh_get_ro() 383 struct mmc_host *mmc; in sdricoh_init_mmc() local 405 mmc = pcmcia_dev->priv = in sdricoh_init_mmc() [all …]
|
| H A D | ushc.c | 91 struct mmc_host *mmc; member 186 mmc_signal_sdio_irq(ushc->mmc); in int_callback() 190 mmc_detect_change(ushc->mmc, msecs_to_jiffies(100)); in int_callback() 245 mmc_request_done(ushc->mmc, req); in csw_callback() 248 static void ushc_request(struct mmc_host *mmc, struct mmc_request *req) in ushc_request() argument 250 struct ushc_data *ushc = mmc_priv(mmc); in ushc_request() 317 mmc_request_done(mmc, req); in ushc_request() 371 static void ushc_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) in ushc_set_ios() argument 373 struct ushc_data *ushc = mmc_priv(mmc); in ushc_set_ios() 380 static int ushc_get_cd(struct mmc_host *mmc) in ushc_get_cd() argument [all …]
|
| H A D | mmc_spi.c | 105 struct mmc_host *mmc; member 598 if (host->mmc->use_spi_crc) in mmc_spi_writeblock() 745 if (host->mmc->use_spi_crc) { in mmc_spi_readblock() 897 static void mmc_spi_request(struct mmc_host *mmc, struct mmc_request *mrq) in mmc_spi_request() argument 899 struct mmc_spi_host *host = mmc_priv(mmc); in mmc_spi_request() 926 mmc_request_done(host->mmc, mrq); in mmc_spi_request() 968 mmc_request_done(host->mmc, mrq); in mmc_spi_request() 1034 static void mmc_spi_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) in mmc_spi_set_ios() argument 1036 struct mmc_spi_host *host = mmc_priv(mmc); in mmc_spi_set_ios() 1136 mmc_spi_detect_irq(int irq, void *mmc) in mmc_spi_detect_irq() argument [all …]
|
| H A D | owl-mmc.c | 114 struct mmc_host *mmc; member 169 mmc_request_done(owl_host->mmc, mrq); in owl_mmc_finish_request() 339 static void owl_mmc_request(struct mmc_host *mmc, struct mmc_request *mrq) in owl_mmc_request() argument 341 struct owl_mmc_host *owl_host = mmc_priv(mmc); in owl_mmc_request() 484 static void owl_mmc_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) in owl_mmc_set_ios() argument 486 struct owl_mmc_host *owl_host = mmc_priv(mmc); in owl_mmc_set_ios() 532 static int owl_mmc_start_signal_voltage_switch(struct mmc_host *mmc, in owl_mmc_start_signal_voltage_switch() argument 535 struct owl_mmc_host *owl_host = mmc_priv(mmc); in owl_mmc_start_signal_voltage_switch() 565 struct mmc_host *mmc; in owl_mmc_probe() local 569 mmc = devm_mmc_alloc_host(&pdev->dev, sizeof(*owl_host)); in owl_mmc_probe() [all …]
|
| H A D | sdhci-bcm-kona.c | 132 ret = mmc_gpio_get_ro(host->mmc); in sdhci_bcm_kona_sd_card_emulate() 153 if (mmc_gpio_get_cd(host->mmc) > 0) { in sdhci_bcm_kona_card_event() 154 dev_dbg(mmc_dev(host->mmc), in sdhci_bcm_kona_card_event() 158 dev_dbg(mmc_dev(host->mmc), in sdhci_bcm_kona_card_event() 225 ret = mmc_of_parse(host->mmc); in sdhci_bcm_kona_probe() 229 if (!host->mmc->f_max) { in sdhci_bcm_kona_probe() 243 ret = clk_set_rate(pltfm_priv->clk, host->mmc->f_max); in sdhci_bcm_kona_probe() 256 mmc_card_is_removable(host->mmc) ? 'N' : 'Y'); in sdhci_bcm_kona_probe() 258 (mmc_gpio_get_cd(host->mmc) != -ENOSYS) ? 'Y' : 'N', in sdhci_bcm_kona_probe() 259 (mmc_gpio_get_ro(host->mmc) != -ENOSYS) ? 'Y' : 'N'); in sdhci_bcm_kona_probe() [all …]
|
| H A D | uniphier-sd.c | 109 dma_unmap_sg(mmc_dev(host->mmc), host->sg_ptr, host->sg_len, in uniphier_sd_external_dma_callback() 151 sg_len = dma_map_sg(mmc_dev(host->mmc), host->sg_ptr, host->sg_len, in uniphier_sd_external_dma_start() 173 dma_unmap_sg(mmc_dev(host->mmc), host->sg_ptr, host->sg_len, in uniphier_sd_external_dma_start() 190 chan = dma_request_chan(mmc_dev(host->mmc), "rx-tx"); in uniphier_sd_external_dma_request() 192 dev_warn(mmc_dev(host->mmc), in uniphier_sd_external_dma_request() 279 sg_len = dma_map_sg(mmc_dev(host->mmc), sg, 1, priv->dma_dir); in uniphier_sd_internal_dma_start() 349 dma_unmap_sg(mmc_dev(host->mmc), host->sg_ptr, 1, priv->dma_dir); in uniphier_sd_internal_dma_dataend() 366 struct mmc_host *mmc = host->mmc; in uniphier_sd_clk_enable() local 380 if (!mmc->f_max) in uniphier_sd_clk_enable() 381 mmc->f_max = priv->clk_rate; in uniphier_sd_clk_enable() [all …]
|
| H A D | vub300.c | 336 struct mmc_host *mmc; member 372 struct mmc_host *mmc = vub300->mmc; in vub300_delete() local 379 mmc_free_host(mmc); in vub300_delete() 520 mmc_detect_change(vub300->mmc, 1); in new_system_port_status() 524 mmc_detect_change(vub300->mmc, 0); in new_system_port_status() 595 mmc_signal_sdio_irq(vub300->mmc); in __vub300_irqpoll_response() 622 mmc_signal_sdio_irq(vub300->mmc); in __vub300_irqpoll_response() 640 mmc_signal_sdio_irq(vub300->mmc); in __vub300_irqpoll_response() 697 mmc_signal_sdio_irq(vub300->mmc); in vub300_pollwork_thread() 727 } else if (vub300->mmc && vub300->mmc->card) { in vub300_deadwork_thread() [all …]
|
| H A D | sdhci-of-sparx5.c | 64 mmc_hostname(host->mmc), len, &addr); in sdhci_sparx5_adma_write_desc() 80 pr_debug("%s: Set Cacheable = 0x%x\n", mmc_hostname(host->mmc), value); in sparx5_set_cacheable() 92 pr_debug("%s: Set DLY_CC = %u\n", mmc_hostname(host->mmc), value); in sparx5_set_delay() 103 if (!mmc_card_is_removable(host->mmc)) { in sdhci_sparx5_set_emmc() 110 mmc_hostname(host->mmc), value); in sdhci_sparx5_set_emmc() 120 pr_debug("%s: Toggle EMMC_CTRL.EMMC_RST_N\n", mmc_hostname(host->mmc)); in sdhci_sparx5_reset_emmc() 134 pr_debug("%s: *** RESET: mask %d\n", mmc_hostname(host->mmc), mask); in sdhci_sparx5_reset() 198 ret = mmc_of_parse(host->mmc); in sdhci_sparx5_probe() 210 if (!mmc_card_is_removable(host->mmc)) { in sdhci_sparx5_probe() 216 host->mmc->caps2 |= (MMC_CAP2_NO_SDIO|MMC_CAP2_NO_SD); in sdhci_sparx5_probe() [all …]
|
| H A D | sdhci-pci-o2micro.c | 101 mmc_hostname(host->mmc)); in sdhci_o2_wait_card_detect_stable() 137 mmc_hostname(host->mmc)); in sdhci_o2_enable_internal_clock() 155 static int sdhci_o2_get_cd(struct mmc_host *mmc) in sdhci_o2_get_cd() argument 157 struct sdhci_host *host = mmc_priv(mmc); in sdhci_o2_get_cd() 225 mmc_hostname(host->mmc)); in __sdhci_o2_execute_tuning() 233 mmc_hostname(host->mmc)); in __sdhci_o2_execute_tuning() 279 if (sdhci_o2_get_cd(host->mmc)) { in sdhci_o2_dll_recovery() 292 mmc_hostname(host->mmc), in sdhci_o2_dll_recovery() 297 mmc_hostname(host->mmc)); in sdhci_o2_dll_recovery() 305 mmc_hostname(host->mmc)); in sdhci_o2_dll_recovery() [all …]
|
| H A D | sdhci_am654.c | 242 dev_err(mmc_dev(host->mmc), "DLL failed to relock\n"); in sdhci_am654_setup_dll() 279 unsigned char timing = host->mmc->ios.timing; in sdhci_am654_set_clock() 331 unsigned char timing = host->mmc->ios.timing; in sdhci_j721e_4bit_set_clock() 362 static int sdhci_am654_start_signal_voltage_switch(struct mmc_host *mmc, struct mmc_ios *ios) in sdhci_am654_start_signal_voltage_switch() argument 364 struct sdhci_host *host = mmc_priv(mmc); in sdhci_am654_start_signal_voltage_switch() 371 if (!IS_ERR(mmc->supply.vqmmc)) { in sdhci_am654_start_signal_voltage_switch() 372 ret = mmc_regulator_set_vqmmc(mmc, ios); in sdhci_am654_start_signal_voltage_switch() 375 mmc_hostname(mmc)); in sdhci_am654_start_signal_voltage_switch() 382 return sdhci_start_signal_voltage_switch(mmc, ios); in sdhci_am654_start_signal_voltage_switch() 395 unsigned char timing = host->mmc->ios.timing; in sdhci_am654_write_b() [all …]
|
| H A D | sh_mmcif.c | 219 struct mmc_host *mmc; member 1007 static void sh_mmcif_request(struct mmc_host *mmc, struct mmc_request *mrq) in sh_mmcif_request() argument 1009 struct sh_mmcif_host *host = mmc_priv(mmc); in sh_mmcif_request() 1019 mmc_request_done(mmc, mrq); in sh_mmcif_request() 1035 if (host->mmc->f_max) { in sh_mmcif_clk_setup() 1038 f_max = host->mmc->f_max; in sh_mmcif_clk_setup() 1051 host->mmc->f_max = f_max >> ffs(host->clkdiv_map); in sh_mmcif_clk_setup() 1052 host->mmc->f_min = f_min >> fls(host->clkdiv_map); in sh_mmcif_clk_setup() 1056 host->mmc->f_max = clk / 2; in sh_mmcif_clk_setup() 1057 host->mmc->f_min = clk / 512; in sh_mmcif_clk_setup() [all …]
|
| H A D | sunplus-mmc.c | 167 struct mmc_host *mmc; member 234 int f_min = host->mmc->f_min; in spmmc_set_bus_clk() 235 int f_max = host->mmc->f_max; in spmmc_set_bus_clk() 437 count = dma_map_sg(host->mmc->parent, data->sg, data->sg_len, in spmmc_prepare_data() 699 dma_unmap_sg(host->mmc->parent, data->sg, data->sg_len, mmc_get_dma_dir(data)); in spmmc_finish_request() 709 mmc_request_done(host->mmc, mrq); in spmmc_finish_request() 727 static void spmmc_request(struct mmc_host *mmc, struct mmc_request *mrq) in spmmc_request() argument 729 struct spmmc_host *host = mmc_priv(mmc); in spmmc_request() 745 mmc_request_done(host->mmc, mrq); in spmmc_request() 772 static void spmmc_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) in spmmc_set_ios() argument [all …]
|
| H A D | mmc_hsq.h | 24 struct mmc_host *mmc; member 42 int mmc_hsq_init(struct mmc_hsq *hsq, struct mmc_host *mmc); 43 void mmc_hsq_suspend(struct mmc_host *mmc); 44 int mmc_hsq_resume(struct mmc_host *mmc); 45 bool mmc_hsq_finalize_request(struct mmc_host *mmc, struct mmc_request *mrq);
|
| /linux/Documentation/devicetree/bindings/mmc/ |
| H A D | cavium-mmc.txt | 11 cavium,octeon-6130-mmc 12 cavium,octeon-7890-mmc 13 cavium,thunder-8190-mmc 14 cavium,thunder-8390-mmc 15 mmc-slot 16 - reg : mmc controller base registers 20 - for cd, bus-width and additional generic mmc parameters 21 please refer to mmc.txt within this directory 29 - cavium,octeon-6130-mmc-slot : use mmc-slot instead 32 mmc_1_4: mmc@1,4 { [all …]
|
| H A D | moxa,moxart-mmc.txt | 3 Inherits from mmc binding[1]. 5 [1] Documentation/devicetree/bindings/mmc/mmc.txt 9 - compatible : Must be "moxa,moxart-mmc" or "faraday,ftsdc010" 22 mmc: mmc@98e00000 { 23 compatible = "moxa,moxart-mmc";
|
| /linux/Documentation/driver-api/mmc/ |
| H A D | index.rst | 10 mmc-dev-attrs 11 mmc-dev-parts 12 mmc-async-req 13 mmc-test 14 mmc-tools
|