Lines Matching refs:cmd

28 	struct mmc_command cmd = {};  in mmc_app_cmd()  local
33 cmd.opcode = MMC_APP_CMD; in mmc_app_cmd()
36 cmd.arg = card->rca << 16; in mmc_app_cmd()
37 cmd.flags = MMC_RSP_SPI_R1 | MMC_RSP_R1 | MMC_CMD_AC; in mmc_app_cmd()
39 cmd.arg = 0; in mmc_app_cmd()
40 cmd.flags = MMC_RSP_SPI_R1 | MMC_RSP_R1 | MMC_CMD_BCR; in mmc_app_cmd()
43 err = mmc_wait_for_cmd(host, &cmd, 0); in mmc_app_cmd()
48 if (!mmc_host_is_spi(host) && !(cmd.resp[0] & R1_APP_CMD)) in mmc_app_cmd()
69 struct mmc_command *cmd, int retries) in mmc_wait_for_app_cmd() argument
89 if (cmd->resp[0] & R1_SPI_ILLEGAL_COMMAND) in mmc_wait_for_app_cmd()
97 memset(cmd->resp, 0, sizeof(cmd->resp)); in mmc_wait_for_app_cmd()
98 cmd->retries = 0; in mmc_wait_for_app_cmd()
100 mrq.cmd = cmd; in mmc_wait_for_app_cmd()
101 cmd->data = NULL; in mmc_wait_for_app_cmd()
105 err = cmd->error; in mmc_wait_for_app_cmd()
106 if (!cmd->error) in mmc_wait_for_app_cmd()
111 if (cmd->resp[0] & R1_SPI_ILLEGAL_COMMAND) in mmc_wait_for_app_cmd()
123 struct mmc_command cmd = {}; in mmc_app_set_bus_width() local
125 cmd.opcode = SD_APP_SET_BUS_WIDTH; in mmc_app_set_bus_width()
126 cmd.flags = MMC_RSP_R1 | MMC_CMD_AC; in mmc_app_set_bus_width()
130 cmd.arg = SD_BUS_WIDTH_1; in mmc_app_set_bus_width()
133 cmd.arg = SD_BUS_WIDTH_4; in mmc_app_set_bus_width()
139 return mmc_wait_for_app_cmd(card->host, card, &cmd, MMC_CMD_RETRIES); in mmc_app_set_bus_width()
144 struct mmc_command cmd = {}; in mmc_send_app_op_cond() local
147 cmd.opcode = SD_APP_OP_COND; in mmc_send_app_op_cond()
149 cmd.arg = ocr & (1 << 30); /* SPI only defines one bit */ in mmc_send_app_op_cond()
151 cmd.arg = ocr; in mmc_send_app_op_cond()
152 cmd.flags = MMC_RSP_SPI_R1 | MMC_RSP_R3 | MMC_CMD_BCR; in mmc_send_app_op_cond()
155 err = mmc_wait_for_app_cmd(host, NULL, &cmd, MMC_CMD_RETRIES); in mmc_send_app_op_cond()
165 if (!(cmd.resp[0] & R1_SPI_IDLE)) in mmc_send_app_op_cond()
168 if (cmd.resp[0] & MMC_CARD_BUSY) in mmc_send_app_op_cond()
181 *rocr = cmd.resp[0]; in mmc_send_app_op_cond()
188 struct mmc_command cmd = {}; in mmc_send_if_cond() local
198 cmd.opcode = SD_SEND_IF_COND; in mmc_send_if_cond()
199 cmd.arg = ((ocr & 0xFF8000) != 0) << 8 | test_pattern; in mmc_send_if_cond()
200 cmd.flags = MMC_RSP_SPI_R7 | MMC_RSP_R7 | MMC_CMD_BCR; in mmc_send_if_cond()
202 err = mmc_wait_for_cmd(host, &cmd, 0); in mmc_send_if_cond()
207 result_pattern = cmd.resp[1] & 0xFF; in mmc_send_if_cond()
209 result_pattern = cmd.resp[0] & 0xFF; in mmc_send_if_cond()
220 struct mmc_command cmd = {}; in mmc_send_relative_addr() local
222 cmd.opcode = SD_SEND_RELATIVE_ADDR; in mmc_send_relative_addr()
223 cmd.arg = 0; in mmc_send_relative_addr()
224 cmd.flags = MMC_RSP_R6 | MMC_CMD_BCR; in mmc_send_relative_addr()
226 err = mmc_wait_for_cmd(host, &cmd, MMC_CMD_RETRIES); in mmc_send_relative_addr()
230 *rca = cmd.resp[0] >> 16; in mmc_send_relative_addr()
239 struct mmc_command cmd = {}; in mmc_app_send_scr() local
257 mrq.cmd = &cmd; in mmc_app_send_scr()
260 cmd.opcode = SD_APP_SEND_SCR; in mmc_app_send_scr()
261 cmd.arg = 0; in mmc_app_send_scr()
262 cmd.flags = MMC_RSP_SPI_R1 | MMC_RSP_R1 | MMC_CMD_ADTC; in mmc_app_send_scr()
281 if (cmd.error) in mmc_app_send_scr()
282 return cmd.error; in mmc_app_send_scr()
293 struct mmc_command cmd = {}; in mmc_sd_switch() local
302 mrq.cmd = &cmd; in mmc_sd_switch()
305 cmd.opcode = SD_SWITCH; in mmc_sd_switch()
306 cmd.arg = mode << 31 | 0x00FFFFFF; in mmc_sd_switch()
307 cmd.arg &= ~(0xF << (group * 4)); in mmc_sd_switch()
308 cmd.arg |= value << (group * 4); in mmc_sd_switch()
309 cmd.flags = MMC_RSP_SPI_R1 | MMC_RSP_R1 | MMC_CMD_ADTC; in mmc_sd_switch()
323 if (cmd.error) in mmc_sd_switch()
324 return cmd.error; in mmc_sd_switch()
335 struct mmc_command cmd = {}; in mmc_app_sd_status() local
345 mrq.cmd = &cmd; in mmc_app_sd_status()
348 cmd.opcode = SD_APP_SD_STATUS; in mmc_app_sd_status()
349 cmd.arg = 0; in mmc_app_sd_status()
350 cmd.flags = MMC_RSP_SPI_R2 | MMC_RSP_R1 | MMC_CMD_ADTC; in mmc_app_sd_status()
364 if (cmd.error) in mmc_app_sd_status()
365 return cmd.error; in mmc_app_sd_status()