On 19/05/2026 16:10, Erikas Bitovtas wrote:
Add decode and encode blacklist properties to allow disabling different
codecs per Venus device, instead of doing it per HFI version.

Signed-off-by: Erikas Bitovtas <[email protected]>
---
  drivers/media/platform/qcom/venus/core.h       |  2 ++
  drivers/media/platform/qcom/venus/hfi_parser.c | 10 +++++-----
  2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/drivers/media/platform/qcom/venus/core.h 
b/drivers/media/platform/qcom/venus/core.h
index c1603eebd757..46705a666776 100644
--- a/drivers/media/platform/qcom/venus/core.h
+++ b/drivers/media/platform/qcom/venus/core.h
@@ -88,6 +88,8 @@ struct venus_resources {
        const char **opp_pmdomain;
        unsigned int opp_pmdomain_num;
        unsigned int vcodec_num;
+       const u32 dec_codec_blacklist;
+       const u32 enc_codec_blacklist;
        const char * const resets[VIDC_RESETS_NUM_MAX];
        unsigned int resets_num;
        enum hfi_version hfi_version;
diff --git a/drivers/media/platform/qcom/venus/hfi_parser.c 
b/drivers/media/platform/qcom/venus/hfi_parser.c
index 92765f9c8873..8e762cf77968 100644
--- a/drivers/media/platform/qcom/venus/hfi_parser.c
+++ b/drivers/media/platform/qcom/venus/hfi_parser.c
@@ -206,11 +206,11 @@ static int parse_codecs(struct venus_core *core, void 
*data)
        core->dec_codecs = codecs->dec_codecs;
        core->enc_codecs = codecs->enc_codecs;

-       if (IS_V1(core)) {
-               core->dec_codecs &= ~HFI_VIDEO_CODEC_HEVC;
-               core->dec_codecs &= ~HFI_VIDEO_CODEC_SPARK;
-               core->enc_codecs &= ~HFI_VIDEO_CODEC_HEVC;
-       }
+       if (core->res->dec_codec_blacklist)
+               core->dec_codecs &= ~core->res->dec_codec_blacklist;
+
+       if (core->res->enc_codec_blacklist)
+               core->enc_codecs &= ~core->res->enc_codec_blacklist;

        return sizeof(*codecs);
  }

--
2.54.0


The ordering of the patches is wrong here 5/9 should come before 4/9 actually, that wouldn't bisect.

If it was just ordering, I'd fix this for you on application but, 4/9 and 5/9 should be individually bisectable so rather than change the ordering just add blacklist and whitelist data for 8916 here.

Then 5/9 can be about switching off the old way. For 8916 the series should be opaque.

Assuming you do that please add:

Reviewed-by: Bryan O'Donoghue <[email protected]>

---
bod

Reply via email to