intirq;/* Device IRQ */// sdhci的中断void__iomem *ioaddr;/* Mapped address */// sdhci寄存器的基地址conststructsdhci_ops*ops;/* Low level hw interface */// 底层硬件的操作接口structregulator*vmmc;/* Power regulator (vmmc) *
代码语言:javascript 代码运行次数:0 运行 AI代码解释 struct sdhci_ops { #ifdef CONFIG_MMC_SDHCI_IO_ACCESSORS // 表示host另外提供了一套访问寄存器的方法,没有定义的话,则说明使用通用的读写寄存器的方法 u32 (*read_l)(struct sdhci_host *host, int reg); u16 (*read_w)(struct sdhci_host *host...
timeout_clock)(struct sdhci_host *host); 529 unsigned int (*get_max_timeout_count)(struct sdhci_host *host); 530 void (*set_timeout)(struct sdhci_host *host, 531 struct mmc_command *cmd); 532 void (*set_bus_width)(struct sdhci_host *host, int width); 533 void (*platform_send...
static const struct mmc_host_ops sdhci_ops = { // post_req和pre_req是为了实现异步请求处理而设置的 // 异步请求处理就是指,当另外一个异步请求还没有处理完成的时候,可以先准备另外一个异步请求而不必等待 // 具体参考《mmc core主模块》 .pre_req = sdhci_pre_req, .post_req = sdhci_post_req,...
@@ -1016,8 +1014,8 @@ void sdhci_send_command(struct sdhci_host *host, struct mmc_command *cmd) while (sdhci_readl(host, SDHCI_PRESENT_STATE) & mask) { if (timeout == 0) { - pr_err("%s: Controller never released " - "inhibit bit(s).\n", mmc_hostname(host->mmc)); ...
struct mmc_command *cmd) if (!data) target_timeout = cmd->busy_timeout * 1000; else { - target_timeout = data->timeout_ns / 1000; + target_timeout = DIV_ROUND_UP(data->timeout_ns, 1000); if (host->clock) target_timeout += data->timeout_clks / host->clock; ...
We read every piece of feedback, and take your input very seriously. Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to filter your results more quickly Cancel Create saved search Sign in Sign up Reseting focus {...
Cancel Create saved search Sign in Sign up {{ message }} Digilent / u-boot-Digilent-Dev Public forked from Xilinx/u-boot-xlnx Notifications You must be signed in to change notification settings Fork 14 Star 9 Code Pull requests ...
sdhci_send_command(host, mrq->sbc); else @@ -2065,23 +2019,18 @@ static int sdhci_execute_tuning(struct mmc_host *mmc, u32 opcode) } out: - host->flags &= ~SDHCI_NEEDS_RETUNING; - if (tuning_count) { - host->flags |= SDHCI_USING_RETUNING_TIMER; ...
struct mmc_command *cmd) if (!data) target_timeout = cmd->busy_timeout * 1000; else { - target_timeout = data->timeout_ns / 1000; + target_timeout = DIV_ROUND_UP(data->timeout_ns, 1000); if (host->clock) target_timeout += data->timeout_clks / host->clock; ...