Lines Matching refs:cmd

95 static void sd_cmd_set_sd_cmd(struct rtsx_pcr *pcr, struct mmc_command *cmd)  in sd_cmd_set_sd_cmd()  argument
98 SD_CMD_START | cmd->opcode); in sd_cmd_set_sd_cmd()
99 rtsx_pci_write_be32(pcr, SD_CMD1, cmd->arg); in sd_cmd_set_sd_cmd()
110 static int sd_response_type(struct mmc_command *cmd) in sd_response_type() argument
112 switch (mmc_resp_type(cmd)) { in sd_response_type()
210 struct mmc_command *cmd) in sd_send_cmd_get_rsp() argument
213 u8 cmd_idx = (u8)cmd->opcode; in sd_send_cmd_get_rsp()
214 u32 arg = cmd->arg; in sd_send_cmd_get_rsp()
226 rsp_type = sd_response_type(cmd); in sd_send_cmd_get_rsp()
233 timeout = cmd->busy_timeout ? cmd->busy_timeout : 3000; in sd_send_cmd_get_rsp()
235 if (cmd->opcode == SD_SWITCH_VOLTAGE) { in sd_send_cmd_get_rsp()
245 sd_cmd_set_sd_cmd(pcr, cmd); in sd_send_cmd_get_rsp()
309 cmd->resp[i] = get_unaligned_be32(ptr + 1 + i * 4); in sd_send_cmd_get_rsp()
311 i, cmd->resp[i]); in sd_send_cmd_get_rsp()
314 cmd->resp[0] = get_unaligned_be32(ptr + 1); in sd_send_cmd_get_rsp()
316 cmd->resp[0]); in sd_send_cmd_get_rsp()
320 cmd->error = err; in sd_send_cmd_get_rsp()
327 static int sd_read_data(struct realtek_pci_sdmmc *host, struct mmc_command *cmd, in sd_read_data() argument
335 __func__, cmd->opcode, cmd->arg); in sd_read_data()
340 if (cmd->opcode == MMC_SEND_TUNING_BLOCK) in sd_read_data()
346 sd_cmd_set_sd_cmd(pcr, cmd); in sd_read_data()
381 struct mmc_command *cmd, u16 byte_cnt, u8 *buf, int buf_len, in sd_write_data() argument
388 __func__, cmd->opcode, cmd->arg); in sd_write_data()
393 sd_send_cmd_get_rsp(host, cmd); in sd_write_data()
394 if (cmd->error) in sd_write_data()
395 return cmd->error; in sd_write_data()
433 struct mmc_command *cmd = mrq->cmd; in sd_read_long_data() local
442 __func__, cmd->opcode, cmd->arg); in sd_read_long_data()
444 resp_type = sd_response_type(cmd); in sd_read_long_data()
452 sd_cmd_set_sd_cmd(pcr, cmd); in sd_read_long_data()
491 struct mmc_command *cmd = mrq->cmd; in sd_write_long_data() local
498 sd_send_cmd_get_rsp(host, cmd); in sd_write_long_data()
499 if (cmd->error) in sd_write_long_data()
500 return cmd->error; in sd_write_long_data()
503 __func__, cmd->opcode, cmd->arg); in sd_write_long_data()
584 struct mmc_command *cmd = mrq->cmd; in sd_normal_rw() local
590 cmd->error = -ENOMEM; in sd_normal_rw()
598 cmd->error = sd_read_data(host, cmd, (u16)data->blksz, buf, in sd_normal_rw()
608 cmd->error = sd_write_data(host, cmd, (u16)data->blksz, buf, in sd_normal_rw()
704 struct mmc_command cmd = {}; in sd_tuning_rx_cmd() local
712 cmd.opcode = opcode; in sd_tuning_rx_cmd()
713 err = sd_read_data(host, &cmd, 0x40, NULL, 0, 100); in sd_tuning_rx_cmd()
783 static inline int sdio_extblock_cmd(struct mmc_command *cmd, in sdio_extblock_cmd() argument
786 return (cmd->opcode == SD_IO_RW_EXTENDED) && (data->blksz == 512); in sdio_extblock_cmd()
789 static inline int sd_rw_cmd(struct mmc_command *cmd) in sd_rw_cmd() argument
791 return mmc_op_multi(cmd->opcode) || in sd_rw_cmd()
792 (cmd->opcode == MMC_READ_SINGLE_BLOCK) || in sd_rw_cmd()
793 (cmd->opcode == MMC_WRITE_BLOCK); in sd_rw_cmd()
804 struct mmc_command *cmd = mrq->cmd; in sd_request() local
811 cmd->error = -ENOMEDIUM; in sd_request()
817 cmd->error = err; in sd_request()
839 sd_send_cmd_get_rsp(host, cmd); in sd_request()
840 } else if (sd_rw_cmd(cmd) || sdio_extblock_cmd(cmd, data)) { in sd_request()
841 cmd->error = sd_rw_multi(host, mrq); in sd_request()
845 if (mmc_op_multi(cmd->opcode) && mrq->stop) in sd_request()
852 if (cmd->error || data->error) in sd_request()
861 if (cmd->error) { in sd_request()
863 cmd->opcode, cmd->arg, cmd->error); in sd_request()
882 if (sd_rw_cmd(mrq->cmd) || sdio_extblock_cmd(mrq->cmd, data)) in sdmmc_request()
1547 host->mrq->cmd->error = -ENOMEDIUM; in rtsx_pci_sdmmc_drv_remove()