Lines Matching refs:cmd
66 struct mmc_command *cmd; member
232 static void pxamci_start_cmd(struct pxamci_host *host, struct mmc_command *cmd, unsigned int cmdat) in pxamci_start_cmd() argument
234 WARN_ON(host->cmd != NULL); in pxamci_start_cmd()
235 host->cmd = cmd; in pxamci_start_cmd()
237 if (cmd->flags & MMC_RSP_BUSY) in pxamci_start_cmd()
241 switch (RSP_TYPE(mmc_resp_type(cmd))) { in pxamci_start_cmd()
255 writel(cmd->opcode, host->base + MMC_CMD); in pxamci_start_cmd()
256 writel(cmd->arg >> 16, host->base + MMC_ARGH); in pxamci_start_cmd()
257 writel(cmd->arg & 0xffff, host->base + MMC_ARGL); in pxamci_start_cmd()
269 host->cmd = NULL; in pxamci_finish_request()
276 struct mmc_command *cmd = host->cmd; in pxamci_cmd_done() local
280 if (!cmd) in pxamci_cmd_done()
283 host->cmd = NULL; in pxamci_cmd_done()
293 cmd->resp[i] = v << 24 | w1 << 8 | w2 >> 8; in pxamci_cmd_done()
298 cmd->error = -ETIMEDOUT; in pxamci_cmd_done()
299 } else if (stat & STAT_RES_CRC_ERR && cmd->flags & MMC_RSP_CRC) { in pxamci_cmd_done()
307 (cmd->flags & MMC_RSP_136 && cmd->resp[0] & 0x80000000)) in pxamci_cmd_done()
308 pr_debug("ignoring CRC from command %d - *risky*\n", cmd->opcode); in pxamci_cmd_done()
310 cmd->error = -EILSEQ; in pxamci_cmd_done()
314 if (host->data && !cmd->error) { in pxamci_cmd_done()
422 pxamci_start_cmd(host, mrq->cmd, cmdat); in pxamci_request()