Messages in this thread | | | Date | Thu, 2 Mar 2023 12:42:53 +0530 | Subject | Re: [PATCH 02/18] media: venus: Introduce VPU version distinction | From | Dikshita Agarwal <> |
| |
On 2/28/2023 8:54 PM, Konrad Dybcio wrote: > The Video Processing Unit hardware version is the differentiator, > based on which we should decide which code paths to take in hw > init. Up until now, we've relied on HFI versions, but that was > just a happy accident between recent SoCs. Add a field in the > res struct and add correlated definitions that will be used to > account for the aforementioned differences. > > Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org> > --- > drivers/media/platform/qcom/venus/core.h | 15 +++++++++++++++ > 1 file changed, 15 insertions(+) > > diff --git a/drivers/media/platform/qcom/venus/core.h b/drivers/media/platform/qcom/venus/core.h > index 32551c2602a9..4b785205c5b1 100644 > --- a/drivers/media/platform/qcom/venus/core.h > +++ b/drivers/media/platform/qcom/venus/core.h > @@ -48,6 +48,14 @@ struct bw_tbl { > u32 peak_10bit; > }; > > +enum vpu_version { > + VPU_VERSION_AR50, /* VPU4 */ > + VPU_VERSION_AR50_LITE, /* VPU4.4 */ > + VPU_VERSION_IRIS1, /* VPU5 */ > + VPU_VERSION_IRIS2, > + VPU_VERSION_IRIS2_1, > +}; > + > struct venus_resources { > u64 dma_mask; > const struct freq_tbl *freq_tbl; > @@ -71,6 +79,7 @@ struct venus_resources { > const char * const resets[VIDC_RESETS_NUM_MAX]; > unsigned int resets_num; > enum hfi_version hfi_version; > + enum vpu_version vpu_version; > u8 num_vpp_pipes; > u32 max_load; > unsigned int vmem_id; > @@ -473,6 +482,12 @@ struct venus_inst { > #define IS_V4(core) ((core)->res->hfi_version == HFI_VERSION_4XX) > #define IS_V6(core) ((core)->res->hfi_version == HFI_VERSION_6XX) > > +#define IS_AR50(core) ((core)->res->vpu_version == VPU_VERSION_AR50) > +#define IS_AR50_LITE(core) ((core)->res->vpu_version == VPU_VERSION_AR50_LITE) > +#define IS_IRIS1(core) ((core)->res->vpu_version == VPU_VERSION_IRIS1) > +#define IS_IRIS2(core) ((core)->res->vpu_version == VPU_VERSION_IRIS2) > +#define IS_IRIS2_1(core) ((core)->res->vpu_version == VPU_VERSION_IRIS2_1) > + > #define ctrl_to_inst(ctrl) \ > container_of((ctrl)->handler, struct venus_inst, ctrl_handler) >
Adding VPU version check seems a good idea to me. Can we remove HFI Version checks now?
| |