Re: [PATCH v5 8/8] media: qcom: venus: Enable HEVC decoding for MSM8939
Bryan O'Donoghue <[email protected]>
| Newsgroups | org.kernel.vger.phone-devel,org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-clk,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel,org.kernel.vger.linux-media |
|---|---|
| Message-ID | <[email protected]> |
On 07/05/2026 09:32, Erikas Bitovtas wrote: > MSM8939 supports HEVC decoding. Do not disable the HEVC codec HFI bit > and add it to codec type converter method so it can be recognized. > > Signed-off-by: Erikas Bitovtas <[email protected]> > --- > drivers/media/platform/qcom/venus/core.c | 2 ++ > drivers/media/platform/qcom/venus/hfi_parser.c | 3 ++- > 2 files changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/media/platform/qcom/venus/core.c b/drivers/media/platform/qcom/venus/core.c > index 6ad20d58dda2..89798ad1087b 100644 > --- a/drivers/media/platform/qcom/venus/core.c > +++ b/drivers/media/platform/qcom/venus/core.c > @@ -178,6 +178,8 @@ static void venus_sys_error_handler(struct work_struct *work) > static u32 to_v4l2_codec_type(u32 codec) > { > switch (codec) { > + case HFI_VIDEO_CODEC_HEVC: > + return V4L2_PIX_FMT_HEVC; > case HFI_VIDEO_CODEC_H264: > return V4L2_PIX_FMT_H264; > case HFI_VIDEO_CODEC_H263: > diff --git a/drivers/media/platform/qcom/venus/hfi_parser.c b/drivers/media/platform/qcom/venus/hfi_parser.c > index 92765f9c8873..178274d10c02 100644 > --- a/drivers/media/platform/qcom/venus/hfi_parser.c > +++ b/drivers/media/platform/qcom/venus/hfi_parser.c > @@ -207,7 +207,8 @@ static int parse_codecs(struct venus_core *core, void *data) > core->enc_codecs = codecs->enc_codecs; > > if (IS_V1(core)) { > - core->dec_codecs &= ~HFI_VIDEO_CODEC_HEVC; > + if (!device_is_compatible(core->dev, "qcom,msm8939-venus")) > + core->dec_codecs &= ~HFI_VIDEO_CODEC_HEVC; Stylistically I think this should be a flag in a struct. I'm not a big fan of doing a bunch of strstr()/strcmp() generally. If you extend the struct venus_resource in some way - I think this will work better and be more runtime friendly. u32 dec_codecs_blacklist; perhaps --- bod