Lines Matching refs:txn
83 static void *alloc_dma(struct dmm_txn *txn, size_t sz, dma_addr_t *pa) in alloc_dma() argument
86 struct refill_engine *engine = txn->engine_handle; in alloc_dma()
89 txn->current_pa = round_up(txn->current_pa, 16); in alloc_dma()
90 txn->current_va = (void *)round_up((long)txn->current_va, 16); in alloc_dma()
92 ptr = txn->current_va; in alloc_dma()
93 *pa = txn->current_pa; in alloc_dma()
95 txn->current_pa += sz; in alloc_dma()
96 txn->current_va += sz; in alloc_dma()
98 BUG_ON((txn->current_va - engine->refill_va) > REFILL_BUFFER_SIZE); in alloc_dma()
168 struct dmm_txn *txn = NULL; in dmm_txn_init() local
191 txn = &engine->txn; in dmm_txn_init()
193 txn->engine_handle = engine; in dmm_txn_init()
194 txn->last_pat = NULL; in dmm_txn_init()
195 txn->current_va = engine->refill_va; in dmm_txn_init()
196 txn->current_pa = engine->refill_pa; in dmm_txn_init()
198 return txn; in dmm_txn_init()
205 static void dmm_txn_append(struct dmm_txn *txn, struct pat_area *area, in dmm_txn_append() argument
211 struct refill_engine *engine = txn->engine_handle; in dmm_txn_append()
216 pat = alloc_dma(txn, sizeof(struct pat), &pat_pa); in dmm_txn_append()
218 if (txn->last_pat) in dmm_txn_append()
219 txn->last_pat->next_pa = (uint32_t)pat_pa; in dmm_txn_append()
232 data = alloc_dma(txn, 4*i, &data_pa); in dmm_txn_append()
244 txn->last_pat = pat; in dmm_txn_append()
252 static int dmm_txn_commit(struct dmm_txn *txn, bool wait) in dmm_txn_commit() argument
255 struct refill_engine *engine = txn->engine_handle; in dmm_txn_commit()
258 if (!txn->last_pat) { in dmm_txn_commit()
264 txn->last_pat->next_pa = 0; in dmm_txn_commit()
310 struct dmm_txn *txn; in fill() local
312 txn = dmm_txn_init(omap_dmm, area->tcm); in fill()
313 if (IS_ERR_OR_NULL(txn)) in fill()
322 dmm_txn_append(txn, &p_area, pages, npages, roll); in fill()
327 ret = dmm_txn_commit(txn, wait); in fill()