On 18.02.2023 21:36, Dmitry Baryshkov wrote: > On Sat, 18 Feb 2023 at 16:43, Konrad Dybcio <konrad.dybcio@xxxxxxxxxx> wrote: >> >> >> >> On 21.01.2023 12:29, Robert Marko wrote: >>> Currently, qcom_cpufreq_get_msm_id() does not simply return the SoC ID >>> after getting it via SMEM call but instead uses an enum to encode the >>> matched SMEM ID to 2 variants of MSM8996 which are then used in >>> qcom_cpufreq_kryo_name_version() to set the supported version. >>> >>> This prevents qcom_cpufreq_get_msm_id() from being universal and its doing >>> more than its name suggests, so lets make it just return the SoC ID >>> directly which allows matching directly on the SoC ID and removes the need >>> for msm8996_version enum which simplifies the driver. >>> It also allows reusing the qcom_cpufreq_get_msm_id() for new SoC-s. >>> >>> Signed-off-by: Robert Marko <robimarko@xxxxxxxxx> >>> --- >>> drivers/cpufreq/qcom-cpufreq-nvmem.c | 44 ++++++++-------------------- >>> 1 file changed, 12 insertions(+), 32 deletions(-) >>> >>> diff --git a/drivers/cpufreq/qcom-cpufreq-nvmem.c b/drivers/cpufreq/qcom-cpufreq-nvmem.c >>> index da55d2e1925a..9deaf9521d6d 100644 >>> --- a/drivers/cpufreq/qcom-cpufreq-nvmem.c >>> +++ b/drivers/cpufreq/qcom-cpufreq-nvmem.c >>> @@ -32,12 +32,6 @@ >>> >>> #include <dt-bindings/arm/qcom,ids.h> >>> >>> -enum _msm8996_version { >>> - MSM8996_V3, >>> - MSM8996_SG, >>> - NUM_OF_MSM8996_VERSIONS, >>> -}; >>> - >>> struct qcom_cpufreq_drv; >>> >>> struct qcom_cpufreq_match_data { >>> @@ -134,30 +128,16 @@ static void get_krait_bin_format_b(struct device *cpu_dev, >>> dev_dbg(cpu_dev, "PVS version: %d\n", *pvs_ver); >>> } >>> >>> -static enum _msm8996_version qcom_cpufreq_get_msm_id(void) >>> +static int qcom_cpufreq_get_msm_id(void) >> This should be u32 as info->id is __le32 >> >> And please export this function from socinfo, it'll come in >> useful for other drivers! > > How? In my opinion newer drivers should use compat strings rather than > depending on the SoC ID. If we were not bound with the compatibility > for msm8996pro device trees already using higher bits, we could have > dropped this part too. Adreno speedbin-to-fuse mapping could use SoC detection.. Konrad >