* [PATCH v2 0/2] Remove shift_pa from CMDQ jump functions (series 3/4)
@ 2026-03-25 4:02 Jason-JH Lin
2026-03-25 4:02 ` [PATCH v2 1/2] soc: mediatek: mtk-cmdq: Remove shift_pa parameter from cmdq_pkt_jump() Jason-JH Lin
2026-03-25 4:02 ` [PATCH v2 2/2] media: platform: mtk-mdp3: Use cmdq_pkt_jump_rel() without shift_pa Jason-JH Lin
0 siblings, 2 replies; 3+ messages in thread
From: Jason-JH Lin @ 2026-03-25 4:02 UTC (permalink / raw)
To: Jassi Brar, Chun-Kuang Hu, AngeloGioacchino Del Regno,
Nicolas Dufresne, Mauro Carvalho Chehab
Cc: Matthias Brugger, Jason-JH Lin, Nancy Lin, Singo Chang,
Paul-PL Chen, Moudy Ho, Xiandong Wang, Sirius Wang, Fei Shao,
Chen-yu Tsai, Project_Global_Chrome_Upstream_Group, linux-kernel,
dri-devel, linux-mediatek, linux-arm-kernel, linux-media
This series migrates the MediaTek SoC, DRM, and MDP3 drivers to the new
CMDQ APIs introduced for MT8196.
Series application order:
1. [Series V2 2/4] Migrate subsystems to new CMDQ APIs (this series)
- https://lore.kernel.org/all/20260325035836.2110757-1-jason-jh.lin@mediatek.com/
2. [Series V2 3/4] Remove shift_pa from CMDQ jump functions
3. [Series V2 4/4] Remove deprecated CMDQ APIs
Please apply this series after the MT8196 GCE support series,
and before the following series.
---
Change in v2:
1. Rebase on linux-next 20260324
---
Jason-JH Lin (2):
soc: mediatek: mtk-cmdq: Remove shift_pa parameter from
cmdq_pkt_jump()
media: platform: mtk-mdp3: Use cmdq_pkt_jump_rel() without shift_pa
.../platform/mediatek/mdp3/mtk-mdp3-cmdq.c | 2 +-
.../platform/mediatek/mdp3/mtk-mdp3-core.c | 2 --
.../platform/mediatek/mdp3/mtk-mdp3-core.h | 1 -
drivers/soc/mediatek/mtk-cmdq-helper.c | 6 +++---
include/linux/soc/mediatek/mtk-cmdq.h | 20 ++++++++-----------
5 files changed, 12 insertions(+), 19 deletions(-)
--
2.43.0
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH v2 1/2] soc: mediatek: mtk-cmdq: Remove shift_pa parameter from cmdq_pkt_jump()
2026-03-25 4:02 [PATCH v2 0/2] Remove shift_pa from CMDQ jump functions (series 3/4) Jason-JH Lin
@ 2026-03-25 4:02 ` Jason-JH Lin
2026-03-25 4:02 ` [PATCH v2 2/2] media: platform: mtk-mdp3: Use cmdq_pkt_jump_rel() without shift_pa Jason-JH Lin
1 sibling, 0 replies; 3+ messages in thread
From: Jason-JH Lin @ 2026-03-25 4:02 UTC (permalink / raw)
To: Jassi Brar, Chun-Kuang Hu, AngeloGioacchino Del Regno,
Nicolas Dufresne, Mauro Carvalho Chehab
Cc: Matthias Brugger, Jason-JH Lin, Nancy Lin, Singo Chang,
Paul-PL Chen, Moudy Ho, Xiandong Wang, Sirius Wang, Fei Shao,
Chen-yu Tsai, Project_Global_Chrome_Upstream_Group, linux-kernel,
dri-devel, linux-mediatek, linux-arm-kernel, linux-media
Since shift_pa will be stored in the cmdq_mbox_priv structure within
cmdq_pkt, all shift_pa parameters in CMDQ helper APIs can be removed.
Remove the shift_pa parameters from cmdq_pkt_jump(), cmdq_pkt_jump_abs(),
and cmdq_pkt_jump_rel().
Signed-off-by: Jason-JH Lin <jason-jh.lin@mediatek.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
---
drivers/soc/mediatek/mtk-cmdq-helper.c | 6 +++---
include/linux/soc/mediatek/mtk-cmdq.h | 20 ++++++++------------
2 files changed, 11 insertions(+), 15 deletions(-)
diff --git a/drivers/soc/mediatek/mtk-cmdq-helper.c b/drivers/soc/mediatek/mtk-cmdq-helper.c
index f8ee6c9ade89..9cec6a096d8b 100644
--- a/drivers/soc/mediatek/mtk-cmdq-helper.c
+++ b/drivers/soc/mediatek/mtk-cmdq-helper.c
@@ -562,7 +562,7 @@ int cmdq_pkt_assign(struct cmdq_pkt *pkt, u16 reg_idx, u32 value)
}
EXPORT_SYMBOL(cmdq_pkt_assign);
-int cmdq_pkt_jump_abs(struct cmdq_pkt *pkt, dma_addr_t addr, u8 shift_pa)
+int cmdq_pkt_jump_abs(struct cmdq_pkt *pkt, dma_addr_t addr)
{
struct cmdq_instruction inst = {
.op = CMDQ_CODE_JUMP,
@@ -573,11 +573,11 @@ int cmdq_pkt_jump_abs(struct cmdq_pkt *pkt, dma_addr_t addr, u8 shift_pa)
}
EXPORT_SYMBOL(cmdq_pkt_jump_abs);
-int cmdq_pkt_jump_rel(struct cmdq_pkt *pkt, s32 offset, u8 shift_pa)
+int cmdq_pkt_jump_rel(struct cmdq_pkt *pkt, s32 offset)
{
struct cmdq_instruction inst = {
.op = CMDQ_CODE_JUMP,
- .value = (u32)offset >> shift_pa
+ .value = (u32)offset >> pkt->priv.shift_pa
};
return cmdq_pkt_append_command(pkt, inst);
}
diff --git a/include/linux/soc/mediatek/mtk-cmdq.h b/include/linux/soc/mediatek/mtk-cmdq.h
index 03bb85462566..3d0de1a9cac1 100644
--- a/include/linux/soc/mediatek/mtk-cmdq.h
+++ b/include/linux/soc/mediatek/mtk-cmdq.h
@@ -418,17 +418,15 @@ int cmdq_pkt_poll_addr(struct cmdq_pkt *pkt, dma_addr_t addr, u32 value, u32 mas
* contains more instruction.
* @pkt: the CMDQ packet
* @addr: absolute physical address of target instruction buffer
- * @shift_pa: shift bits of physical address in CMDQ instruction. This value
- * is got by cmdq_get_shift_pa().
*
* Return: 0 for success; else the error code is returned
*/
-int cmdq_pkt_jump_abs(struct cmdq_pkt *pkt, dma_addr_t addr, u8 shift_pa);
+int cmdq_pkt_jump_abs(struct cmdq_pkt *pkt, dma_addr_t addr);
/* This wrapper has to be removed after all users migrated to jump_abs */
-static inline int cmdq_pkt_jump(struct cmdq_pkt *pkt, dma_addr_t addr, u8 shift_pa)
+static inline int cmdq_pkt_jump(struct cmdq_pkt *pkt, dma_addr_t addr)
{
- return cmdq_pkt_jump_abs(pkt, addr, shift_pa);
+ return cmdq_pkt_jump_abs(pkt, addr);
}
/**
@@ -438,12 +436,10 @@ static inline int cmdq_pkt_jump(struct cmdq_pkt *pkt, dma_addr_t addr, u8 shift_
* target address should contains more instruction.
* @pkt: the CMDQ packet
* @offset: relative offset of target instruction buffer from current PC.
- * @shift_pa: shift bits of physical address in CMDQ instruction. This value
- * is got by cmdq_get_shift_pa().
*
* Return: 0 for success; else the error code is returned
*/
-int cmdq_pkt_jump_rel(struct cmdq_pkt *pkt, s32 offset, u8 shift_pa);
+int cmdq_pkt_jump_rel(struct cmdq_pkt *pkt, s32 offset);
/**
* cmdq_pkt_jump_rel_temp() - Temporary wrapper for new CMDQ helper API
@@ -460,7 +456,7 @@ int cmdq_pkt_jump_rel(struct cmdq_pkt *pkt, s32 offset, u8 shift_pa);
*/
static inline int cmdq_pkt_jump_rel_temp(struct cmdq_pkt *pkt, s32 offset, u8 shift_pa)
{
- return cmdq_pkt_jump_rel(pkt, offset, shift_pa);
+ return cmdq_pkt_jump_rel(pkt, offset);
}
/**
@@ -602,17 +598,17 @@ static inline int cmdq_pkt_poll_addr(struct cmdq_pkt *pkt, dma_addr_t addr, u32
return -EINVAL;
}
-static inline int cmdq_pkt_jump_abs(struct cmdq_pkt *pkt, dma_addr_t addr, u8 shift_pa)
+static inline int cmdq_pkt_jump_abs(struct cmdq_pkt *pkt, dma_addr_t addr)
{
return -EINVAL;
}
-static inline int cmdq_pkt_jump(struct cmdq_pkt *pkt, dma_addr_t addr, u8 shift_pa)
+static inline int cmdq_pkt_jump(struct cmdq_pkt *pkt, dma_addr_t addr)
{
return -EINVAL;
}
-static inline int cmdq_pkt_jump_rel(struct cmdq_pkt *pkt, s32 offset, u8 shift_pa)
+static inline int cmdq_pkt_jump_rel(struct cmdq_pkt *pkt, s32 offset)
{
return -EINVAL;
}
--
2.43.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH v2 2/2] media: platform: mtk-mdp3: Use cmdq_pkt_jump_rel() without shift_pa
2026-03-25 4:02 [PATCH v2 0/2] Remove shift_pa from CMDQ jump functions (series 3/4) Jason-JH Lin
2026-03-25 4:02 ` [PATCH v2 1/2] soc: mediatek: mtk-cmdq: Remove shift_pa parameter from cmdq_pkt_jump() Jason-JH Lin
@ 2026-03-25 4:02 ` Jason-JH Lin
1 sibling, 0 replies; 3+ messages in thread
From: Jason-JH Lin @ 2026-03-25 4:02 UTC (permalink / raw)
To: Jassi Brar, Chun-Kuang Hu, AngeloGioacchino Del Regno,
Nicolas Dufresne, Mauro Carvalho Chehab
Cc: Matthias Brugger, Jason-JH Lin, Nancy Lin, Singo Chang,
Paul-PL Chen, Moudy Ho, Xiandong Wang, Sirius Wang, Fei Shao,
Chen-yu Tsai, Project_Global_Chrome_Upstream_Group, linux-kernel,
dri-devel, linux-mediatek, linux-arm-kernel, linux-media
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.
Signed-off-by: Jason-JH Lin <jason-jh.lin@mediatek.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.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 96a66aadf0cd..6afd0164213e 100644
--- a/drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
+++ b/drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
@@ -628,7 +628,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 8f4da4cf55d2..22fadc6668b1 100644
--- a/drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.c
+++ b/drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.c
@@ -309,8 +309,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
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-03-25 4:02 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-25 4:02 [PATCH v2 0/2] Remove shift_pa from CMDQ jump functions (series 3/4) Jason-JH Lin
2026-03-25 4:02 ` [PATCH v2 1/2] soc: mediatek: mtk-cmdq: Remove shift_pa parameter from cmdq_pkt_jump() Jason-JH Lin
2026-03-25 4:02 ` [PATCH v2 2/2] media: platform: mtk-mdp3: Use cmdq_pkt_jump_rel() without shift_pa Jason-JH Lin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox