Lines Matching refs:req
201 struct mmc_request *req;
296 struct mmc_request *req;
297 req = priv->req;
299 req->data->bytes_xfered = req->data->blksz * req->data->blocks;
302 if (req->data->flags & MMC_DATA_WRITE)
303 dma_unmap_sg(mmc_dev(priv->mmc), req->data->sg,
304 req->data->sg_len, DMA_TO_DEVICE);
306 dma_unmap_sg(mmc_dev(priv->mmc), req->data->sg,
307 req->data->sg_len, DMA_FROM_DEVICE);
310 if ((req->cmd->error) || (req->data->error))
311 mmc_request_done(priv->mmc, req);
314 if (!req->data->stop) {
316 mmc_request_done(priv->mmc, req);
325 priv->cmd = req->data->stop;
326 wmt_mci_send_command(priv->mmc, req->data->stop->opcode,
327 7, req->data->stop->arg, 9);
345 priv->req->data->error = -ETIMEDOUT;
350 priv->req->data->error = 0;
401 if ((!priv->req->data) ||
402 ((priv->req->data->stop) && (priv->cmd == priv->req->data->stop))) {
421 mmc_request_done(priv->mmc, priv->req);
559 static void wmt_mci_request(struct mmc_host *mmc, struct mmc_request *req)
577 priv->req = req;
584 priv->cmd = req->cmd;
586 command = req->cmd->opcode;
587 arg = req->cmd->arg;
588 rsptype = mmc_resp_type(req->cmd);
598 if (!req->data) {
603 if (req->data) {
611 writew((reg_tmp & 0xF800) | (req->data->blksz - 1),
615 writew(req->data->blocks, priv->sdmmc_base + SDMMC_BLKCNT);
619 if (req->data->flags & MMC_DATA_WRITE) {
620 sg_cnt = dma_map_sg(mmc_dev(mmc), req->data->sg,
621 req->data->sg_len, DMA_TO_DEVICE);
623 if (req->data->blocks > 1)
626 sg_cnt = dma_map_sg(mmc_dev(mmc), req->data->sg,
627 req->data->sg_len, DMA_FROM_DEVICE);
629 if (req->data->blocks > 1)
636 for_each_sg(req->data->sg, sg, sg_cnt, i) {
639 wmt_dma_init_descriptor(desc, req->data->blksz,
644 offset += req->data->blksz;
646 if (desc_cnt == req->data->blocks)
653 if (req->data->flags & MMC_DATA_WRITE)