Re: [PATCH v5 8/8] media: qcom: venus: Enable HEVC decoding for MSM8939

From: Bryan O'Donoghue

Date: Thu May 07 2026 - 05:22:16 EST


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 <xerikasxx@xxxxxxxxx>
---
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