Lines Matching refs:mrq

625 static u64 prepare_ext_dma(struct mmc_host *mmc, struct mmc_request *mrq)  in prepare_ext_dma()  argument
634 (mrq->data->flags & MMC_DATA_WRITE) ? 1 : 0) | in prepare_ext_dma()
635 FIELD_PREP(MIO_EMM_DMA_BLOCK_CNT, mrq->data->blocks) | in prepare_ext_dma()
636 FIELD_PREP(MIO_EMM_DMA_CARD_ADDR, mrq->cmd->arg); in prepare_ext_dma()
645 mrq->data->blocks, (emm_dma & MIO_EMM_DMA_MULTI) ? 1 : 0); in prepare_ext_dma()
650 struct mmc_request *mrq) in cvm_mmc_dma_request() argument
657 if (!mrq->data || !mrq->data->sg || !mrq->data->sg_len || in cvm_mmc_dma_request()
658 !mrq->stop || mrq->stop->opcode != MMC_STOP_TRANSMISSION) { in cvm_mmc_dma_request()
665 data = mrq->data; in cvm_mmc_dma_request()
672 host->current_req = mrq; in cvm_mmc_dma_request()
674 emm_dma = prepare_ext_dma(mmc, mrq); in cvm_mmc_dma_request()
686 host->dmar_fixup(host, mrq->cmd, data, addr); in cvm_mmc_dma_request()
701 mrq->cmd->error = -EINVAL; in cvm_mmc_dma_request()
702 if (mrq->done) in cvm_mmc_dma_request()
703 mrq->done(mrq); in cvm_mmc_dma_request()
707 static void do_read_request(struct cvm_mmc_host *host, struct mmc_request *mrq) in do_read_request() argument
709 sg_miter_start(&host->smi, mrq->data->sg, mrq->data->sg_len, in do_read_request()
713 static void do_write_request(struct cvm_mmc_host *host, struct mmc_request *mrq) in do_write_request() argument
715 unsigned int data_len = mrq->data->blocks * mrq->data->blksz; in do_write_request()
722 sg_miter_start(smi, mrq->data->sg, mrq->data->sg_len, SG_MITER_FROM_SG); in do_write_request()
750 static void cvm_mmc_request(struct mmc_host *mmc, struct mmc_request *mrq) in cvm_mmc_request() argument
754 struct mmc_command *cmd = mrq->cmd; in cvm_mmc_request()
772 return cvm_mmc_dma_request(mmc, mrq); in cvm_mmc_request()
779 host->current_req = mrq; in cvm_mmc_request()
783 do_read_request(host, mrq); in cvm_mmc_request()
785 do_write_request(host, mrq); in cvm_mmc_request()