Message ID | 20240901143259.16849-4-chunkuang.hu@kernel.org |
---|---|
State | New |
Headers | show |
Series | Remove cl in struct cmdq_pkt | expand |
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>
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__ */
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(-)