Lines Matching refs:cmd

92 static int sd_read_data(struct rtsx_usb_sdmmc *host, struct mmc_command *cmd,  in sd_read_data()  argument
103 if (cmd != NULL) { in sd_read_data()
105 , cmd->opcode); in sd_read_data()
106 if (cmd->opcode == MMC_SEND_TUNING_BLOCK) in sd_read_data()
112 SD_CMD0, 0xFF, (u8)(cmd->opcode) | 0x40); in sd_read_data()
114 SD_CMD1, 0xFF, (u8)(cmd->arg >> 24)); in sd_read_data()
116 SD_CMD2, 0xFF, (u8)(cmd->arg >> 16)); in sd_read_data()
118 SD_CMD3, 0xFF, (u8)(cmd->arg >> 8)); in sd_read_data()
120 SD_CMD4, 0xFF, (u8)cmd->arg); in sd_read_data()
143 if (cmd != NULL) { in sd_read_data()
157 err = rtsx_usb_get_rsp(ucr, !cmd ? 1 : 5, timeout); in sd_read_data()
174 if (cmd != NULL) { in sd_read_data()
175 cmd->resp[0] = get_unaligned_be32(ucr->rsp_buf + 1); in sd_read_data()
177 cmd->resp[0]); in sd_read_data()
199 static int sd_write_data(struct rtsx_usb_sdmmc *host, struct mmc_command *cmd, in sd_write_data() argument
219 trans_mode = (cmd != NULL) ? SD_TM_AUTO_WRITE_2 : SD_TM_AUTO_WRITE_3; in sd_write_data()
222 if (cmd != NULL) { in sd_write_data()
224 cmd->opcode); in sd_write_data()
226 SD_CMD0, 0xFF, (u8)(cmd->opcode) | 0x40); in sd_write_data()
228 SD_CMD1, 0xFF, (u8)(cmd->arg >> 24)); in sd_write_data()
230 SD_CMD2, 0xFF, (u8)(cmd->arg >> 16)); in sd_write_data()
232 SD_CMD3, 0xFF, (u8)(cmd->arg >> 8)); in sd_write_data()
234 SD_CMD4, 0xFF, (u8)cmd->arg); in sd_write_data()
254 if (cmd != NULL) { in sd_write_data()
268 err = rtsx_usb_get_rsp(ucr, !cmd ? 1 : 5, timeout); in sd_write_data()
276 if (cmd != NULL) { in sd_write_data()
277 cmd->resp[0] = get_unaligned_be32(ucr->rsp_buf + 1); in sd_write_data()
279 cmd->resp[0]); in sd_write_data()
286 struct mmc_command *cmd) in sd_send_cmd_get_rsp() argument
289 u8 cmd_idx = (u8)cmd->opcode; in sd_send_cmd_get_rsp()
290 u32 arg = cmd->arg; in sd_send_cmd_get_rsp()
309 switch (mmc_resp_type(cmd)) { in sd_send_cmd_get_rsp()
335 timeout = cmd->busy_timeout ? cmd->busy_timeout : 3000; in sd_send_cmd_get_rsp()
337 if (cmd->opcode == SD_SWITCH_VOLTAGE) { in sd_send_cmd_get_rsp()
435 cmd->resp[i] = get_unaligned_be32(ptr + 1 + i * 4); in sd_send_cmd_get_rsp()
437 i, cmd->resp[i]); in sd_send_cmd_get_rsp()
440 cmd->resp[0] = get_unaligned_be32(ptr + 1); in sd_send_cmd_get_rsp()
442 cmd->resp[0]); in sd_send_cmd_get_rsp()
446 cmd->error = err; in sd_send_cmd_get_rsp()
548 struct mmc_command *cmd = mrq->cmd; in sd_normal_rw() local
554 cmd->error = -ENOMEM; in sd_normal_rw()
562 cmd->error = sd_read_data(host, cmd, (u16)data->blksz, buf, in sd_normal_rw()
572 cmd->error = sd_write_data(host, cmd, (u16)data->blksz, buf, in sd_normal_rw()
668 struct mmc_command cmd = {}; in sd_tuning_rx_cmd() local
674 cmd.opcode = MMC_SEND_TUNING_BLOCK; in sd_tuning_rx_cmd()
675 err = sd_read_data(host, &cmd, 0x40, NULL, 0, 100); in sd_tuning_rx_cmd()
809 struct mmc_command *cmd = mrq->cmd; in sdmmc_request() local
816 cmd->error = -ENOMEDIUM; in sdmmc_request()
821 cmd->error = -ENOMEDIUM; in sdmmc_request()
835 sd_send_cmd_get_rsp(host, cmd); in sdmmc_request()
836 } else if ((!(data_size % 512) && cmd->opcode != MMC_SEND_EXT_CSD) || in sdmmc_request()
837 mmc_op_multi(cmd->opcode)) { in sdmmc_request()
838 sd_send_cmd_get_rsp(host, cmd); in sdmmc_request()
840 if (!cmd->error) { in sdmmc_request()
843 if (mmc_op_multi(cmd->opcode) && mrq->stop) { in sdmmc_request()
854 if (cmd->error || data->error) in sdmmc_request()
863 if (cmd->error) { in sdmmc_request()
869 dev_dbg(sdmmc_dev(host), "cmd->error = %d\n", cmd->error); in sdmmc_request()
1398 host->mrq->cmd->error = -ENOMEDIUM; in rtsx_usb_sdmmc_drv_remove()