From 0dec23c1bd9d24285b99ff8c6cb6d8ec5bb0b74a Mon Sep 17 00:00:00 2001 From: Priyanka Gujjula Date: Fri, 19 Nov 2021 21:58:15 +0530 Subject: [PATCH] video-driver: diwali: Sort clock corners Sort allowed clock corners for diwali v1 & v2 variants. Change-Id: Ic561cd4a0e7abcb0f239b294fa81807621f3ebdb Signed-off-by: Priyanka Gujjula --- driver/platform/diwali/src/msm_vidc_diwali.c | 3 +++ driver/vidc/inc/msm_vidc_dt.h | 8 ++++++++ driver/vidc/src/msm_vidc_dt.c | 8 -------- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/driver/platform/diwali/src/msm_vidc_diwali.c b/driver/platform/diwali/src/msm_vidc_diwali.c index 77d4e03ffa..dee054a645 100644 --- a/driver/platform/diwali/src/msm_vidc_diwali.c +++ b/driver/platform/diwali/src/msm_vidc_diwali.c @@ -6,6 +6,7 @@ #include #include +#include #include "msm_vidc_diwali.h" #include "msm_vidc_platform.h" @@ -4992,6 +4993,8 @@ static int msm_vidc_init_data(struct msm_vidc_core *core) } if (platform_data->sku_version) { + sort(core->dt->allowed_clks_tbl, core->dt->allowed_clks_tbl_size, + sizeof(*core->dt->allowed_clks_tbl), cmp, NULL); d_vpr_h("Updated allowed clock rates\n"); for (i = 0; i < core->dt->allowed_clks_tbl_size; i++) d_vpr_h(" %d\n", core->dt->allowed_clks_tbl[i]); diff --git a/driver/vidc/inc/msm_vidc_dt.h b/driver/vidc/inc/msm_vidc_dt.h index 6f6c70b195..1ae0a0bb22 100644 --- a/driver/vidc/inc/msm_vidc_dt.h +++ b/driver/vidc/inc/msm_vidc_dt.h @@ -226,4 +226,12 @@ int msm_vidc_init_dt(struct platform_device *pdev); int msm_vidc_read_context_bank_resources_from_dt(struct platform_device *pdev); void msm_vidc_deinit_dt(struct platform_device *pdev); +/* A comparator to compare loads (needed later on) */ +static inline int cmp(const void *a, const void *b) +{ + /* want to sort in reverse so flip the comparison */ + return ((struct allowed_clock_rates_table *)b)->clock_rate - + ((struct allowed_clock_rates_table *)a)->clock_rate; +} + #endif // _MSM_VIDC_DT_H_ diff --git a/driver/vidc/src/msm_vidc_dt.c b/driver/vidc/src/msm_vidc_dt.c index 01821d2a01..128b1452ac 100644 --- a/driver/vidc/src/msm_vidc_dt.c +++ b/driver/vidc/src/msm_vidc_dt.c @@ -91,14 +91,6 @@ static int msm_vidc_load_u32_table(struct platform_device *pdev, return rc; } -/* A comparator to compare loads (needed later on) */ -static int cmp(const void *a, const void *b) -{ - /* want to sort in reverse so flip the comparison */ - return ((struct allowed_clock_rates_table *)b)->clock_rate - - ((struct allowed_clock_rates_table *)a)->clock_rate; -} - static void msm_vidc_free_allowed_clocks_table(struct msm_vidc_dt *dt) { dt->allowed_clks_tbl = NULL;