Message ID | 20241202-fix-llvm9-v1-3-2a50f5acfd0b@chromium.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | media: Fix warnings with llvm9 | expand |
Mon, Dec 02, 2024 at 03:47:17PM +0000, Ricardo Ribalda wrote: > llvm identifies that the SCP_IPI_VENC_H264 and IPI_VENC_H264 are from > the same enum type, but their are part of the same ternary operator. > > vpu_inst.id is of type int, so we can just rewrite a bit the code and > avoid the following llvm9 warning: LLVM 19, not LLVM 9, as the minimum version for building the kernel is LLVM 13. > drivers/media/platform/mediatek/vcodec/encoder/venc/venc_h264_if.c:597:29: warning: conditional expression between different enumeration types ('enum scp_ipi_id' and 'enum ipi_id') [-Wenum-compare-conditional] > > Signed-off-by: Ricardo Ribalda <ribalda@chromium.org> Reviewed-by: Nathan Chancellor <nathan@kernel.org> FYI, Arnd basically sent the same patch October 18 but I guess it has not been picked up? https://lore.kernel.org/20241018152127.3958436-1-arnd@kernel.org/ Hopefully the new media committers model will help patches like that get picked up in a more timely manner. > --- > drivers/media/platform/mediatek/vcodec/encoder/venc/venc_h264_if.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/media/platform/mediatek/vcodec/encoder/venc/venc_h264_if.c b/drivers/media/platform/mediatek/vcodec/encoder/venc/venc_h264_if.c > index f8145998fcaf..4786062e879a 100644 > --- a/drivers/media/platform/mediatek/vcodec/encoder/venc/venc_h264_if.c > +++ b/drivers/media/platform/mediatek/vcodec/encoder/venc/venc_h264_if.c > @@ -584,7 +584,6 @@ static void h264_encode_filler(struct venc_h264_inst *inst, void *buf, > > static int h264_enc_init(struct mtk_vcodec_enc_ctx *ctx) > { > - const bool is_ext = MTK_ENC_CTX_IS_EXT(ctx); > int ret = 0; > struct venc_h264_inst *inst; > > @@ -594,7 +593,10 @@ static int h264_enc_init(struct mtk_vcodec_enc_ctx *ctx) > > inst->ctx = ctx; > inst->vpu_inst.ctx = ctx; > - inst->vpu_inst.id = is_ext ? SCP_IPI_VENC_H264 : IPI_VENC_H264; > + if (MTK_ENC_CTX_IS_EXT(ctx)) > + inst->vpu_inst.id = SCP_IPI_VENC_H264; > + else > + inst->vpu_inst.id = IPI_VENC_H264; > inst->hw_base = mtk_vcodec_get_reg_addr(inst->ctx->dev->reg_base, VENC_SYS); > > ret = vpu_enc_init(&inst->vpu_inst); > > -- > 2.47.0.338.g60cca15819-goog >
Hi On Mon, 2 Dec 2024 at 17:25, Nathan Chancellor <nathan@kernel.org> wrote: > > Mon, Dec 02, 2024 at 03:47:17PM +0000, Ricardo Ribalda wrote: > > llvm identifies that the SCP_IPI_VENC_H264 and IPI_VENC_H264 are from > > the same enum type, but their are part of the same ternary operator. > > > > vpu_inst.id is of type int, so we can just rewrite a bit the code and > > avoid the following llvm9 warning: > > LLVM 19, not LLVM 9, as the minimum version for building the kernel is > LLVM 13. > > > drivers/media/platform/mediatek/vcodec/encoder/venc/venc_h264_if.c:597:29: warning: conditional expression between different enumeration types ('enum scp_ipi_id' and 'enum ipi_id') [-Wenum-compare-conditional] > > > > Signed-off-by: Ricardo Ribalda <ribalda@chromium.org> > > Reviewed-by: Nathan Chancellor <nathan@kernel.org> > > FYI, Arnd basically sent the same patch October 18 but I guess it has > not been picked up? > > https://lore.kernel.org/20241018152127.3958436-1-arnd@kernel.org/ > > Hopefully the new media committers model will help patches like that get > picked up in a more timely manner. We can take Arnd's patch. Yeah, this is the kind of patches that the multi committers can really help with :) > > > --- > > drivers/media/platform/mediatek/vcodec/encoder/venc/venc_h264_if.c | 6 ++++-- > > 1 file changed, 4 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/media/platform/mediatek/vcodec/encoder/venc/venc_h264_if.c b/drivers/media/platform/mediatek/vcodec/encoder/venc/venc_h264_if.c > > index f8145998fcaf..4786062e879a 100644 > > --- a/drivers/media/platform/mediatek/vcodec/encoder/venc/venc_h264_if.c > > +++ b/drivers/media/platform/mediatek/vcodec/encoder/venc/venc_h264_if.c > > @@ -584,7 +584,6 @@ static void h264_encode_filler(struct venc_h264_inst *inst, void *buf, > > > > static int h264_enc_init(struct mtk_vcodec_enc_ctx *ctx) > > { > > - const bool is_ext = MTK_ENC_CTX_IS_EXT(ctx); > > int ret = 0; > > struct venc_h264_inst *inst; > > > > @@ -594,7 +593,10 @@ static int h264_enc_init(struct mtk_vcodec_enc_ctx *ctx) > > > > inst->ctx = ctx; > > inst->vpu_inst.ctx = ctx; > > - inst->vpu_inst.id = is_ext ? SCP_IPI_VENC_H264 : IPI_VENC_H264; > > + if (MTK_ENC_CTX_IS_EXT(ctx)) > > + inst->vpu_inst.id = SCP_IPI_VENC_H264; > > + else > > + inst->vpu_inst.id = IPI_VENC_H264; > > inst->hw_base = mtk_vcodec_get_reg_addr(inst->ctx->dev->reg_base, VENC_SYS); > > > > ret = vpu_enc_init(&inst->vpu_inst); > > > > -- > > 2.47.0.338.g60cca15819-goog > > -- Ricardo Ribalda
diff --git a/drivers/media/platform/mediatek/vcodec/encoder/venc/venc_h264_if.c b/drivers/media/platform/mediatek/vcodec/encoder/venc/venc_h264_if.c index f8145998fcaf..4786062e879a 100644 --- a/drivers/media/platform/mediatek/vcodec/encoder/venc/venc_h264_if.c +++ b/drivers/media/platform/mediatek/vcodec/encoder/venc/venc_h264_if.c @@ -584,7 +584,6 @@ static void h264_encode_filler(struct venc_h264_inst *inst, void *buf, static int h264_enc_init(struct mtk_vcodec_enc_ctx *ctx) { - const bool is_ext = MTK_ENC_CTX_IS_EXT(ctx); int ret = 0; struct venc_h264_inst *inst; @@ -594,7 +593,10 @@ static int h264_enc_init(struct mtk_vcodec_enc_ctx *ctx) inst->ctx = ctx; inst->vpu_inst.ctx = ctx; - inst->vpu_inst.id = is_ext ? SCP_IPI_VENC_H264 : IPI_VENC_H264; + if (MTK_ENC_CTX_IS_EXT(ctx)) + inst->vpu_inst.id = SCP_IPI_VENC_H264; + else + inst->vpu_inst.id = IPI_VENC_H264; inst->hw_base = mtk_vcodec_get_reg_addr(inst->ctx->dev->reg_base, VENC_SYS); ret = vpu_enc_init(&inst->vpu_inst);
llvm identifies that the SCP_IPI_VENC_H264 and IPI_VENC_H264 are from the same enum type, but their are part of the same ternary operator. vpu_inst.id is of type int, so we can just rewrite a bit the code and avoid the following llvm9 warning: drivers/media/platform/mediatek/vcodec/encoder/venc/venc_h264_if.c:597:29: warning: conditional expression between different enumeration types ('enum scp_ipi_id' and 'enum ipi_id') [-Wenum-compare-conditional] Signed-off-by: Ricardo Ribalda <ribalda@chromium.org> --- drivers/media/platform/mediatek/vcodec/encoder/venc/venc_h264_if.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)