Lines Matching refs:mrq
301 struct mmc_request *mrq; member
380 struct mmc_request *mrq, struct mmc_command *cmd);
450 static void msdc_prepare_data(struct msdc_host *host, struct mmc_request *mrq) in msdc_prepare_data() argument
452 struct mmc_data *data = mrq->data; in msdc_prepare_data()
463 static void msdc_unprepare_data(struct msdc_host *host, struct mmc_request *mrq) in msdc_unprepare_data() argument
465 struct mmc_data *data = mrq->data; in msdc_unprepare_data()
588 struct mmc_request *mrq, struct mmc_command *cmd) in msdc_cmd_find_resp() argument
616 struct mmc_request *mrq, struct mmc_command *cmd) in msdc_cmd_prepare_raw_cmd() argument
623 u32 resp = msdc_cmd_find_resp(host, mrq, cmd); in msdc_cmd_prepare_raw_cmd()
644 if (mmc_card_mmc(host->mmc->card) && mrq->sbc && in msdc_cmd_prepare_raw_cmd()
645 !(mrq->sbc->arg & 0xFFFF0000)) in msdc_cmd_prepare_raw_cmd()
669 static void msdc_start_data(struct msdc_host *host, struct mmc_request *mrq, in msdc_start_data() argument
720 static void msdc_request_done(struct msdc_host *host, struct mmc_request *mrq) in msdc_request_done() argument
731 host->mrq = NULL; in msdc_request_done()
734 msdc_track_cmd_data(host, mrq->cmd, mrq->data); in msdc_request_done()
735 if (mrq->data) in msdc_request_done()
736 msdc_unprepare_data(host, mrq); in msdc_request_done()
737 mmc_request_done(host->mmc, mrq); in msdc_request_done()
745 struct mmc_request *mrq, struct mmc_command *cmd) in msdc_cmd_done() argument
752 if (mrq->sbc && cmd == mrq->cmd && in msdc_cmd_done()
755 msdc_auto_cmd_done(host, events, mrq->sbc); in msdc_cmd_done()
757 sbc_error = mrq->sbc && mrq->sbc->error; in msdc_cmd_done()
801 msdc_cmd_next(host, mrq, cmd); in msdc_cmd_done()
810 struct mmc_request *mrq, struct mmc_command *cmd) in msdc_cmd_is_ready() argument
821 msdc_cmd_done(host, MSDC_INT_CMDTMO, mrq, cmd); in msdc_cmd_is_ready()
834 msdc_cmd_done(host, MSDC_INT_CMDTMO, mrq, cmd); in msdc_cmd_is_ready()
842 struct mmc_request *mrq, struct mmc_command *cmd) in msdc_start_command() argument
849 if (!msdc_cmd_is_ready(host, mrq, cmd)) in msdc_start_command()
859 rawcmd = msdc_cmd_prepare_raw_cmd(host, mrq, cmd); in msdc_start_command()
868 struct mmc_request *mrq, struct mmc_command *cmd) in msdc_cmd_next() argument
870 if (cmd->error || (mrq->sbc && mrq->sbc->error)) in msdc_cmd_next()
871 msdc_request_done(host, mrq); in msdc_cmd_next()
872 else if (cmd == mrq->sbc) in msdc_cmd_next()
873 msdc_start_command(host, mrq, mrq->cmd); in msdc_cmd_next()
875 msdc_request_done(host, mrq); in msdc_cmd_next()
877 msdc_start_data(host, mrq, cmd, cmd->data); in msdc_cmd_next()
880 static void msdc_ops_request(struct mmc_host *mmc, struct mmc_request *mrq) in msdc_ops_request() argument
885 WARN_ON(host->mrq); in msdc_ops_request()
886 host->mrq = mrq; in msdc_ops_request()
890 if (mrq->data) in msdc_ops_request()
891 msdc_prepare_data(host, mrq); in msdc_ops_request()
897 if (mrq->sbc && (!mmc_card_mmc(mmc->card) || in msdc_ops_request()
898 (mrq->sbc->arg & 0xFFFF0000))) in msdc_ops_request()
899 msdc_start_command(host, mrq, mrq->sbc); in msdc_ops_request()
901 msdc_start_command(host, mrq, mrq->cmd); in msdc_ops_request()
904 static void msdc_pre_req(struct mmc_host *mmc, struct mmc_request *mrq, in msdc_pre_req() argument
908 struct mmc_data *data = mrq->data; in msdc_pre_req()
913 msdc_prepare_data(host, mrq); in msdc_pre_req()
917 static void msdc_post_req(struct mmc_host *mmc, struct mmc_request *mrq, in msdc_post_req() argument
923 data = mrq->data; in msdc_post_req()
928 msdc_unprepare_data(host, mrq); in msdc_post_req()
933 struct mmc_request *mrq, struct mmc_data *data) in msdc_data_xfer_next() argument
935 if (mmc_op_multi(mrq->cmd->opcode) && mrq->stop && !mrq->stop->error && in msdc_data_xfer_next()
936 !mrq->sbc) in msdc_data_xfer_next()
937 msdc_start_command(host, mrq, mrq->stop); in msdc_data_xfer_next()
939 msdc_request_done(host, mrq); in msdc_data_xfer_next()
943 struct mmc_request *mrq, struct mmc_data *data) in msdc_data_xfer_done() argument
986 __func__, mrq->cmd->opcode, data->blocks); in msdc_data_xfer_done()
991 msdc_data_xfer_next(host, mrq, data); in msdc_data_xfer_done()
1073 if (host->mrq) { in msdc_request_timeout()
1075 host->mrq, host->mrq->cmd->opcode); in msdc_request_timeout()
1079 msdc_cmd_done(host, MSDC_INT_CMDTMO, host->mrq, in msdc_request_timeout()
1083 __func__, host->mrq->cmd->opcode, in msdc_request_timeout()
1085 msdc_data_xfer_done(host, MSDC_INT_DATTMO, host->mrq, in msdc_request_timeout()
1097 struct mmc_request *mrq; in msdc_irq() local
1108 mrq = host->mrq; in msdc_irq()
1116 if (!mrq) { in msdc_irq()
1127 msdc_cmd_done(host, events, mrq, cmd); in msdc_irq()
1129 msdc_data_xfer_done(host, events, mrq, data); in msdc_irq()