Lines Matching refs:mrq
404 struct mmc_request *mrq; member
626 struct mmc_request *mrq, struct mmc_command *cmd);
711 static void msdc_prepare_data(struct msdc_host *host, struct mmc_request *mrq) in msdc_prepare_data() argument
713 struct mmc_data *data = mrq->data; in msdc_prepare_data()
722 static void msdc_unprepare_data(struct msdc_host *host, struct mmc_request *mrq) in msdc_unprepare_data() argument
724 struct mmc_data *data = mrq->data; in msdc_unprepare_data()
943 struct mmc_request *mrq, struct mmc_command *cmd) in msdc_cmd_find_resp() argument
971 struct mmc_request *mrq, struct mmc_command *cmd) in msdc_cmd_prepare_raw_cmd() argument
979 u32 resp = msdc_cmd_find_resp(host, mrq, cmd); in msdc_cmd_prepare_raw_cmd()
1000 if (mmc_card_mmc(mmc->card) && mrq->sbc && in msdc_cmd_prepare_raw_cmd()
1001 !(mrq->sbc->arg & 0xFFFF0000)) in msdc_cmd_prepare_raw_cmd()
1025 static void msdc_start_data(struct msdc_host *host, struct mmc_request *mrq, in msdc_start_data() argument
1102 static void msdc_request_done(struct msdc_host *host, struct mmc_request *mrq) in msdc_request_done() argument
1113 host->mrq = NULL; in msdc_request_done()
1116 msdc_track_cmd_data(host, mrq->cmd, mrq->data); in msdc_request_done()
1117 if (mrq->data) in msdc_request_done()
1118 msdc_unprepare_data(host, mrq); in msdc_request_done()
1121 mmc_request_done(mmc_from_priv(host), mrq); in msdc_request_done()
1128 struct mmc_request *mrq, struct mmc_command *cmd) in msdc_cmd_done() argument
1135 if (mrq->sbc && cmd == mrq->cmd && in msdc_cmd_done()
1138 msdc_auto_cmd_done(host, events, mrq->sbc); in msdc_cmd_done()
1140 sbc_error = mrq->sbc && mrq->sbc->error; in msdc_cmd_done()
1193 msdc_cmd_next(host, mrq, cmd); in msdc_cmd_done()
1202 struct mmc_request *mrq, struct mmc_command *cmd) in msdc_cmd_is_ready() argument
1213 msdc_cmd_done(host, MSDC_INT_CMDTMO, mrq, cmd); in msdc_cmd_is_ready()
1226 msdc_cmd_done(host, MSDC_INT_CMDTMO, mrq, cmd); in msdc_cmd_is_ready()
1234 struct mmc_request *mrq, struct mmc_command *cmd) in msdc_start_command() argument
1243 if (!msdc_cmd_is_ready(host, mrq, cmd)) in msdc_start_command()
1253 rawcmd = msdc_cmd_prepare_raw_cmd(host, mrq, cmd); in msdc_start_command()
1264 struct mmc_request *mrq, struct mmc_command *cmd) in msdc_cmd_next() argument
1270 (mrq->sbc && mrq->sbc->error)) in msdc_cmd_next()
1271 msdc_request_done(host, mrq); in msdc_cmd_next()
1272 else if (cmd == mrq->sbc) in msdc_cmd_next()
1273 msdc_start_command(host, mrq, mrq->cmd); in msdc_cmd_next()
1275 msdc_request_done(host, mrq); in msdc_cmd_next()
1277 msdc_start_data(host, mrq, cmd, cmd->data); in msdc_cmd_next()
1280 static void msdc_ops_request(struct mmc_host *mmc, struct mmc_request *mrq) in msdc_ops_request() argument
1285 WARN_ON(host->mrq); in msdc_ops_request()
1286 host->mrq = mrq; in msdc_ops_request()
1288 if (mrq->data) in msdc_ops_request()
1289 msdc_prepare_data(host, mrq); in msdc_ops_request()
1295 if (mrq->sbc && (!mmc_card_mmc(mmc->card) || in msdc_ops_request()
1296 (mrq->sbc->arg & 0xFFFF0000))) in msdc_ops_request()
1297 msdc_start_command(host, mrq, mrq->sbc); in msdc_ops_request()
1299 msdc_start_command(host, mrq, mrq->cmd); in msdc_ops_request()
1302 static void msdc_pre_req(struct mmc_host *mmc, struct mmc_request *mrq) in msdc_pre_req() argument
1305 struct mmc_data *data = mrq->data; in msdc_pre_req()
1310 msdc_prepare_data(host, mrq); in msdc_pre_req()
1314 static void msdc_post_req(struct mmc_host *mmc, struct mmc_request *mrq, in msdc_post_req() argument
1320 data = mrq->data; in msdc_post_req()
1325 msdc_unprepare_data(host, mrq); in msdc_post_req()
1330 struct mmc_request *mrq, struct mmc_data *data) in msdc_data_xfer_next() argument
1332 if (mmc_op_multi(mrq->cmd->opcode) && mrq->stop && !mrq->stop->error && in msdc_data_xfer_next()
1333 !mrq->sbc) in msdc_data_xfer_next()
1334 msdc_start_command(host, mrq, mrq->stop); in msdc_data_xfer_next()
1336 msdc_request_done(host, mrq); in msdc_data_xfer_next()
1340 struct mmc_request *mrq, struct mmc_data *data) in msdc_data_xfer_done() argument
1384 __func__, mrq->cmd->opcode, data->blocks); in msdc_data_xfer_done()
1389 msdc_data_xfer_next(host, mrq, data); in msdc_data_xfer_done()
1462 if (host->mrq) { in msdc_request_timeout()
1464 host->mrq, host->mrq->cmd->opcode); in msdc_request_timeout()
1468 msdc_cmd_done(host, MSDC_INT_CMDTMO, host->mrq, in msdc_request_timeout()
1472 __func__, host->mrq->cmd->opcode, in msdc_request_timeout()
1474 msdc_data_xfer_done(host, MSDC_INT_DATTMO, host->mrq, in msdc_request_timeout()
1544 struct mmc_request *mrq; in msdc_irq() local
1557 mrq = host->mrq; in msdc_irq()
1582 if (!mrq) { in msdc_irq()
1593 msdc_cmd_done(host, events, mrq, cmd); in msdc_irq()
1595 msdc_data_xfer_done(host, events, mrq, data); in msdc_irq()