Lines Matching refs:cmd

85 	struct mmc_command *cmd = mrq->cmd;  in mmc_should_fail_request()  local
96 if ((cmd && cmd->error) || data->error || in mmc_should_fail_request()
127 mmc_hostname(host), mrq->cmd->opcode); in mmc_command_done()
141 struct mmc_command *cmd = mrq->cmd; in mmc_request_done() local
142 int err = cmd->error; in mmc_request_done()
145 if (!mmc_op_tuning(cmd->opcode) && in mmc_request_done()
152 if (err && cmd->retries && mmc_host_is_spi(host)) { in mmc_request_done()
153 if (cmd->resp[0] & R1_SPI_ILLEGAL_COMMAND) in mmc_request_done()
154 cmd->retries = 0; in mmc_request_done()
173 if (!err || !cmd->retries || mmc_card_removed(host->card)) { in mmc_request_done()
188 mmc_hostname(host), cmd->opcode, err, in mmc_request_done()
189 cmd->resp[0], cmd->resp[1], in mmc_request_done()
190 cmd->resp[2], cmd->resp[3]); in mmc_request_done()
223 mrq->cmd->error = err; in __mmc_start_request()
233 if (sdio_is_io_busy(mrq->cmd->opcode, mrq->cmd->arg) && in __mmc_start_request()
241 mrq->cmd->error = -EBUSY; in __mmc_start_request()
273 if (mrq->cmd) { in mmc_mrq_pr_debug()
276 mrq->cmd->opcode, mrq->cmd->arg, mrq->cmd->flags); in mmc_mrq_pr_debug()
303 if (mrq->cmd) { in mmc_mrq_prep()
304 mrq->cmd->error = 0; in mmc_mrq_prep()
305 mrq->cmd->mrq = mrq; in mmc_mrq_prep()
306 mrq->cmd->data = mrq->data; in mmc_mrq_prep()
389 mrq->cmd->error = err; in __mmc_start_req()
399 struct mmc_command *cmd; in mmc_wait_for_req_done() local
404 cmd = mrq->cmd; in mmc_wait_for_req_done()
406 if (!cmd->error || !cmd->retries || in mmc_wait_for_req_done()
413 mmc_hostname(host), cmd->opcode, cmd->error); in mmc_wait_for_req_done()
414 cmd->retries--; in mmc_wait_for_req_done()
415 cmd->error = 0; in mmc_wait_for_req_done()
462 if (mrq->cmd) { in mmc_cqe_start_req()
464 mmc_hostname(host), mrq->cmd->opcode, err); in mmc_cqe_start_req()
486 if ((mrq->cmd && mrq->cmd->error == -EILSEQ) || in mmc_cqe_request_done()
492 if (mrq->cmd) { in mmc_cqe_request_done()
494 mmc_hostname(host), mrq->cmd->opcode, mrq->cmd->error); in mmc_cqe_request_done()
536 struct mmc_command cmd; in mmc_cqe_recovery() local
549 memset(&cmd, 0, sizeof(cmd)); in mmc_cqe_recovery()
550 cmd.opcode = MMC_STOP_TRANSMISSION; in mmc_cqe_recovery()
551 cmd.flags = MMC_RSP_R1B | MMC_CMD_AC; in mmc_cqe_recovery()
552 cmd.flags &= ~MMC_RSP_CRC; /* Ignore CRC */ in mmc_cqe_recovery()
553 cmd.busy_timeout = MMC_CQE_RECOVERY_TIMEOUT; in mmc_cqe_recovery()
554 mmc_wait_for_cmd(host, &cmd, MMC_CMD_RETRIES); in mmc_cqe_recovery()
558 memset(&cmd, 0, sizeof(cmd)); in mmc_cqe_recovery()
559 cmd.opcode = MMC_CMDQ_TASK_MGMT; in mmc_cqe_recovery()
560 cmd.arg = 1; /* Discard entire queue */ in mmc_cqe_recovery()
561 cmd.flags = MMC_RSP_R1B | MMC_CMD_AC; in mmc_cqe_recovery()
562 cmd.flags &= ~MMC_RSP_CRC; /* Ignore CRC */ in mmc_cqe_recovery()
563 cmd.busy_timeout = MMC_CQE_RECOVERY_TIMEOUT; in mmc_cqe_recovery()
564 err = mmc_wait_for_cmd(host, &cmd, MMC_CMD_RETRIES); in mmc_cqe_recovery()
569 err = mmc_wait_for_cmd(host, &cmd, MMC_CMD_RETRIES); in mmc_cqe_recovery()
626 int mmc_wait_for_cmd(struct mmc_host *host, struct mmc_command *cmd, int retries) in mmc_wait_for_cmd() argument
632 memset(cmd->resp, 0, sizeof(cmd->resp)); in mmc_wait_for_cmd()
633 cmd->retries = retries; in mmc_wait_for_cmd()
635 mrq.cmd = cmd; in mmc_wait_for_cmd()
636 cmd->data = NULL; in mmc_wait_for_cmd()
640 return cmd->error; in mmc_wait_for_cmd()
1207 struct mmc_command cmd = {}; in mmc_set_uhs_voltage() local
1220 cmd.opcode = SD_SWITCH_VOLTAGE; in mmc_set_uhs_voltage()
1221 cmd.arg = 0; in mmc_set_uhs_voltage()
1222 cmd.flags = MMC_RSP_R1 | MMC_CMD_AC; in mmc_set_uhs_voltage()
1224 err = mmc_wait_for_cmd(host, &cmd, 0); in mmc_set_uhs_voltage()
1228 if (!mmc_host_is_spi(host) && (cmd.resp[0] & R1_ERROR)) in mmc_set_uhs_voltage()
1604 struct mmc_command cmd = {}; in mmc_do_erase() local
1642 cmd.opcode = SD_ERASE_WR_BLK_START; in mmc_do_erase()
1644 cmd.opcode = MMC_ERASE_GROUP_START; in mmc_do_erase()
1645 cmd.arg = from; in mmc_do_erase()
1646 cmd.flags = MMC_RSP_SPI_R1 | MMC_RSP_R1 | MMC_CMD_AC; in mmc_do_erase()
1647 err = mmc_wait_for_cmd(card->host, &cmd, 0); in mmc_do_erase()
1650 "status %#x\n", err, cmd.resp[0]); in mmc_do_erase()
1655 memset(&cmd, 0, sizeof(struct mmc_command)); in mmc_do_erase()
1657 cmd.opcode = SD_ERASE_WR_BLK_END; in mmc_do_erase()
1659 cmd.opcode = MMC_ERASE_GROUP_END; in mmc_do_erase()
1660 cmd.arg = to; in mmc_do_erase()
1661 cmd.flags = MMC_RSP_SPI_R1 | MMC_RSP_R1 | MMC_CMD_AC; in mmc_do_erase()
1662 err = mmc_wait_for_cmd(card->host, &cmd, 0); in mmc_do_erase()
1665 err, cmd.resp[0]); in mmc_do_erase()
1670 memset(&cmd, 0, sizeof(struct mmc_command)); in mmc_do_erase()
1671 cmd.opcode = MMC_ERASE; in mmc_do_erase()
1672 cmd.arg = arg; in mmc_do_erase()
1674 use_r1b_resp = mmc_prepare_busy_cmd(card->host, &cmd, busy_timeout); in mmc_do_erase()
1676 err = mmc_wait_for_cmd(card->host, &cmd, 0); in mmc_do_erase()
1679 err, cmd.resp[0]); in mmc_do_erase()
1991 struct mmc_command cmd = {}; in mmc_set_blocklen() local
1997 cmd.opcode = MMC_SET_BLOCKLEN; in mmc_set_blocklen()
1998 cmd.arg = blocklen; in mmc_set_blocklen()
1999 cmd.flags = MMC_RSP_SPI_R1 | MMC_RSP_R1 | MMC_CMD_AC; in mmc_set_blocklen()
2000 return mmc_wait_for_cmd(card->host, &cmd, 5); in mmc_set_blocklen()