Lines Matching refs:cmd
67 struct rt_mmcsd_cmd cmd; in sdio_io_send_op_cond() local
72 rt_memset(&cmd, 0, sizeof(struct rt_mmcsd_cmd)); in sdio_io_send_op_cond()
74 cmd.cmd_code = SD_IO_SEND_OP_COND; in sdio_io_send_op_cond()
75 cmd.arg = ocr; in sdio_io_send_op_cond()
76 cmd.flags = RESP_SPI_R4 | RESP_R4 | CMD_BCR; in sdio_io_send_op_cond()
80 err = mmcsd_send_cmd(host, &cmd, 0); in sdio_io_send_op_cond()
97 if (cmd.resp[1] & CARD_BUSY) in sdio_io_send_op_cond()
102 if (cmd.resp[0] & CARD_BUSY) in sdio_io_send_op_cond()
112 *cmd5_resp = cmd.resp[controller_is_spi(host) ? 1 : 0]; in sdio_io_send_op_cond()
124 struct rt_mmcsd_cmd cmd; in sdio_io_rw_direct() local
134 rt_memset(&cmd, 0, sizeof(struct rt_mmcsd_cmd)); in sdio_io_rw_direct()
136 cmd.cmd_code = SD_IO_RW_DIRECT; in sdio_io_rw_direct()
137 cmd.arg = rw ? SDIO_ARG_CMD52_WRITE : SDIO_ARG_CMD52_READ; in sdio_io_rw_direct()
138 cmd.arg |= fn << SDIO_ARG_CMD52_FUNC_SHIFT; in sdio_io_rw_direct()
139 cmd.arg |= raw ? SDIO_ARG_CMD52_RAW_FLAG : 0x00000000; in sdio_io_rw_direct()
140 cmd.arg |= reg_addr << SDIO_ARG_CMD52_REG_SHIFT; in sdio_io_rw_direct()
141 cmd.arg |= *pdata; in sdio_io_rw_direct()
142 cmd.flags = RESP_SPI_R5 | RESP_R5 | CMD_AC; in sdio_io_rw_direct()
144 err = mmcsd_send_cmd(card->host, &cmd, 0); in sdio_io_rw_direct()
150 if (cmd.resp[0] & R5_ERROR) in sdio_io_rw_direct()
152 if (cmd.resp[0] & R5_FUNCTION_NUMBER) in sdio_io_rw_direct()
154 if (cmd.resp[0] & R5_OUT_OF_RANGE) in sdio_io_rw_direct()
161 *pdata = (cmd.resp[0] >> 8) & 0xFF; in sdio_io_rw_direct()
163 *pdata = cmd.resp[0] & 0xFF; in sdio_io_rw_direct()
179 struct rt_mmcsd_cmd cmd; in sdio_io_rw_extended() local
192 rt_memset(&cmd, 0, sizeof(struct rt_mmcsd_cmd)); in sdio_io_rw_extended()
195 req.cmd = &cmd; in sdio_io_rw_extended()
198 cmd.cmd_code = SD_IO_RW_EXTENDED; in sdio_io_rw_extended()
199 cmd.arg = rw ? SDIO_ARG_CMD53_WRITE : SDIO_ARG_CMD53_READ; in sdio_io_rw_extended()
200 cmd.arg |= fn << SDIO_ARG_CMD53_FUNC_SHIFT; in sdio_io_rw_extended()
201 cmd.arg |= op_code ? SDIO_ARG_CMD53_INCREMENT : 0x00000000; in sdio_io_rw_extended()
202 cmd.arg |= addr << SDIO_ARG_CMD53_REG_SHIFT; in sdio_io_rw_extended()
204 cmd.arg |= (blksize == 512) ? 0 : blksize; /* byte mode */ in sdio_io_rw_extended()
206 cmd.arg |= SDIO_ARG_CMD53_BLOCK_MODE | blocks; /* block mode */ in sdio_io_rw_extended()
207 cmd.flags = RESP_SPI_R5 | RESP_R5 | CMD_ADTC; in sdio_io_rw_extended()
218 if (cmd.err) in sdio_io_rw_extended()
219 return cmd.err; in sdio_io_rw_extended()
225 if (cmd.resp[0] & R5_ERROR) in sdio_io_rw_extended()
227 if (cmd.resp[0] & R5_FUNCTION_NUMBER) in sdio_io_rw_extended()
229 if (cmd.resp[0] & R5_OUT_OF_RANGE) in sdio_io_rw_extended()