[PATCH v7 17/20] media: platform: mtk-mdp3: Use cmdq_pkt_jump_rel() without shift_pa

Jason-JH Lin posted 20 patches 5 months, 2 weeks ago
There is a newer version of this series
[PATCH v7 17/20] media: platform: mtk-mdp3: Use cmdq_pkt_jump_rel() without shift_pa
Posted by Jason-JH Lin 5 months, 2 weeks ago
With the removal of the shift_pa parameter, cmdq_pkt_jump_rel_temp()
can be replaced by the new cmdq_pkt_jump_rel() without shift_pa.

Then, remove the cmdq_shift_pa variable in the mdp_dev structure for
each mbox client.

Fixes: ade176534112 ("soc: mediatek: cmdq: Add parameter shift_pa to cmdq_pkt_jump()")
Signed-off-by: Jason-JH Lin <jason-jh.lin@mediatek.com>
---
 drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c | 2 +-
 drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.c | 2 --
 drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.h | 1 -
 3 files changed, 1 insertion(+), 4 deletions(-)

diff --git a/drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c b/drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
index 7575ec376367..c35fe0e3a4d5 100644
--- a/drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
+++ b/drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
@@ -638,7 +638,7 @@ static struct mdp_cmdq_cmd *mdp_cmdq_prepare(struct mdp_dev *mdp,
 		goto err_free_path;
 	}
 	cmdq_pkt_eoc(&cmd->pkt);
-	cmdq_pkt_jump_rel_temp(&cmd->pkt, CMDQ_INST_SIZE, mdp->cmdq_shift_pa[pp_idx]);
+	cmdq_pkt_jump_rel(&cmd->pkt, CMDQ_INST_SIZE);
 
 	for (i = 0; i < num_comp; i++) {
 		s32 inner_id = MDP_COMP_NONE;
diff --git a/drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.c b/drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.c
index 8de2c8e4d333..2f8147481bd6 100644
--- a/drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.c
+++ b/drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.c
@@ -293,8 +293,6 @@ 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);
diff --git a/drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.h b/drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.h
index 05cade1d098e..430251f63754 100644
--- a/drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.h
+++ b/drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.h
@@ -126,7 +126,6 @@ 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;
-- 
2.43.0
Re: [PATCH v7 17/20] media: platform: mtk-mdp3: Use cmdq_pkt_jump_rel() without shift_pa
Posted by Nicolas Dufresne 2 months ago
Hi,

Le mercredi 27 août 2025 à 19:37 +0800, Jason-JH Lin a écrit :
> With the removal of the shift_pa parameter, cmdq_pkt_jump_rel_temp()
> can be replaced by the new cmdq_pkt_jump_rel() without shift_pa.
> 
> Then, remove the cmdq_shift_pa variable in the mdp_dev structure for
> each mbox client.
> 
> Fixes: ade176534112 ("soc: mediatek: cmdq: Add parameter shift_pa to cmdq_pkt_jump()")
> Signed-off-by: Jason-JH Lin <jason-jh.lin@mediatek.com>
> ---
>  drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c | 2 +-
>  drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.c | 2 --
>  drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.h | 1 -
>  3 files changed, 1 insertion(+), 4 deletions(-)
> 
> diff --git a/drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c b/drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
> index 7575ec376367..c35fe0e3a4d5 100644
> --- a/drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
> +++ b/drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
> @@ -638,7 +638,7 @@ static struct mdp_cmdq_cmd *mdp_cmdq_prepare(struct mdp_dev *mdp,
>  		goto err_free_path;
>  	}
>  	cmdq_pkt_eoc(&cmd->pkt);
> -	cmdq_pkt_jump_rel_temp(&cmd->pkt, CMDQ_INST_SIZE, mdp->cmdq_shift_pa[pp_idx]);
> +	cmdq_pkt_jump_rel(&cmd->pkt, CMDQ_INST_SIZE);

That effectively revert another patch that is pending, and remove the use of the
new cmdq_pkt_jump_rel_temp(). I don't follow what is doing on here, I think some
context must be lost.

Nicolas

>  
>  	for (i = 0; i < num_comp; i++) {
>  		s32 inner_id = MDP_COMP_NONE;
> diff --git a/drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.c b/drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.c
> index 8de2c8e4d333..2f8147481bd6 100644
> --- a/drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.c
> +++ b/drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.c
> @@ -293,8 +293,6 @@ 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);
> diff --git a/drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.h b/drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.h
> index 05cade1d098e..430251f63754 100644
> --- a/drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.h
> +++ b/drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.h
> @@ -126,7 +126,6 @@ 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;
Re: [PATCH v7 17/20] media: platform: mtk-mdp3: Use cmdq_pkt_jump_rel() without shift_pa
Posted by Jason-JH Lin (林睿祥) 2 months ago
Hi Nicolas,

On Tue, 2025-12-09 at 16:01 -0500, Nicolas Dufresne wrote:
> Hi,
> 
> Le mercredi 27 août 2025 à 19:37 +0800, Jason-JH Lin a écrit :
> > With the removal of the shift_pa parameter,
> > cmdq_pkt_jump_rel_temp()
> > can be replaced by the new cmdq_pkt_jump_rel() without shift_pa.
> > 
> > Then, remove the cmdq_shift_pa variable in the mdp_dev structure
> > for
> > each mbox client.
> > 
> > Fixes: ade176534112 ("soc: mediatek: cmdq: Add parameter shift_pa
> > to cmdq_pkt_jump()")
> > Signed-off-by: Jason-JH Lin <jason-jh.lin@mediatek.com>
> > ---
> >  drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c | 2 +-
> >  drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.c | 2 --
> >  drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.h | 1 -
> >  3 files changed, 1 insertion(+), 4 deletions(-)
> > 
> > diff --git a/drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
> > b/drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
> > index 7575ec376367..c35fe0e3a4d5 100644
> > --- a/drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
> > +++ b/drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
> > @@ -638,7 +638,7 @@ static struct mdp_cmdq_cmd
> > *mdp_cmdq_prepare(struct mdp_dev *mdp,
> >  		goto err_free_path;
> >  	}
> >  	cmdq_pkt_eoc(&cmd->pkt);
> > -	cmdq_pkt_jump_rel_temp(&cmd->pkt, CMDQ_INST_SIZE, mdp-
> > >cmdq_shift_pa[pp_idx]);
> > +	cmdq_pkt_jump_rel(&cmd->pkt, CMDQ_INST_SIZE);
> 
> That effectively revert another patch that is pending, and remove the
> use of the
> new cmdq_pkt_jump_rel_temp(). I don't follow what is doing on here, I
> think some
> context must be lost.
> 

Please forget about this patch. I separated this series to 5 different
series.

Please refer to series application order:
1. [Fixes] Refine DMA address handling for the command buffer
https://lore.kernel.org/all/20251022171847.379470-1-jason-jh.lin@mediatek.com/
2. [Series 1/4] Add GCE support for MT8196 and update CMDQ APIs
https://lore.kernel.org/all/20251031155838.1650833-1-jason-jh.lin@mediatek.com/
3. [Series 2/4] Migrate subsystems to new CMDQ APIs
https://lore.kernel.org/all/20251031160309.1654761-1-jason-jh.lin@mediatek.com/
4. [Series 3/4] Remove shift_pa from CMDQ jump functions
https://lore.kernel.org/all/20251031160712.1657810-1-jason-jh.lin@mediatek.com/
5. [Series 4/4] Remove deprecated CMDQ APIs 
https://lore.kernel.org/all/20251031160955.1659524-1-jason-jh.lin@mediatek.com/

Thanks!

Regards,
Jason-JH Lin

> Nicolas