[v4,3/3] soc: mediatek: cmdq: Remove cmdq_pkt_finalize() helper function
Commit Message
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>
---
drivers/soc/mediatek/mtk-cmdq-helper.c | 22 ----------------------
include/linux/soc/mediatek/mtk-cmdq.h | 13 -------------
2 files changed, 35 deletions(-)
Comments
On 01/09/2024 16:32, Chun-Kuang Hu wrote:
> 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>
Acked-by: Matthias Brugger <matthias.bgg@gmail.com>
> ---
> drivers/soc/mediatek/mtk-cmdq-helper.c | 22 ----------------------
> include/linux/soc/mediatek/mtk-cmdq.h | 13 -------------
> 2 files changed, 35 deletions(-)
>
> diff --git a/drivers/soc/mediatek/mtk-cmdq-helper.c b/drivers/soc/mediatek/mtk-cmdq-helper.c
> index a8fccedba83f..2a47dda4dd4a 100644
> --- a/drivers/soc/mediatek/mtk-cmdq-helper.c
> +++ b/drivers/soc/mediatek/mtk-cmdq-helper.c
> @@ -538,27 +538,5 @@ int cmdq_pkt_eoc(struct cmdq_pkt *pkt)
> }
> EXPORT_SYMBOL(cmdq_pkt_eoc);
>
> -int cmdq_pkt_finalize(struct cmdq_pkt *pkt)
> -{
> - struct cmdq_instruction inst = { {0} };
> - int err;
> -
> - /* insert EOC and generate IRQ for each command iteration */
> - inst.op = CMDQ_CODE_EOC;
> - inst.value = CMDQ_EOC_IRQ_EN;
> - err = cmdq_pkt_append_command(pkt, inst);
> - if (err < 0)
> - return err;
> -
> - /* JUMP to end */
> - inst.op = CMDQ_CODE_JUMP;
> - inst.value = CMDQ_JUMP_PASS >>
> - cmdq_get_shift_pa(((struct cmdq_client *)pkt->cl)->chan);
> - err = cmdq_pkt_append_command(pkt, inst);
> -
> - return err;
> -}
> -EXPORT_SYMBOL(cmdq_pkt_finalize);
> -
> MODULE_DESCRIPTION("MediaTek Command Queue (CMDQ) driver");
> MODULE_LICENSE("GPL v2");
> diff --git a/include/linux/soc/mediatek/mtk-cmdq.h b/include/linux/soc/mediatek/mtk-cmdq.h
> index 5bee6f7fc400..0c3906e8ad19 100644
> --- a/include/linux/soc/mediatek/mtk-cmdq.h
> +++ b/include/linux/soc/mediatek/mtk-cmdq.h
> @@ -391,14 +391,6 @@ int cmdq_pkt_jump_rel(struct cmdq_pkt *pkt, s32 offset, u8 shift_pa);
> */
> int cmdq_pkt_eoc(struct cmdq_pkt *pkt);
>
> -/**
> - * cmdq_pkt_finalize() - Append EOC and jump command to pkt.
> - * @pkt: the CMDQ packet
> - *
> - * Return: 0 for success; else the error code is returned
> - */
> -int cmdq_pkt_finalize(struct cmdq_pkt *pkt);
> -
> #else /* IS_ENABLED(CONFIG_MTK_CMDQ) */
>
> static inline int cmdq_dev_get_client_reg(struct device *dev,
> @@ -519,11 +511,6 @@ static inline int cmdq_pkt_eoc(struct cmdq_pkt *pkt)
> return -EINVAL;
> }
>
> -static inline int cmdq_pkt_finalize(struct cmdq_pkt *pkt)
> -{
> - return -EINVAL;
> -}
> -
> #endif /* IS_ENABLED(CONFIG_MTK_CMDQ) */
>
> #endif /* __MTK_CMDQ_H__ */
Il 01/09/24 16:32, Chun-Kuang Hu ha scritto:
> 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>
I'll pick this one after the media patches will be mainlined to avoid issues.
In the meanwhile, mainly as a self-reminder:
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
@@ -538,27 +538,5 @@ int cmdq_pkt_eoc(struct cmdq_pkt *pkt)
}
EXPORT_SYMBOL(cmdq_pkt_eoc);
-int cmdq_pkt_finalize(struct cmdq_pkt *pkt)
-{
- struct cmdq_instruction inst = { {0} };
- int err;
-
- /* insert EOC and generate IRQ for each command iteration */
- inst.op = CMDQ_CODE_EOC;
- inst.value = CMDQ_EOC_IRQ_EN;
- err = cmdq_pkt_append_command(pkt, inst);
- if (err < 0)
- return err;
-
- /* JUMP to end */
- inst.op = CMDQ_CODE_JUMP;
- inst.value = CMDQ_JUMP_PASS >>
- cmdq_get_shift_pa(((struct cmdq_client *)pkt->cl)->chan);
- err = cmdq_pkt_append_command(pkt, inst);
-
- return err;
-}
-EXPORT_SYMBOL(cmdq_pkt_finalize);
-
MODULE_DESCRIPTION("MediaTek Command Queue (CMDQ) driver");
MODULE_LICENSE("GPL v2");
@@ -391,14 +391,6 @@ int cmdq_pkt_jump_rel(struct cmdq_pkt *pkt, s32 offset, u8 shift_pa);
*/
int cmdq_pkt_eoc(struct cmdq_pkt *pkt);
-/**
- * cmdq_pkt_finalize() - Append EOC and jump command to pkt.
- * @pkt: the CMDQ packet
- *
- * Return: 0 for success; else the error code is returned
- */
-int cmdq_pkt_finalize(struct cmdq_pkt *pkt);
-
#else /* IS_ENABLED(CONFIG_MTK_CMDQ) */
static inline int cmdq_dev_get_client_reg(struct device *dev,
@@ -519,11 +511,6 @@ static inline int cmdq_pkt_eoc(struct cmdq_pkt *pkt)
return -EINVAL;
}
-static inline int cmdq_pkt_finalize(struct cmdq_pkt *pkt)
-{
- return -EINVAL;
-}
-
#endif /* IS_ENABLED(CONFIG_MTK_CMDQ) */
#endif /* __MTK_CMDQ_H__ */