Lines Matching defs:host

167 static void sdhci_am654_setup_dll(struct sdhci_host *host, unsigned int clock)
169 struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
230 dev_err(mmc_dev(host->mmc), "DLL failed to relock\n");
261 static void sdhci_am654_set_clock(struct sdhci_host *host, unsigned int clock)
263 struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
265 unsigned char timing = host->mmc->ios.timing;
272 sdhci_set_clock(host, clock);
299 sdhci_am654_setup_dll(host, clock);
307 static void sdhci_j721e_4bit_set_clock(struct sdhci_host *host,
310 struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
312 unsigned char timing = host->mmc->ios.timing;
330 sdhci_set_clock(host, clock);
333 static u8 sdhci_am654_write_power_on(struct sdhci_host *host, u8 val, int reg)
335 writeb(val, host->ioaddr + reg);
337 return readb(host->ioaddr + reg);
341 static void sdhci_am654_write_b(struct sdhci_host *host, u8 val, int reg)
343 unsigned char timing = host->mmc->ios.timing;
359 writeb(val, host->ioaddr + reg);
368 MAX_POWER_ON_TIMEOUT, false, host, val,
371 dev_info(mmc_dev(host->mmc), "Power on failed\n");
375 static void sdhci_am654_reset(struct sdhci_host *host, u8 mask)
378 struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
381 sdhci_and_cqhci_reset(host, mask);
384 ctrl = sdhci_readb(host, SDHCI_HOST_CONTROL);
386 sdhci_writeb(host, ctrl, SDHCI_HOST_CONTROL);
392 struct sdhci_host *host = mmc_priv(mmc);
401 sdhci_reset(host, SDHCI_RESET_CMD | SDHCI_RESET_DATA);
406 static u32 sdhci_am654_cqhci_irq(struct sdhci_host *host, u32 intmask)
411 if (!sdhci_cqe_irq(host, intmask, &cmd_error, &data_error))
414 cqhci_irq(host->mmc, intmask, cmd_error, data_error);
420 static int sdhci_am654_platform_execute_tuning(struct sdhci_host *host,
423 struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
435 cur_val = !mmc_send_tuning(host->mmc, opcode, NULL);
554 static int sdhci_am654_cqe_add_host(struct sdhci_host *host)
558 cq_host = devm_kzalloc(mmc_dev(host->mmc), sizeof(struct cqhci_host),
563 cq_host->mmio = host->ioaddr + SDHCI_AM654_CQE_BASE_ADDR;
568 host->mmc->caps2 |= MMC_CAP2_CQE;
570 return cqhci_init(cq_host, host->mmc, 1);
573 static int sdhci_am654_get_otap_delay(struct sdhci_host *host,
576 struct device *dev = mmc_dev(host->mmc);
613 host->mmc->caps &= ~td[i].capability;
615 host->mmc->caps2 &= ~td[i].capability;
626 static int sdhci_am654_init(struct sdhci_host *host)
628 struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
660 if (host->mmc->caps & MMC_CAP_NONREMOVABLE)
670 ret = sdhci_setup_host(host);
674 ret = sdhci_am654_cqe_add_host(host);
678 ret = sdhci_am654_get_otap_delay(host, sdhci_am654);
682 ret = __sdhci_add_host(host);
689 sdhci_cleanup_host(host);
781 struct sdhci_host *host;
795 host = sdhci_pltfm_init(pdev, drvdata->pdata, sizeof(*sdhci_am654));
796 if (IS_ERR(host))
797 return PTR_ERR(host);
799 pltfm_host = sdhci_priv(host);
830 ret = mmc_of_parse(host->mmc);
836 host->mmc_host_ops.execute_tuning = sdhci_am654_execute_tuning;
847 ret = sdhci_am654_init(host);
871 struct sdhci_host *host = platform_get_drvdata(pdev);
872 struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
880 sdhci_remove_host(host, true);
888 static int sdhci_am654_restore(struct sdhci_host *host)
890 struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
917 if (host->mmc->caps & MMC_CAP_NONREMOVABLE)
934 struct sdhci_host *host = dev_get_drvdata(dev);
935 struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
938 if (host->tuning_mode != SDHCI_TUNING_MODE_3)
939 mmc_retune_needed(host->mmc);
941 ret = cqhci_suspend(host->mmc);
945 ret = sdhci_runtime_suspend_host(host);
956 struct sdhci_host *host = dev_get_drvdata(dev);
957 struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
965 ret = sdhci_am654_restore(host);
969 ret = sdhci_runtime_resume_host(host, 0);
973 ret = cqhci_resume(host->mmc);