Lines Matching refs:tdma
63 struct mv_cesa_tdma_desc *tdma; in mv_cesa_dma_cleanup() local
65 for (tdma = dreq->chain.first; tdma;) { in mv_cesa_dma_cleanup()
66 struct mv_cesa_tdma_desc *old_tdma = tdma; in mv_cesa_dma_cleanup()
67 u32 type = tdma->flags & CESA_TDMA_TYPE_MSK; in mv_cesa_dma_cleanup()
70 dma_pool_free(cesa_dev->dma->op_pool, tdma->op, in mv_cesa_dma_cleanup()
71 le32_to_cpu(tdma->src)); in mv_cesa_dma_cleanup()
73 tdma = tdma->next; in mv_cesa_dma_cleanup()
85 struct mv_cesa_tdma_desc *tdma; in mv_cesa_dma_prepare() local
87 for (tdma = dreq->chain.first; tdma; tdma = tdma->next) { in mv_cesa_dma_prepare()
88 if (tdma->flags & CESA_TDMA_DST_IN_SRAM) in mv_cesa_dma_prepare()
89 tdma->dst = cpu_to_le32(tdma->dst + engine->sram_dma); in mv_cesa_dma_prepare()
91 if (tdma->flags & CESA_TDMA_SRC_IN_SRAM) in mv_cesa_dma_prepare()
92 tdma->src = cpu_to_le32(tdma->src + engine->sram_dma); in mv_cesa_dma_prepare()
94 if ((tdma->flags & CESA_TDMA_TYPE_MSK) == CESA_TDMA_OP) in mv_cesa_dma_prepare()
95 mv_cesa_adjust_op(engine, tdma->op); in mv_cesa_dma_prepare()
127 struct mv_cesa_tdma_desc *tdma = NULL, *next = NULL; in mv_cesa_tdma_process() local
133 for (tdma = engine->chain.first; tdma; tdma = next) { in mv_cesa_tdma_process()
135 next = tdma->next; in mv_cesa_tdma_process()
138 if (tdma->flags & CESA_TDMA_END_OF_REQ) { in mv_cesa_tdma_process()
155 engine->chain.first = tdma->next; in mv_cesa_tdma_process()
156 tdma->next = NULL; in mv_cesa_tdma_process()
164 current_status = (tdma->cur_dma == tdma_cur) ? in mv_cesa_tdma_process()
177 if (res || tdma->cur_dma == tdma_cur) in mv_cesa_tdma_process()
219 struct mv_cesa_tdma_desc *tdma, *op_desc; in mv_cesa_dma_add_result_op() local
221 tdma = mv_cesa_dma_add_desc(chain, gfp_flags); in mv_cesa_dma_add_result_op()
222 if (IS_ERR(tdma)) in mv_cesa_dma_add_result_op()
223 return PTR_ERR(tdma); in mv_cesa_dma_add_result_op()
240 tdma->byte_cnt = cpu_to_le32(size | BIT(31)); in mv_cesa_dma_add_result_op()
241 tdma->src = src; in mv_cesa_dma_add_result_op()
242 tdma->dst = op_desc->src; in mv_cesa_dma_add_result_op()
243 tdma->op = op_desc->op; in mv_cesa_dma_add_result_op()
246 tdma->flags = flags | CESA_TDMA_RESULT; in mv_cesa_dma_add_result_op()
255 struct mv_cesa_tdma_desc *tdma; in mv_cesa_dma_add_op() local
260 tdma = mv_cesa_dma_add_desc(chain, flags); in mv_cesa_dma_add_op()
261 if (IS_ERR(tdma)) in mv_cesa_dma_add_op()
262 return ERR_CAST(tdma); in mv_cesa_dma_add_op()
272 tdma = chain->last; in mv_cesa_dma_add_op()
273 tdma->op = op; in mv_cesa_dma_add_op()
274 tdma->byte_cnt = cpu_to_le32(size | BIT(31)); in mv_cesa_dma_add_op()
275 tdma->src = cpu_to_le32(dma_handle); in mv_cesa_dma_add_op()
276 tdma->dst = CESA_SA_CFG_SRAM_OFFSET; in mv_cesa_dma_add_op()
277 tdma->flags = CESA_TDMA_DST_IN_SRAM | CESA_TDMA_OP; in mv_cesa_dma_add_op()
286 struct mv_cesa_tdma_desc *tdma; in mv_cesa_dma_add_data_transfer() local
288 tdma = mv_cesa_dma_add_desc(chain, gfp_flags); in mv_cesa_dma_add_data_transfer()
289 if (IS_ERR(tdma)) in mv_cesa_dma_add_data_transfer()
290 return PTR_ERR(tdma); in mv_cesa_dma_add_data_transfer()
292 tdma->byte_cnt = cpu_to_le32(size | BIT(31)); in mv_cesa_dma_add_data_transfer()
293 tdma->src = src; in mv_cesa_dma_add_data_transfer()
294 tdma->dst = dst; in mv_cesa_dma_add_data_transfer()
297 tdma->flags = flags | CESA_TDMA_DATA; in mv_cesa_dma_add_data_transfer()
304 struct mv_cesa_tdma_desc *tdma; in mv_cesa_dma_add_dummy_launch() local
306 tdma = mv_cesa_dma_add_desc(chain, flags); in mv_cesa_dma_add_dummy_launch()
307 return PTR_ERR_OR_ZERO(tdma); in mv_cesa_dma_add_dummy_launch()
312 struct mv_cesa_tdma_desc *tdma; in mv_cesa_dma_add_dummy_end() local
314 tdma = mv_cesa_dma_add_desc(chain, flags); in mv_cesa_dma_add_dummy_end()
315 if (IS_ERR(tdma)) in mv_cesa_dma_add_dummy_end()
316 return PTR_ERR(tdma); in mv_cesa_dma_add_dummy_end()
318 tdma->byte_cnt = cpu_to_le32(BIT(31)); in mv_cesa_dma_add_dummy_end()