Lines Matching refs:data
182 * trigger is when data words in MSC_RXFIFO is >= 8 and the DMA write
183 * trigger is when data words in MSC_TXFIFO is < 8.
277 struct mmc_data *data)
279 if ((data->flags & MMC_DATA_READ) && host->dma_rx)
286 struct mmc_data *data)
288 struct dma_chan *chan = jz4740_mmc_get_dma_chan(host, data);
289 enum dma_data_direction dir = mmc_get_dma_dir(data);
291 dma_unmap_sg(chan->device->dev, data->sg, data->sg_len, dir);
292 data->host_cookie = COOKIE_UNMAPPED;
295 /* Prepares DMA data for current or next transfer.
299 struct mmc_data *data,
302 struct dma_chan *chan = jz4740_mmc_get_dma_chan(host, data);
303 enum dma_data_direction dir = mmc_get_dma_dir(data);
306 if (data->host_cookie == COOKIE_PREMAPPED)
307 return data->sg_count;
310 data->sg,
311 data->sg_len,
320 data->sg_count = sg_count;
321 data->host_cookie = cookie;
323 return data->sg_count;
327 struct mmc_data *data)
329 struct dma_chan *chan = jz4740_mmc_get_dma_chan(host, data);
339 if (data->flags & MMC_DATA_WRITE) {
347 sg_count = jz4740_mmc_prepare_dma_data(host, data, COOKIE_MAPPED);
352 desc = dmaengine_prep_slave_sg(chan, data->sg, sg_count,
368 if (data->host_cookie == COOKIE_MAPPED)
369 jz4740_mmc_dma_unmap(host, data);
377 struct mmc_data *data = mrq->data;
382 data->host_cookie = COOKIE_UNMAPPED;
383 if (jz4740_mmc_prepare_dma_data(host, data, COOKIE_PREMAPPED) < 0)
384 data->host_cookie = COOKIE_UNMAPPED;
392 struct mmc_data *data = mrq->data;
394 if (data && data->host_cookie != COOKIE_UNMAPPED)
395 jz4740_mmc_dma_unmap(host, data);
398 struct dma_chan *chan = jz4740_mmc_get_dma_chan(host, data);
458 struct mmc_data *data;
461 data = req->data;
464 if (data && data->host_cookie == COOKIE_MAPPED)
465 jz4740_mmc_dma_unmap(host, data);
491 struct mmc_data *data)
499 data->error = -ETIMEDOUT;
502 data->error = -EIO;
507 data->error = -ETIMEDOUT;
510 data->error = -EIO;
516 struct mmc_data *data)
556 data->bytes_xfered += miter->length;
564 data->bytes_xfered += miter->consumed;
571 struct mmc_data *data)
618 data->bytes_xfered += miter->length;
635 data->bytes_xfered += miter->consumed;
705 if (cmd->data) {
707 if (cmd->data->flags & MMC_DATA_WRITE)
729 writew(cmd->data->blksz, host->base + JZ_REG_MMC_BLKLEN);
730 writew(cmd->data->blocks, host->base + JZ_REG_MMC_NOB);
743 struct mmc_data *data = cmd->data;
746 if (data->flags & MMC_DATA_READ)
751 sg_miter_start(&host->miter, data->sg, data->sg_len, direction);
760 struct mmc_data *data = cmd->data;
771 if (!data)
781 * relying on data flags in
785 timeout = jz4740_mmc_start_dma_transfer(host, data);
786 data->bytes_xfered = data->blocks * data->blksz;
787 } else if (data->flags & MMC_DATA_READ)
790 * by relying on data flags in
793 timeout = jz4740_mmc_read_data(host, data);
795 timeout = jz4740_mmc_write_data(host, data);
802 jz4740_mmc_transfer_check_state(host, data);
872 if (cmd->data)
873 cmd->data->error = -EIO;
1028 { .compatible = "ingenic,jz4740-mmc", .data = (void *) JZ_MMC_JZ4740 },
1029 { .compatible = "ingenic,jz4725b-mmc", .data = (void *)JZ_MMC_JZ4725B },
1030 { .compatible = "ingenic,jz4760-mmc", .data = (void *) JZ_MMC_JZ4760 },
1031 { .compatible = "ingenic,jz4775-mmc", .data = (void *) JZ_MMC_JZ4780 },
1032 { .compatible = "ingenic,jz4780-mmc", .data = (void *) JZ_MMC_JZ4780 },
1033 { .compatible = "ingenic,x1000-mmc", .data = (void *) JZ_MMC_X1000 },
1055 host->version = (enum jz4740_mmc_version)match->data;