Lines Matching refs:idma
60 struct sdmmc_idma *idma = host->dma_priv; in sdmmc_idma_validate_data() local
69 idma->use_bounce_buffer = false; in sdmmc_idma_validate_data()
90 if (!idma->bounce_buf) { in sdmmc_idma_validate_data()
91 idma->bounce_buf = dmam_alloc_coherent(dev, in sdmmc_idma_validate_data()
93 &idma->bounce_dma_addr, in sdmmc_idma_validate_data()
95 if (!idma->bounce_buf) { in sdmmc_idma_validate_data()
101 idma->use_bounce_buffer = true; in sdmmc_idma_validate_data()
109 struct sdmmc_idma *idma = host->dma_priv; in _sdmmc_idma_prep_data() local
111 if (idma->use_bounce_buffer) { in _sdmmc_idma_prep_data()
116 idma->bounce_buf, xfer_bytes); in _sdmmc_idma_prep_data()
148 struct sdmmc_idma *idma = host->dma_priv; in sdmmc_idma_unprep_data() local
150 if (idma->use_bounce_buffer) { in sdmmc_idma_unprep_data()
155 idma->bounce_buf, xfer_bytes); in sdmmc_idma_unprep_data()
165 struct sdmmc_idma *idma; in sdmmc_idma_setup() local
168 idma = devm_kzalloc(dev, sizeof(*idma), GFP_KERNEL); in sdmmc_idma_setup()
169 if (!idma) in sdmmc_idma_setup()
172 host->dma_priv = idma; in sdmmc_idma_setup()
175 idma->sg_cpu = dmam_alloc_coherent(dev, SDMMC_LLI_BUF_LEN, in sdmmc_idma_setup()
176 &idma->sg_dma, GFP_KERNEL); in sdmmc_idma_setup()
177 if (!idma->sg_cpu) { in sdmmc_idma_setup()
197 struct sdmmc_idma *idma = host->dma_priv; in sdmmc_idma_start() local
198 struct sdmmc_lli_desc *desc = (struct sdmmc_lli_desc *)idma->sg_cpu; in sdmmc_idma_start()
204 idma->use_bounce_buffer) { in sdmmc_idma_start()
207 if (idma->use_bounce_buffer) in sdmmc_idma_start()
208 dma_addr = idma->bounce_dma_addr; in sdmmc_idma_start()
231 writel_relaxed(idma->sg_dma, host->base + MMCI_STM32_IDMABAR); in sdmmc_idma_start()