Lines Matching refs:mdp

128 static int mdp_path_ctx_init(struct mdp_dev *mdp, struct mdp_path *path)  in mdp_path_ctx_init()  argument
137 ret = mdp_comp_ctx_config(mdp, &path->comps[index], in mdp_path_ctx_init()
206 static int mdp_path_config(struct mdp_dev *mdp, struct mdp_cmdq_cmd *cmd, in mdp_path_config() argument
288 struct mdp_dev *mdp; in mdp_auto_release_work() local
291 mdp = cmd->mdp; in mdp_auto_release_work()
293 mtk_mutex_unprepare(mdp->mdp_mutex[MDP_PIPE_RDMA0]); in mdp_auto_release_work()
294 mdp_comp_clocks_off(&mdp->pdev->dev, cmd->comps, in mdp_auto_release_work()
297 atomic_dec(&mdp->job_count); in mdp_auto_release_work()
298 wake_up(&mdp->callback_wq); in mdp_auto_release_work()
311 struct mdp_dev *mdp; in mdp_handle_cmdq_callback() local
321 mdp = cmd->mdp; in mdp_handle_cmdq_callback()
322 dev = &mdp->pdev->dev; in mdp_handle_cmdq_callback()
336 if (!queue_work(mdp->clock_wq, &cmd->auto_release_work)) { in mdp_handle_cmdq_callback()
338 mtk_mutex_unprepare(mdp->mdp_mutex[MDP_PIPE_RDMA0]); in mdp_handle_cmdq_callback()
339 mdp_comp_clocks_off(&mdp->pdev->dev, cmd->comps, in mdp_handle_cmdq_callback()
342 atomic_dec(&mdp->job_count); in mdp_handle_cmdq_callback()
343 wake_up(&mdp->callback_wq); in mdp_handle_cmdq_callback()
353 int mdp_cmdq_send(struct mdp_dev *mdp, struct mdp_cmdq_param *param) in mdp_cmdq_send() argument
358 struct device *dev = &mdp->pdev->dev; in mdp_cmdq_send()
361 atomic_inc(&mdp->job_count); in mdp_cmdq_send()
362 if (atomic_read(&mdp->suspended)) { in mdp_cmdq_send()
363 atomic_dec(&mdp->job_count); in mdp_cmdq_send()
373 ret = mdp_cmdq_pkt_create(mdp->cmdq_clt, &cmd->pkt, SZ_16K); in mdp_cmdq_send()
390 ret = mtk_mutex_prepare(mdp->mdp_mutex[MDP_PIPE_RDMA0]); in mdp_cmdq_send()
396 path->mdp_dev = mdp; in mdp_cmdq_send()
410 ret = mdp_path_ctx_init(mdp, path); in mdp_cmdq_send()
416 ret = mdp_path_config(mdp, cmd, path); in mdp_cmdq_send()
427 mdp->cmdq_clt->client.rx_callback = mdp_handle_cmdq_callback; in mdp_cmdq_send()
428 cmd->mdp = mdp; in mdp_cmdq_send()
435 ret = mdp_comp_clocks_on(&mdp->pdev->dev, cmd->comps, cmd->num_comps); in mdp_cmdq_send()
439 dma_sync_single_for_device(mdp->cmdq_clt->chan->mbox->dev, in mdp_cmdq_send()
442 ret = mbox_send_message(mdp->cmdq_clt->chan, &cmd->pkt); in mdp_cmdq_send()
447 mbox_client_txdone(mdp->cmdq_clt->chan, 0); in mdp_cmdq_send()
453 mdp_comp_clocks_off(&mdp->pdev->dev, cmd->comps, in mdp_cmdq_send()
456 mtk_mutex_unprepare(mdp->mdp_mutex[MDP_PIPE_RDMA0]); in mdp_cmdq_send()
465 atomic_dec(&mdp->job_count); in mdp_cmdq_send()