[PATCH v7 05/20] soc: mediatek: mtk-cmdq: Add cmdq_pkt_jump_rel_temp() for removing shift_pa
AngeloGioacchino Del Regno
angelogioacchino.delregno at collabora.com
Thu Oct 9 04:27:18 PDT 2025
Il 27/08/25 13:37, Jason-JH Lin ha scritto:
> Since shift_pa will be stored into the cmdq_mobx_priv of cmdq_pkt, all
> the shif_pa parameters in CMDQ helper APIs can be removed.
>
> Add cmdq_pkt_jump_rel_temp() for the current users of cmdq_pkt_jump_rel(),
> and then remove shift_pa after all users have migrated to the new APIs.
>
> Fixes: ade176534112 ("soc: mediatek: cmdq: Add parameter shift_pa to cmdq_pkt_jump()")
> Signed-off-by: Jason-JH Lin <jason-jh.lin at mediatek.com>
> ---
> drivers/soc/mediatek/mtk-cmdq-helper.c | 6 ++++++
> include/linux/soc/mediatek/mtk-cmdq.h | 9 +++++++++
> 2 files changed, 15 insertions(+)
>
> diff --git a/drivers/soc/mediatek/mtk-cmdq-helper.c b/drivers/soc/mediatek/mtk-cmdq-helper.c
> index 8feeaa320359..4b1591e5b1ae 100644
> --- a/drivers/soc/mediatek/mtk-cmdq-helper.c
> +++ b/drivers/soc/mediatek/mtk-cmdq-helper.c
> @@ -515,6 +515,12 @@ int cmdq_pkt_jump_rel(struct cmdq_pkt *pkt, s32 offset, u8 shift_pa)
> }
> EXPORT_SYMBOL(cmdq_pkt_jump_rel);
>
> +int cmdq_pkt_jump_rel_temp(struct cmdq_pkt *pkt, s32 offset, u8 shift_pa)
> +{
> + return cmdq_pkt_jump_rel(pkt, offset, shift_pa);
> +}
> +EXPORT_SYMBOL(cmdq_pkt_jump_rel_temp);
> +
> int cmdq_pkt_eoc(struct cmdq_pkt *pkt)
> {
> struct cmdq_instruction inst = {
> diff --git a/include/linux/soc/mediatek/mtk-cmdq.h b/include/linux/soc/mediatek/mtk-cmdq.h
> index 0c3906e8ad19..5e3a0e807980 100644
> --- a/include/linux/soc/mediatek/mtk-cmdq.h
> +++ b/include/linux/soc/mediatek/mtk-cmdq.h
> @@ -377,6 +377,9 @@ static inline int cmdq_pkt_jump(struct cmdq_pkt *pkt, dma_addr_t addr, u8 shift_
> */
> int cmdq_pkt_jump_rel(struct cmdq_pkt *pkt, s32 offset, u8 shift_pa);
>
> +/* This wrapper has to be removed after all users migrated to jump_rel */
> +int cmdq_pkt_jump_rel_temp(struct cmdq_pkt *pkt, s32 offset, u8 shift_pa);
/**
* cmdq_pkt_jump_rel_v0() - Temporary wrapper for new CMDQ helper API
* @pkt: xyz (copy the descriptions from cmdq_pkt_jump_rel() here)
* @offset: whatever
* @shift_pa: [DEPRECATED] abc
*
* This function is a temporary wrapper that was introduced only for ease of
* migration of the many users of the CMDQ API located in multiple kernel
* subsystems.
*
* This has to be removed after all users are migrated to the newer CMDQ API.
*/
static inline int cmdq_pkt_jump_rel_v0(struct cmdq_pkt *pkt, s32 offset, u8 shift_pa)
{
return cmdq_pkt_jump_rel(pkt, offset, shift_pa);
}
...so you don't even need to add it in mtk-cmdq-helper.c: less files to care about.
> +
> /**
> * cmdq_pkt_eoc() - Append EOC and ask GCE to generate an IRQ at end of execution
> * @pkt: The CMDQ packet
> @@ -506,6 +509,12 @@ static inline int cmdq_pkt_jump_rel(struct cmdq_pkt *pkt, s32 offset, u8 shift_p
> return -EINVAL;
> }
>
> +/* This wrapper has to be removed after all users migrated to jump_rel */
> +static inline int cmdq_pkt_jump_rel_temp(struct cmdq_pkt *pkt, s32 offset, u8 shift_pa)
> +{
> + return -EIMVAL;
> +}
> +
> static inline int cmdq_pkt_eoc(struct cmdq_pkt *pkt)
> {
> return -EINVAL;
More information about the linux-arm-kernel
mailing list