Re: [PATCH v8 4/9] media: qcom: venus: add codec blacklist mechanism
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 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