Lines Matching refs:txn

82 static void *alloc_dma(struct dmm_txn *txn, size_t sz, dma_addr_t *pa)  in alloc_dma()  argument
85 struct refill_engine *engine = txn->engine_handle; in alloc_dma()
88 txn->current_pa = round_up(txn->current_pa, 16); in alloc_dma()
89 txn->current_va = (void *)round_up((long)txn->current_va, 16); in alloc_dma()
91 ptr = txn->current_va; in alloc_dma()
92 *pa = txn->current_pa; in alloc_dma()
94 txn->current_pa += sz; in alloc_dma()
95 txn->current_va += sz; in alloc_dma()
97 BUG_ON((txn->current_va - engine->refill_va) > REFILL_BUFFER_SIZE); in alloc_dma()
167 struct dmm_txn *txn = NULL; in dmm_txn_init() local
190 txn = &engine->txn; in dmm_txn_init()
192 txn->engine_handle = engine; in dmm_txn_init()
193 txn->last_pat = NULL; in dmm_txn_init()
194 txn->current_va = engine->refill_va; in dmm_txn_init()
195 txn->current_pa = engine->refill_pa; in dmm_txn_init()
197 return txn; in dmm_txn_init()
204 static void dmm_txn_append(struct dmm_txn *txn, struct pat_area *area, in dmm_txn_append() argument
210 struct refill_engine *engine = txn->engine_handle; in dmm_txn_append()
215 pat = alloc_dma(txn, sizeof(struct pat), &pat_pa); in dmm_txn_append()
217 if (txn->last_pat) in dmm_txn_append()
218 txn->last_pat->next_pa = (uint32_t)pat_pa; in dmm_txn_append()
231 data = alloc_dma(txn, 4*i, &data_pa); in dmm_txn_append()
243 txn->last_pat = pat; in dmm_txn_append()
251 static int dmm_txn_commit(struct dmm_txn *txn, bool wait) in dmm_txn_commit() argument
254 struct refill_engine *engine = txn->engine_handle; in dmm_txn_commit()
257 if (!txn->last_pat) { in dmm_txn_commit()
263 txn->last_pat->next_pa = 0; in dmm_txn_commit()
309 struct dmm_txn *txn; in fill() local
311 txn = dmm_txn_init(omap_dmm, area->tcm); in fill()
312 if (IS_ERR_OR_NULL(txn)) in fill()
321 dmm_txn_append(txn, &p_area, pages, npages, roll); in fill()
326 ret = dmm_txn_commit(txn, wait); in fill()