Lines Matching refs:cmd
28 struct mmc_command cmd = {0};
33 cmd.opcode = MMC_APP_CMD;
36 cmd.arg = card->rca << 16;
37 cmd.flags = MMC_RSP_SPI_R1 | MMC_RSP_R1 | MMC_CMD_AC;
39 cmd.arg = 0;
40 cmd.flags = MMC_RSP_SPI_R1 | MMC_RSP_R1 | MMC_CMD_BCR;
43 err = mmc_wait_for_cmd(host, &cmd, 0);
48 if (!mmc_host_is_spi(host) && !(cmd.resp[0] & R1_APP_CMD))
60 * @cmd: MMC command to start
69 struct mmc_command *cmd, int retries)
75 BUG_ON(!cmd);
89 if (cmd->resp[0] & R1_SPI_ILLEGAL_COMMAND)
97 memset(cmd->resp, 0, sizeof(cmd->resp));
98 cmd->retries = 0;
100 mrq.cmd = cmd;
101 cmd->data = NULL;
105 err = cmd->error;
106 if (!cmd->error)
111 if (cmd->resp[0] & R1_SPI_ILLEGAL_COMMAND)
124 struct mmc_command cmd = {0};
129 cmd.opcode = SD_APP_SET_BUS_WIDTH;
130 cmd.flags = MMC_RSP_R1 | MMC_CMD_AC;
134 cmd.arg = SD_BUS_WIDTH_1;
137 cmd.arg = SD_BUS_WIDTH_4;
143 err = mmc_wait_for_app_cmd(card->host, card, &cmd, MMC_CMD_RETRIES);
152 struct mmc_command cmd = {0};
157 cmd.opcode = SD_APP_OP_COND;
159 cmd.arg = ocr & (1 << 30); /* SPI only defines one bit */
161 cmd.arg = ocr;
162 cmd.flags = MMC_RSP_SPI_R1 | MMC_RSP_R3 | MMC_CMD_BCR;
165 err = mmc_wait_for_app_cmd(host, NULL, &cmd, MMC_CMD_RETRIES);
175 if (!(cmd.resp[0] & R1_SPI_IDLE))
178 if (cmd.resp[0] & MMC_CARD_BUSY)
191 *rocr = cmd.resp[0];
198 struct mmc_command cmd = {0};
208 cmd.opcode = SD_SEND_IF_COND;
209 cmd.arg = ((ocr & 0xFF8000) != 0) << 8 | test_pattern;
210 cmd.flags = MMC_RSP_SPI_R7 | MMC_RSP_R7 | MMC_CMD_BCR;
212 err = mmc_wait_for_cmd(host, &cmd, 0);
217 result_pattern = cmd.resp[1] & 0xFF;
219 result_pattern = cmd.resp[0] & 0xFF;
230 struct mmc_command cmd = {0};
235 cmd.opcode = SD_SEND_RELATIVE_ADDR;
236 cmd.arg = 0;
237 cmd.flags = MMC_RSP_R6 | MMC_CMD_BCR;
239 err = mmc_wait_for_cmd(host, &cmd, MMC_CMD_RETRIES);
243 *rca = cmd.resp[0] >> 16;
252 struct mmc_command cmd = {0};
274 mrq.cmd = &cmd;
277 cmd.opcode = SD_APP_SEND_SCR;
278 cmd.arg = 0;
279 cmd.flags = MMC_RSP_SPI_R1 | MMC_RSP_R1 | MMC_CMD_ADTC;
296 if (cmd.error)
297 return cmd.error;
311 struct mmc_command cmd = {0};
323 mrq.cmd = &cmd;
326 cmd.opcode = SD_SWITCH;
327 cmd.arg = mode << 31 | 0x00FFFFFF;
328 cmd.arg &= ~(0xF << (group * 4));
329 cmd.arg |= value << (group * 4);
330 cmd.flags = MMC_RSP_SPI_R1 | MMC_RSP_R1 | MMC_CMD_ADTC;
344 if (cmd.error)
345 return cmd.error;
356 struct mmc_command cmd = {0};
370 mrq.cmd = &cmd;
373 cmd.opcode = SD_APP_SD_STATUS;
374 cmd.arg = 0;
375 cmd.flags = MMC_RSP_SPI_R2 | MMC_RSP_R1 | MMC_CMD_ADTC;
389 if (cmd.error)
390 return cmd.error;