Lines Matching refs:mmc

271 	struct mmc_host *mmc;  member
339 struct mmc_ios ios = host->mmc->ios; in msm_get_clock_mult_for_bus_mode()
359 struct mmc_ios curr_ios = host->mmc->ios; in msm_set_clock_rate_for_bus_mode()
368 rc = dev_pm_opp_set_rate(mmc_dev(host->mmc), desired_rate); in msm_set_clock_rate_for_bus_mode()
371 mmc_hostname(host->mmc), desired_rate, curr_ios.timing); in msm_set_clock_rate_for_bus_mode()
383 mmc_hostname(host->mmc), desired_rate, achieved_rate); in msm_set_clock_rate_for_bus_mode()
384 host->mmc->actual_clock = achieved_rate / mult; in msm_set_clock_rate_for_bus_mode()
390 mmc_hostname(host->mmc), achieved_rate, curr_ios.timing); in msm_set_clock_rate_for_bus_mode()
398 struct mmc_host *mmc = host->mmc; in msm_dll_poll_ck_out_en() local
408 dev_err(mmc_dev(mmc), "%s: CK_OUT_EN bit is not %d\n", in msm_dll_poll_ck_out_en()
409 mmc_hostname(mmc), poll); in msm_dll_poll_ck_out_en()
430 struct mmc_host *mmc = host->mmc; in msm_config_cm_dll_phase() local
474 dev_err(mmc_dev(mmc), "%s: Failed to set DLL phase: %d\n", in msm_config_cm_dll_phase()
475 mmc_hostname(mmc), phase); in msm_config_cm_dll_phase()
500 struct mmc_host *mmc = host->mmc; in msm_find_most_appropriate_phase() local
503 dev_err(mmc_dev(mmc), "%s: Invalid argument: total_phases=%d\n", in msm_find_most_appropriate_phase()
504 mmc_hostname(mmc), total_phases); in msm_find_most_appropriate_phase()
586 dev_err(mmc_dev(mmc), "%s: Invalid phase selected=%d\n", in msm_find_most_appropriate_phase()
587 mmc_hostname(mmc), ret); in msm_find_most_appropriate_phase()
626 struct mmc_host *mmc = host->mmc; in msm_init_cm_dll() local
767 dev_err(mmc_dev(mmc), "%s: DLL failed to LOCK\n", in msm_init_cm_dll()
768 mmc_hostname(mmc)); in msm_init_cm_dll()
823 struct mmc_ios ios = host->mmc->ios; in msm_hc_select_hs400()
863 mmc_hostname(host->mmc), dll_lock); in msm_hc_select_hs400()
892 struct mmc_ios ios = host->mmc->ios; in sdhci_msm_hc_select_mode()
910 pr_debug("%s: %s: Enter\n", mmc_hostname(host->mmc), __func__); in sdhci_msm_cdclp533_calibration()
982 mmc_hostname(host->mmc), __func__); in sdhci_msm_cdclp533_calibration()
990 mmc_hostname(host->mmc), __func__, ret); in sdhci_msm_cdclp533_calibration()
999 pr_debug("%s: %s: Exit, ret %d\n", mmc_hostname(host->mmc), in sdhci_msm_cdclp533_calibration()
1006 struct mmc_host *mmc = host->mmc; in sdhci_msm_cm_dll_sdc4_calibration() local
1014 pr_debug("%s: %s: Enter\n", mmc_hostname(host->mmc), __func__); in sdhci_msm_cm_dll_sdc4_calibration()
1029 if (mmc->ios.enhanced_strobe) { in sdhci_msm_cm_dll_sdc4_calibration()
1049 mmc_hostname(host->mmc), __func__); in sdhci_msm_cm_dll_sdc4_calibration()
1075 pr_debug("%s: %s: Exit, ret %d\n", mmc_hostname(host->mmc), in sdhci_msm_cm_dll_sdc4_calibration()
1084 struct mmc_host *mmc = host->mmc; in sdhci_msm_hs400_dll_calibration() local
1090 pr_debug("%s: %s: Enter\n", mmc_hostname(host->mmc), __func__); in sdhci_msm_hs400_dll_calibration()
1100 if (!mmc->ios.enhanced_strobe) { in sdhci_msm_hs400_dll_calibration()
1118 pr_debug("%s: %s: Exit, ret %d\n", mmc_hostname(host->mmc), in sdhci_msm_hs400_dll_calibration()
1125 struct mmc_ios *ios = &host->mmc->ios; in sdhci_msm_is_tuning_needed()
1186 static int sdhci_msm_execute_tuning(struct mmc_host *mmc, u32 opcode) in sdhci_msm_execute_tuning() argument
1188 struct sdhci_host *host = mmc_priv(mmc); in sdhci_msm_execute_tuning()
1192 struct mmc_ios ios = host->mmc->ios; in sdhci_msm_execute_tuning()
1235 rc = mmc_send_tuning(mmc, opcode, NULL); in sdhci_msm_execute_tuning()
1239 dev_dbg(mmc_dev(mmc), "%s: Found good phase = %d\n", in sdhci_msm_execute_tuning()
1240 mmc_hostname(mmc), phase); in sdhci_msm_execute_tuning()
1253 dev_dbg(mmc_dev(mmc), "%s: All phases valid; try again\n", in sdhci_msm_execute_tuning()
1254 mmc_hostname(mmc)); in sdhci_msm_execute_tuning()
1276 dev_dbg(mmc_dev(mmc), "%s: Setting the tuning phase to %d\n", in sdhci_msm_execute_tuning()
1277 mmc_hostname(mmc), phase); in sdhci_msm_execute_tuning()
1282 dev_dbg(mmc_dev(mmc), "%s: No tuning point found\n", in sdhci_msm_execute_tuning()
1283 mmc_hostname(mmc)); in sdhci_msm_execute_tuning()
1312 mmc_hostname(host->mmc), ret); in sdhci_msm_hs400()
1319 struct mmc_host *mmc = host->mmc; in sdhci_msm_set_uhs_signaling() local
1385 dev_dbg(mmc_dev(mmc), "%s: clock=%u uhs=%u ctrl_2=0x%x\n", in sdhci_msm_set_uhs_signaling()
1386 mmc_hostname(host->mmc), host->clock, uhs, ctrl_2); in sdhci_msm_set_uhs_signaling()
1389 if (mmc->ios.timing == MMC_TIMING_MMC_HS400) in sdhci_msm_set_uhs_signaling()
1390 sdhci_msm_hs400(host, &mmc->ios); in sdhci_msm_set_uhs_signaling()
1406 static int sdhci_msm_set_vmmc(struct mmc_host *mmc) in sdhci_msm_set_vmmc() argument
1408 if (IS_ERR(mmc->supply.vmmc)) in sdhci_msm_set_vmmc()
1411 return mmc_regulator_set_ocr(mmc, mmc->supply.vmmc, mmc->ios.vdd); in sdhci_msm_set_vmmc()
1415 struct mmc_host *mmc, bool level) in msm_toggle_vqmmc() argument
1431 ret = mmc_regulator_set_vqmmc(mmc, &ios); in msm_toggle_vqmmc()
1433 dev_err(mmc_dev(mmc), "%s: vqmmc set volgate failed: %d\n", in msm_toggle_vqmmc()
1434 mmc_hostname(mmc), ret); in msm_toggle_vqmmc()
1438 ret = regulator_enable(mmc->supply.vqmmc); in msm_toggle_vqmmc()
1440 ret = regulator_disable(mmc->supply.vqmmc); in msm_toggle_vqmmc()
1444 dev_err(mmc_dev(mmc), "%s: vqmm %sable failed: %d\n", in msm_toggle_vqmmc()
1445 mmc_hostname(mmc), level ? "en":"dis", ret); in msm_toggle_vqmmc()
1453 struct mmc_host *mmc, bool hpm) in msm_config_vqmmc_mode() argument
1458 ret = regulator_set_load(mmc->supply.vqmmc, load); in msm_config_vqmmc_mode()
1460 dev_err(mmc_dev(mmc), "%s: vqmmc set load failed: %d\n", in msm_config_vqmmc_mode()
1461 mmc_hostname(mmc), ret); in msm_config_vqmmc_mode()
1466 struct mmc_host *mmc, bool level) in sdhci_msm_set_vqmmc() argument
1471 if (IS_ERR(mmc->supply.vqmmc) || in sdhci_msm_set_vqmmc()
1472 (mmc->ios.power_mode == MMC_POWER_UNDEFINED)) in sdhci_msm_set_vqmmc()
1484 always_on = !mmc_card_is_removable(mmc) && in sdhci_msm_set_vqmmc()
1485 mmc->card && mmc_card_mmc(mmc->card); in sdhci_msm_set_vqmmc()
1488 ret = msm_config_vqmmc_mode(msm_host, mmc, level); in sdhci_msm_set_vqmmc()
1490 ret = msm_toggle_vqmmc(msm_host, mmc, level); in sdhci_msm_set_vqmmc()
1525 mmc_hostname(host->mmc), __func__, req_type, in sdhci_msm_check_power_status()
1556 mmc_hostname(host->mmc), req_type); in sdhci_msm_check_power_status()
1574 mmc_hostname(host->mmc), req_type); in sdhci_msm_check_power_status()
1576 pr_debug("%s: %s: request %d done\n", mmc_hostname(host->mmc), in sdhci_msm_check_power_status()
1588 mmc_hostname(host->mmc), in sdhci_msm_dump_pwr_ctrl_regs()
1598 struct mmc_host *mmc = host->mmc; in sdhci_msm_handle_pwr_irq() local
1623 mmc_hostname(host->mmc), irq_status); in sdhci_msm_handle_pwr_irq()
1645 ret = sdhci_msm_set_vmmc(mmc); in sdhci_msm_handle_pwr_irq()
1647 ret = sdhci_msm_set_vqmmc(msm_host, mmc, in sdhci_msm_handle_pwr_irq()
1668 if (io_level && !IS_ERR(mmc->supply.vqmmc) && !pwr_state) { in sdhci_msm_handle_pwr_irq()
1669 ret = mmc_regulator_set_vqmmc(mmc, &mmc->ios); in sdhci_msm_handle_pwr_irq()
1671 …dev_err(mmc_dev(mmc), "%s: IO_level setting failed(%d). signal_voltage: %d, vdd: %d irq_status: 0x… in sdhci_msm_handle_pwr_irq()
1672 mmc_hostname(mmc), ret, in sdhci_msm_handle_pwr_irq()
1673 mmc->ios.signal_voltage, mmc->ios.vdd, in sdhci_msm_handle_pwr_irq()
1725 dev_dbg(mmc_dev(mmc), "%s: %s: Handled IRQ(%d), irq_status=0x%x, ack=0x%x\n", in sdhci_msm_handle_pwr_irq()
1726 mmc_hostname(msm_host->mmc), __func__, irq, irq_status, in sdhci_msm_handle_pwr_irq()
1791 host->mmc->actual_clock = msm_host->clk_rate = 0; in sdhci_msm_set_clock()
1813 struct mmc_host *mmc = msm_host->mmc; in sdhci_msm_ice_init() local
1814 struct device *dev = mmc_dev(mmc); in sdhci_msm_ice_init()
1830 mmc->caps2 |= MMC_CAP2_CRYPTO; in sdhci_msm_ice_init()
1837 if (msm_host->mmc->caps2 & MMC_CAP2_CRYPTO) in sdhci_msm_ice_enable()
1843 if (msm_host->mmc->caps2 & MMC_CAP2_CRYPTO) in sdhci_msm_ice_resume()
1851 if (msm_host->mmc->caps2 & MMC_CAP2_CRYPTO) in sdhci_msm_ice_suspend()
1865 struct sdhci_host *host = mmc_priv(cq_host->mmc); in sdhci_msm_program_key()
1925 cqhci_irq(host->mmc, intmask, cmd_error, data_error); in sdhci_msm_cqe_irq()
1929 static void sdhci_msm_cqe_enable(struct mmc_host *mmc) in sdhci_msm_cqe_enable() argument
1931 struct sdhci_host *host = mmc_priv(mmc); in sdhci_msm_cqe_enable()
1935 sdhci_cqe_enable(mmc); in sdhci_msm_cqe_enable()
1939 static void sdhci_msm_cqe_disable(struct mmc_host *mmc, bool recovery) in sdhci_msm_cqe_disable() argument
1941 struct sdhci_host *host = mmc_priv(mmc); in sdhci_msm_cqe_disable()
1967 sdhci_cqe_disable(mmc, recovery); in sdhci_msm_cqe_disable()
2023 msm_host->mmc->caps2 |= MMC_CAP2_CQE | MMC_CAP2_CQE_DCMD; in sdhci_msm_cqe_add_host()
2032 ret = cqhci_init(cq_host, host->mmc, dma64); in sdhci_msm_cqe_add_host()
2035 mmc_hostname(host->mmc), ret); in sdhci_msm_cqe_add_host()
2058 mmc_hostname(host->mmc)); in sdhci_msm_cqe_add_host()
2143 struct mmc_host *mmc = msm_host->mmc; in sdhci_msm_set_regulator_caps() local
2144 struct regulator *supply = mmc->supply.vqmmc; in sdhci_msm_set_regulator_caps()
2146 struct sdhci_host *host = mmc_priv(mmc); in sdhci_msm_set_regulator_caps()
2149 if (!IS_ERR(mmc->supply.vqmmc)) { in sdhci_msm_set_regulator_caps()
2157 mmc_hostname(mmc)); in sdhci_msm_set_regulator_caps()
2180 pr_debug("%s: supported caps: 0x%08x\n", mmc_hostname(mmc), caps); in sdhci_msm_set_regulator_caps()
2187 ret = mmc_regulator_get_supply(msm_host->mmc); in sdhci_msm_register_vreg()
2196 static int sdhci_msm_start_signal_voltage_switch(struct mmc_host *mmc, in sdhci_msm_start_signal_voltage_switch() argument
2199 struct sdhci_host *host = mmc_priv(mmc); in sdhci_msm_start_signal_voltage_switch()
2242 dev_warn(mmc_dev(mmc), "%s: Regulator output did not became stable\n", in sdhci_msm_start_signal_voltage_switch()
2243 mmc_hostname(mmc)); in sdhci_msm_start_signal_voltage_switch()
2250 pr_err("%s: " DRIVER_NAME ": " f, mmc_hostname(host->mmc), ## x)
2422 msm_host->mmc = host->mmc; in sdhci_msm_probe()
2425 ret = mmc_of_parse(host->mmc); in sdhci_msm_probe()
2629 msm_host->mmc->caps |= MMC_CAP_WAIT_WHILE_BUSY | MMC_CAP_NEED_RSP_BUSY; in sdhci_msm_probe()