Lines Matching refs:ae4cmd_q

49 void ae4_check_status_error(struct ae4_cmd_queue *ae4cmd_q, int idx)  in ae4_check_status_error()  argument
51 struct pt_cmd_queue *cmd_q = &ae4cmd_q->cmd_q; in ae4_check_status_error()
99 struct ae4_cmd_queue *ae4cmd_q; in pt_get_cmd_queue() local
105 ae4cmd_q = &ae4->ae4cmd_q[chan->id]; in pt_get_cmd_queue()
106 cmd_q = &ae4cmd_q->cmd_q; in pt_get_cmd_queue()
114 static int ae4_core_execute_cmd(struct ae4dma_desc *desc, struct ae4_cmd_queue *ae4cmd_q) in ae4_core_execute_cmd() argument
117 struct pt_cmd_queue *cmd_q = &ae4cmd_q->cmd_q; in ae4_core_execute_cmd()
124 mutex_lock(&ae4cmd_q->cmd_lock); in ae4_core_execute_cmd()
125 memcpy(&cmd_q->qbase[ae4cmd_q->tail_wi], desc, sizeof(struct ae4dma_desc)); in ae4_core_execute_cmd()
126 ae4cmd_q->q_cmd_count++; in ae4_core_execute_cmd()
127 ae4cmd_q->tail_wi = (ae4cmd_q->tail_wi + 1) % CMD_Q_LEN; in ae4_core_execute_cmd()
128 writel(ae4cmd_q->tail_wi, cmd_q->reg_control + AE4_WR_IDX_OFF); in ae4_core_execute_cmd()
129 mutex_unlock(&ae4cmd_q->cmd_lock); in ae4_core_execute_cmd()
131 wake_up(&ae4cmd_q->q_w); in ae4_core_execute_cmd()
139 struct ae4_cmd_queue *ae4cmd_q = container_of(cmd_q, struct ae4_cmd_queue, cmd_q); in pt_core_perform_passthru_ae4() local
158 return ae4_core_execute_cmd(&desc, ae4cmd_q); in pt_core_perform_passthru_ae4()
264 struct ae4_cmd_queue *ae4cmd_q; in pt_cmd_callback() local
284 ae4cmd_q = &ae4->ae4cmd_q[chan->id]; in pt_cmd_callback()
286 if (ae4cmd_q->q_cmd_count >= (CMD_Q_LEN - 1) || in pt_cmd_callback()
287 ae4_core_queue_full(&ae4cmd_q->cmd_q)) { in pt_cmd_callback()
288 wake_up(&ae4cmd_q->q_w); in pt_cmd_callback()
290 if (wait_for_completion_timeout(&ae4cmd_q->cmp, in pt_cmd_callback()
293 dev_err(pt->dev, "TIMEOUT %d:\n", ae4cmd_q->id); in pt_cmd_callback()
297 reinit_completion(&ae4cmd_q->cmp); in pt_cmd_callback()
389 struct ae4_cmd_queue *ae4cmd_q; in pt_create_desc() local
413 ae4cmd_q = &ae4->ae4cmd_q[chan->id]; in pt_create_desc()
414 mutex_lock(&ae4cmd_q->cmd_lock); in pt_create_desc()
415 list_add_tail(&pt_cmd->entry, &ae4cmd_q->cmd); in pt_create_desc()
416 mutex_unlock(&ae4cmd_q->cmd_lock); in pt_create_desc()
477 struct ae4_cmd_queue *ae4cmd_q = container_of(cmd_q, struct ae4_cmd_queue, cmd_q); in pt_check_status_trans_ae4() local
481 ae4_check_status_error(ae4cmd_q, i); in pt_check_status_trans_ae4()
565 struct ae4_cmd_queue *ae4cmd_q = NULL; in pt_dmaengine_register() local
626 ae4cmd_q = &ae4->ae4cmd_q[i]; in pt_dmaengine_register()
627 chan->id = ae4cmd_q->id; in pt_dmaengine_register()