Message ID | 20230911-topic-mars-v3-8-79f23b81c261@linaro.org (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | Venus cleanups | expand |
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@linaro.org> > Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org> > --- > 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
Hi Konrad, On 4/5/2024 2:48 PM, Dikshita Agarwal wrote: > > > 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@linaro.org> >> Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org> >> --- >> 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. +1 to above comments. The change is misusing legacy bindings to decide the cores, while its more readable to keep it with number of vcodec cores. Thanks, Vikash >> *min_coreid = VIDC_CORE_ID_1; >> *min_load = core1_load; >> } >> > > Thanks, > Dikshita
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) { *min_coreid = VIDC_CORE_ID_1; *min_load = core1_load; }