Lines Matching refs:tdma
60 struct mv_cesa_tdma_desc *tdma; in mv_cesa_dma_cleanup() local
62 for (tdma = dreq->chain.first; tdma;) { in mv_cesa_dma_cleanup()
63 struct mv_cesa_tdma_desc *old_tdma = tdma; in mv_cesa_dma_cleanup()
64 u32 type = tdma->flags & CESA_TDMA_TYPE_MSK; in mv_cesa_dma_cleanup()
67 dma_pool_free(cesa_dev->dma->op_pool, tdma->op, in mv_cesa_dma_cleanup()
68 le32_to_cpu(tdma->src)); in mv_cesa_dma_cleanup()
70 tdma = tdma->next; in mv_cesa_dma_cleanup()
82 struct mv_cesa_tdma_desc *tdma; in mv_cesa_dma_prepare() local
84 for (tdma = dreq->chain.first; tdma; tdma = tdma->next) { in mv_cesa_dma_prepare()
85 if (tdma->flags & CESA_TDMA_DST_IN_SRAM) in mv_cesa_dma_prepare()
86 tdma->dst = cpu_to_le32(tdma->dst_dma + engine->sram_dma); in mv_cesa_dma_prepare()
88 if (tdma->flags & CESA_TDMA_SRC_IN_SRAM) in mv_cesa_dma_prepare()
89 tdma->src = cpu_to_le32(tdma->src_dma + engine->sram_dma); in mv_cesa_dma_prepare()
91 if ((tdma->flags & CESA_TDMA_TYPE_MSK) == CESA_TDMA_OP) in mv_cesa_dma_prepare()
92 mv_cesa_adjust_op(engine, tdma->op); in mv_cesa_dma_prepare()
124 struct mv_cesa_tdma_desc *tdma = NULL, *next = NULL; in mv_cesa_tdma_process() local
130 for (tdma = engine->chain.first; tdma; tdma = next) { in mv_cesa_tdma_process()
132 next = tdma->next; in mv_cesa_tdma_process()
135 if (tdma->flags & CESA_TDMA_END_OF_REQ) { in mv_cesa_tdma_process()
152 engine->chain.first = tdma->next; in mv_cesa_tdma_process()
153 tdma->next = NULL; in mv_cesa_tdma_process()
161 current_status = (tdma->cur_dma == tdma_cur) ? in mv_cesa_tdma_process()
174 if (res || tdma->cur_dma == tdma_cur) in mv_cesa_tdma_process()
218 struct mv_cesa_tdma_desc *tdma, *op_desc; in mv_cesa_dma_add_result_op() local
220 tdma = mv_cesa_dma_add_desc(chain, gfp_flags); in mv_cesa_dma_add_result_op()
221 if (IS_ERR(tdma)) in mv_cesa_dma_add_result_op()
222 return PTR_ERR(tdma); in mv_cesa_dma_add_result_op()
239 tdma->byte_cnt = cpu_to_le32(size | BIT(31)); in mv_cesa_dma_add_result_op()
240 tdma->src_dma = src; in mv_cesa_dma_add_result_op()
241 tdma->dst_dma = op_desc->src_dma; in mv_cesa_dma_add_result_op()
242 tdma->op = op_desc->op; in mv_cesa_dma_add_result_op()
245 tdma->flags = flags | CESA_TDMA_RESULT; in mv_cesa_dma_add_result_op()
254 struct mv_cesa_tdma_desc *tdma; in mv_cesa_dma_add_op() local
259 tdma = mv_cesa_dma_add_desc(chain, flags); in mv_cesa_dma_add_op()
260 if (IS_ERR(tdma)) in mv_cesa_dma_add_op()
261 return ERR_CAST(tdma); in mv_cesa_dma_add_op()
271 tdma = chain->last; in mv_cesa_dma_add_op()
272 tdma->op = op; in mv_cesa_dma_add_op()
273 tdma->byte_cnt = cpu_to_le32(size | BIT(31)); in mv_cesa_dma_add_op()
274 tdma->src = cpu_to_le32(dma_handle); in mv_cesa_dma_add_op()
275 tdma->dst_dma = CESA_SA_CFG_SRAM_OFFSET; in mv_cesa_dma_add_op()
276 tdma->flags = CESA_TDMA_DST_IN_SRAM | CESA_TDMA_OP; in mv_cesa_dma_add_op()
285 struct mv_cesa_tdma_desc *tdma; in mv_cesa_dma_add_data_transfer() local
287 tdma = mv_cesa_dma_add_desc(chain, gfp_flags); in mv_cesa_dma_add_data_transfer()
288 if (IS_ERR(tdma)) in mv_cesa_dma_add_data_transfer()
289 return PTR_ERR(tdma); in mv_cesa_dma_add_data_transfer()
291 tdma->byte_cnt = cpu_to_le32(size | BIT(31)); in mv_cesa_dma_add_data_transfer()
292 tdma->src_dma = src; in mv_cesa_dma_add_data_transfer()
293 tdma->dst_dma = dst; in mv_cesa_dma_add_data_transfer()
296 tdma->flags = flags | CESA_TDMA_DATA; in mv_cesa_dma_add_data_transfer()
303 struct mv_cesa_tdma_desc *tdma; in mv_cesa_dma_add_dummy_launch() local
305 tdma = mv_cesa_dma_add_desc(chain, flags); in mv_cesa_dma_add_dummy_launch()
306 return PTR_ERR_OR_ZERO(tdma); in mv_cesa_dma_add_dummy_launch()
311 struct mv_cesa_tdma_desc *tdma; in mv_cesa_dma_add_dummy_end() local
313 tdma = mv_cesa_dma_add_desc(chain, flags); in mv_cesa_dma_add_dummy_end()
314 if (IS_ERR(tdma)) in mv_cesa_dma_add_dummy_end()
315 return PTR_ERR(tdma); in mv_cesa_dma_add_dummy_end()
317 tdma->byte_cnt = cpu_to_le32(BIT(31)); in mv_cesa_dma_add_dummy_end()