Lines Matching refs:areq
420 err = host->areq->err_check(host->card, in mmc_wait_for_data_req_done()
421 host->areq); in mmc_wait_for_data_req_done()
539 struct mmc_async_req *areq, int *error) in mmc_start_req() argument
543 struct mmc_async_req *data = host->areq; in mmc_start_req()
546 if (areq) in mmc_start_req()
547 mmc_pre_req(host, areq->mrq, !host->areq); in mmc_start_req()
549 if (host->areq) { in mmc_start_req()
550 err = mmc_wait_for_data_req_done(host, host->areq->mrq, areq); in mmc_start_req()
564 ((mmc_resp_type(host->areq->mrq->cmd) == MMC_RSP_R1) || in mmc_start_req()
565 (mmc_resp_type(host->areq->mrq->cmd) == MMC_RSP_R1B)) && in mmc_start_req()
566 (host->areq->mrq->cmd->resp[0] & R1_EXCEPTION_EVENT)) in mmc_start_req()
570 if (!err && areq) { in mmc_start_req()
573 areq->mrq->io_start = ktime_get(); in mmc_start_req()
574 areq->mrq->lat_hist_enabled = 1; in mmc_start_req()
576 areq->mrq->lat_hist_enabled = 0; in mmc_start_req()
578 trace_mmc_blk_rw_start(areq->mrq->cmd->opcode, in mmc_start_req()
579 areq->mrq->cmd->arg, in mmc_start_req()
580 areq->mrq->data); in mmc_start_req()
581 start_err = __mmc_start_data_req(host, areq->mrq); in mmc_start_req()
584 if (host->areq) in mmc_start_req()
585 mmc_post_req(host, host->areq->mrq, 0); in mmc_start_req()
588 if ((err || start_err) && areq) in mmc_start_req()
589 mmc_post_req(host, areq->mrq, -EINVAL); in mmc_start_req()
592 host->areq = NULL; in mmc_start_req()
594 host->areq = areq; in mmc_start_req()