Lines Matching refs:req
200 struct mmc_request *req;
295 struct mmc_request *req;
296 req = priv->req;
298 req->data->bytes_xfered = req->data->blksz * req->data->blocks;
301 if (req->data->flags & MMC_DATA_WRITE)
302 dma_unmap_sg(mmc_dev(priv->mmc), req->data->sg,
303 req->data->sg_len, DMA_TO_DEVICE);
305 dma_unmap_sg(mmc_dev(priv->mmc), req->data->sg,
306 req->data->sg_len, DMA_FROM_DEVICE);
309 if ((req->cmd->error) || (req->data->error))
310 mmc_request_done(priv->mmc, req);
313 if (!req->data->stop) {
315 mmc_request_done(priv->mmc, req);
324 priv->cmd = req->data->stop;
325 wmt_mci_send_command(priv->mmc, req->data->stop->opcode,
326 7, req->data->stop->arg, 9);
344 priv->req->data->error = -ETIMEDOUT;
349 priv->req->data->error = 0;
400 if ((!priv->req->data) ||
401 ((priv->req->data->stop) && (priv->cmd == priv->req->data->stop))) {
420 mmc_request_done(priv->mmc, priv->req);
558 static void wmt_mci_request(struct mmc_host *mmc, struct mmc_request *req)
576 priv->req = req;
583 priv->cmd = req->cmd;
585 command = req->cmd->opcode;
586 arg = req->cmd->arg;
587 rsptype = mmc_resp_type(req->cmd);
597 if (!req->data) {
602 if (req->data) {
610 writew((reg_tmp & 0xF800) | (req->data->blksz - 1),
614 writew(req->data->blocks, priv->sdmmc_base + SDMMC_BLKCNT);
618 if (req->data->flags & MMC_DATA_WRITE) {
619 sg_cnt = dma_map_sg(mmc_dev(mmc), req->data->sg,
620 req->data->sg_len, DMA_TO_DEVICE);
622 if (req->data->blocks > 1)
625 sg_cnt = dma_map_sg(mmc_dev(mmc), req->data->sg,
626 req->data->sg_len, DMA_FROM_DEVICE);
628 if (req->data->blocks > 1)
635 for_each_sg(req->data->sg, sg, sg_cnt, i) {
638 wmt_dma_init_descriptor(desc, req->data->blksz,
643 offset += req->data->blksz;
645 if (desc_cnt == req->data->blocks)
652 if (req->data->flags & MMC_DATA_WRITE)