mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-18 22:14:16 +00:00
media: platform: mtk-mdp3: Get fine-grain control of cmdq_pkt_finalize()
In order to have fine-grained control, use cmdq_pkt_eoc() and cmdq_pkt_jump_rel() to replace cmdq_pkt_finalize(). Signed-off-by: Chun-Kuang Hu <chunkuang.hu@kernel.org> Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Signed-off-by: Sebastian Fricke <sebastian.fricke@collabora.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
This commit is contained in:
parent
6633de3390
commit
50ab69f21e
3 changed files with 5 additions and 1 deletions
|
@ -664,7 +664,8 @@ static struct mdp_cmdq_cmd *mdp_cmdq_prepare(struct mdp_dev *mdp,
|
|||
dev_err(dev, "mdp_path_config error %d\n", pp_idx);
|
||||
goto err_free_path;
|
||||
}
|
||||
cmdq_pkt_finalize(&cmd->pkt);
|
||||
cmdq_pkt_eoc(&cmd->pkt);
|
||||
cmdq_pkt_jump_rel(&cmd->pkt, CMDQ_INST_SIZE, mdp->cmdq_shift_pa[pp_idx]);
|
||||
|
||||
for (i = 0; i < num_comp; i++) {
|
||||
s32 inner_id = MDP_COMP_NONE;
|
||||
|
|
|
@ -312,6 +312,8 @@ static int mdp_probe(struct platform_device *pdev)
|
|||
ret = PTR_ERR(mdp->cmdq_clt[i]);
|
||||
goto err_mbox_destroy;
|
||||
}
|
||||
|
||||
mdp->cmdq_shift_pa[i] = cmdq_get_shift_pa(mdp->cmdq_clt[i]->chan);
|
||||
}
|
||||
|
||||
init_waitqueue_head(&mdp->callback_wq);
|
||||
|
|
|
@ -126,6 +126,7 @@ struct mdp_dev {
|
|||
u32 id_count;
|
||||
struct ida mdp_ida;
|
||||
struct cmdq_client *cmdq_clt[MDP_PP_MAX];
|
||||
u8 cmdq_shift_pa[MDP_PP_MAX];
|
||||
wait_queue_head_t callback_wq;
|
||||
|
||||
struct v4l2_device v4l2_dev;
|
||||
|
|
Loading…
Add table
Reference in a new issue