Lines Matching refs:cmd

144 				   struct mdp_cmdq_cmd *cmd,
197 struct mdp_cmdq_cmd *cmd,
234 MM_REG_CLEAR(cmd, event);
239 mtk_mutex_enable_by_cmdq(mutex, (void *)&cmd->pkt);
255 MM_REG_WAIT(cmd, event);
299 static int mdp_path_config_subfrm(struct mdp_cmdq_cmd *cmd,
322 ret = mdp_path_subfrm_require(path, cmd, &pipe, count);
328 cmdq_pkt_write_mask(&cmd->pkt, set->subsys_id, set->reg,
343 ret = call_op(ctx, config_subfrm, cmd, count);
348 ret = mdp_path_subfrm_run(path, cmd, &pipe, count);
363 ret = call_op(ctx, wait_comp_event, cmd);
377 ret = call_op(ctx, advance_subfrm, cmd, count);
384 cmdq_pkt_write_mask(&cmd->pkt, set->subsys_id, set->reg,
391 static int mdp_path_config(struct mdp_dev *mdp, struct mdp_cmdq_cmd *cmd,
422 ret = call_op(ctx, init_comp, cmd);
446 ret = call_op(ctx, config_frame, cmd, compose);
453 ret = mdp_path_config_subfrm(cmd, path, count);
467 ret = call_op(ctx, post_process, cmd);
513 struct mdp_cmdq_cmd *cmd;
518 cmd = container_of(work, struct mdp_cmdq_cmd, auto_release_work);
519 mdp = cmd->mdp;
521 pipe_id = __get_pipe(mdp, cmd->comps[0].public_id);
524 mdp_comp_clocks_off(&mdp->pdev->dev, cmd->comps,
525 cmd->num_comps);
528 if (cmd->mdp_ctx)
529 mdp_m2m_job_finish(cmd->mdp_ctx);
531 if (cmd->user_cmdq_cb) {
534 user_cb_data.sta = cmd->data->sta;
535 user_cb_data.pkt = cmd->data->pkt;
536 cmd->user_cmdq_cb(user_cb_data);
541 mdp_cmdq_pkt_destroy(&cmd->pkt);
542 kfree(cmd->comps);
543 cmd->comps = NULL;
544 kfree(cmd);
545 cmd = NULL;
550 struct mdp_cmdq_cmd *cmd;
562 cmd = container_of(data->pkt, struct mdp_cmdq_cmd, pkt);
563 cmd->data = data;
564 mdp = cmd->mdp;
567 INIT_WORK(&cmd->auto_release_work, mdp_auto_release_work);
568 if (!queue_work(mdp->clock_wq, &cmd->auto_release_work)) {
572 pipe_id = __get_pipe(mdp, cmd->comps[0].public_id);
575 mdp_comp_clocks_off(&mdp->pdev->dev, cmd->comps,
576 cmd->num_comps);
581 mdp_cmdq_pkt_destroy(&cmd->pkt);
582 kfree(cmd->comps);
583 cmd->comps = NULL;
584 kfree(cmd);
585 cmd = NULL;
594 struct mdp_cmdq_cmd *cmd = NULL;
617 cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
618 if (!cmd) {
623 ret = mdp_cmdq_pkt_create(mdp->cmdq_clt[pp_idx], &cmd->pkt, SZ_16K);
674 ret = mdp_path_config(mdp, cmd, path);
679 cmdq_pkt_finalize(&cmd->pkt);
696 cmd->mdp = mdp;
697 cmd->user_cmdq_cb = param->cmdq_cb;
698 cmd->user_cb_data = param->cb_data;
699 cmd->comps = comps;
700 cmd->num_comps = num_comp;
701 cmd->mdp_ctx = param->mdp_ctx;
704 return cmd;
713 mdp_cmdq_pkt_destroy(&cmd->pkt);
715 kfree(cmd);
722 struct mdp_cmdq_cmd *cmd[MDP_PP_MAX] = {NULL};
734 cmd[i] = mdp_cmdq_prepare(mdp, param, i);
735 if (IS_ERR_OR_NULL(cmd[i])) {
736 ret = PTR_ERR(cmd[i]);
742 ret = mdp_comp_clocks_on(&mdp->pdev->dev, cmd[i]->comps, cmd[i]->num_comps);
749 cmd[i]->pkt.pa_base, cmd[i]->pkt.cmd_buf_size,
752 ret = mbox_send_message(mdp->cmdq_clt[i]->chan, &cmd[i]->pkt);
764 mdp_comp_clocks_off(&mdp->pdev->dev, cmd[i]->comps,
765 cmd[i]->num_comps);