Re: [PATCH v3 08/19] media: venus: core: Get rid of vcodec_num
From: Dikshita Agarwal
Date: Fri Apr 05 2024 - 05:19:24 EST
On 3/27/2024 11:38 PM, Konrad Dybcio wrote:
> That field was only introduced to differentiate between the legacy and
> non-legacy SDM845 binding. Get rid of it.
>
> Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@xxxxxxxxxx>
> Signed-off-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxx>
> ---
> drivers/media/platform/qcom/venus/core.c | 5 -----
> drivers/media/platform/qcom/venus/core.h | 1 -
> drivers/media/platform/qcom/venus/pm_helpers.c | 2 +-
> 3 files changed, 1 insertion(+), 7 deletions(-)
>
> diff --git a/drivers/media/platform/qcom/venus/core.c b/drivers/media/platform/qcom/venus/core.c
> index 5e7cb54e6088..26a0c264685a 100644
> --- a/drivers/media/platform/qcom/venus/core.c
> +++ b/drivers/media/platform/qcom/venus/core.c
> @@ -651,7 +651,6 @@ static const struct venus_resources sdm660_res = {
> .vcodec0_clks = { "vcodec0_core" },
> .vcodec1_clks = { "vcodec0_core" },
> .vcodec_clks_num = 1,
> - .vcodec_num = 1,
> .max_load = 1036800,
> .hfi_version = HFI_VERSION_3XX,
> .vmem_id = VIDC_RESOURCE_NONE,
> @@ -725,7 +724,6 @@ static const struct venus_resources sdm845_res_v2 = {
> .vcodec_pmdomains = (const char *[]) { "venus", "vcodec0", "vcodec1" },
> .vcodec_pmdomains_num = 3,
> .opp_pmdomain = pd_names_cx,
> - .vcodec_num = 2,
> .max_load = 3110400, /* 4096x2160@90 */
> .hfi_version = HFI_VERSION_4XX,
> .vpu_version = VPU_VERSION_AR50,
> @@ -774,7 +772,6 @@ static const struct venus_resources sc7180_res = {
> .vcodec_pmdomains = (const char *[]) { "venus", "vcodec0" },
> .vcodec_pmdomains_num = 2,
> .opp_pmdomain = pd_names_cx,
> - .vcodec_num = 1,
> .hfi_version = HFI_VERSION_4XX,
> .vpu_version = VPU_VERSION_AR50,
> .vmem_id = VIDC_RESOURCE_NONE,
> @@ -831,7 +828,6 @@ static const struct venus_resources sm8250_res = {
> .vcodec_pmdomains = (const char *[]) { "venus", "vcodec0" },
> .vcodec_pmdomains_num = 2,
> .opp_pmdomain = pd_names_mx,
> - .vcodec_num = 1,
> .max_load = 7833600,
> .hfi_version = HFI_VERSION_6XX,
> .vpu_version = VPU_VERSION_IRIS2,
> @@ -890,7 +886,6 @@ static const struct venus_resources sc7280_res = {
> .vcodec_pmdomains = (const char *[]) { "venus", "vcodec0" },
> .vcodec_pmdomains_num = 2,
> .opp_pmdomain = pd_names_cx,
> - .vcodec_num = 1,
> .hfi_version = HFI_VERSION_6XX,
> .vpu_version = VPU_VERSION_IRIS2_1,
> .num_vpp_pipes = 1,
> diff --git a/drivers/media/platform/qcom/venus/core.h b/drivers/media/platform/qcom/venus/core.h
> index 6a77de374454..376de1161114 100644
> --- a/drivers/media/platform/qcom/venus/core.h
> +++ b/drivers/media/platform/qcom/venus/core.h
> @@ -74,7 +74,6 @@ struct venus_resources {
> const char **vcodec_pmdomains;
> unsigned int vcodec_pmdomains_num;
> const char **opp_pmdomain;
> - unsigned int vcodec_num;
> 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/pm_helpers.c b/drivers/media/platform/qcom/venus/pm_helpers.c
> index 5b2a40a2f524..ba63e6427eb9 100644
> --- a/drivers/media/platform/qcom/venus/pm_helpers.c
> +++ b/drivers/media/platform/qcom/venus/pm_helpers.c
> @@ -622,7 +622,7 @@ min_loaded_core(struct venus_inst *inst, u32 *min_coreid, u32 *min_load, bool lo
> VIDC_CORE_ID_1 : VIDC_CORE_ID_2;
> *min_load = min(core1_load, core2_load);
>
> - if (cores_max < VIDC_CORE_ID_2 || core->res->vcodec_num < 2> + if (cores_max < VIDC_CORE_ID_2 || legacy_binding) {
core->res->vcodec_num < 2 doesn't mean legacy binding.
7180, 8250 and 7280 have vcodec num as 1 but they don't follow legacy
binding and they still have one core which is VIDC_CORE_ID_1.
> *min_coreid = VIDC_CORE_ID_1;
> *min_load = core1_load;
> }
>
Thanks,
Dikshita