Lines Matching defs:host

174 static void sdhci_am654_setup_dll(struct sdhci_host *host, unsigned int clock)
176 struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
237 dev_err(mmc_dev(host->mmc), "DLL failed to relock\n");
270 static void sdhci_am654_set_clock(struct sdhci_host *host, unsigned int clock)
272 struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
274 unsigned char timing = host->mmc->ios.timing;
280 sdhci_set_clock(host, clock);
302 sdhci_am654_setup_dll(host, clock);
321 static void sdhci_j721e_4bit_set_clock(struct sdhci_host *host,
324 struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
326 unsigned char timing = host->mmc->ios.timing;
354 sdhci_set_clock(host, clock);
357 static u8 sdhci_am654_write_power_on(struct sdhci_host *host, u8 val, int reg)
359 writeb(val, host->ioaddr + reg);
361 return readb(host->ioaddr + reg);
365 static void sdhci_am654_write_b(struct sdhci_host *host, u8 val, int reg)
367 unsigned char timing = host->mmc->ios.timing;
383 writeb(val, host->ioaddr + reg);
392 MAX_POWER_ON_TIMEOUT, false, host, val,
395 dev_info(mmc_dev(host->mmc), "Power on failed\n");
399 static void sdhci_am654_reset(struct sdhci_host *host, u8 mask)
402 struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
405 sdhci_and_cqhci_reset(host, mask);
408 ctrl = sdhci_readb(host, SDHCI_HOST_CONTROL);
410 sdhci_writeb(host, ctrl, SDHCI_HOST_CONTROL);
416 struct sdhci_host *host = mmc_priv(mmc);
425 sdhci_reset(host, SDHCI_RESET_CMD | SDHCI_RESET_DATA);
430 static u32 sdhci_am654_cqhci_irq(struct sdhci_host *host, u32 intmask)
435 if (!sdhci_cqe_irq(host, intmask, &cmd_error, &data_error))
438 cqhci_irq(host->mmc, intmask, cmd_error, data_error);
446 static u32 sdhci_am654_calculate_itap(struct sdhci_host *host, struct window
451 struct device *dev = mmc_dev(host->mmc);
497 static int sdhci_am654_platform_execute_tuning(struct sdhci_host *host,
500 struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
502 unsigned char timing = host->mmc->ios.timing;
516 curr_pass = !mmc_send_tuning(host->mmc, opcode, NULL);
535 itap = sdhci_am654_calculate_itap(host, fail_window, fail_index,
643 static int sdhci_am654_cqe_add_host(struct sdhci_host *host)
647 cq_host = devm_kzalloc(mmc_dev(host->mmc), sizeof(struct cqhci_host),
652 cq_host->mmio = host->ioaddr + SDHCI_AM654_CQE_BASE_ADDR;
657 host->mmc->caps2 |= MMC_CAP2_CQE;
659 return cqhci_init(cq_host, host->mmc, 1);
662 static int sdhci_am654_get_otap_delay(struct sdhci_host *host,
665 struct device *dev = mmc_dev(host->mmc);
685 host->mmc->caps &= ~td[i].capability;
687 host->mmc->caps2 &= ~td[i].capability;
701 static int sdhci_am654_init(struct sdhci_host *host)
703 struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
735 if (host->mmc->caps & MMC_CAP_NONREMOVABLE)
745 ret = sdhci_setup_host(host);
749 ret = sdhci_am654_cqe_add_host(host);
753 ret = sdhci_am654_get_otap_delay(host, sdhci_am654);
757 ret = __sdhci_add_host(host);
764 sdhci_cleanup_host(host);
856 struct sdhci_host *host;
870 host = sdhci_pltfm_init(pdev, drvdata->pdata, sizeof(*sdhci_am654));
871 if (IS_ERR(host))
872 return PTR_ERR(host);
874 pltfm_host = sdhci_priv(host);
905 ret = mmc_of_parse(host->mmc);
911 host->mmc_host_ops.execute_tuning = sdhci_am654_execute_tuning;
922 ret = sdhci_am654_init(host);
946 struct sdhci_host *host = platform_get_drvdata(pdev);
947 struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
955 sdhci_remove_host(host, true);
963 static int sdhci_am654_restore(struct sdhci_host *host)
965 struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
992 if (host->mmc->caps & MMC_CAP_NONREMOVABLE)
1009 struct sdhci_host *host = dev_get_drvdata(dev);
1010 struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
1013 if (host->tuning_mode != SDHCI_TUNING_MODE_3)
1014 mmc_retune_needed(host->mmc);
1016 ret = cqhci_suspend(host->mmc);
1020 ret = sdhci_runtime_suspend_host(host);
1031 struct sdhci_host *host = dev_get_drvdata(dev);
1032 struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
1040 ret = sdhci_am654_restore(host);
1044 ret = sdhci_runtime_resume_host(host, 0);
1048 ret = cqhci_resume(host->mmc);