diff options
Diffstat (limited to 'target/linux/ipq807x/patches-6.1/0128-cpufreq-qcom-nvmem-add-support-for-IPQ8074.patch')
-rw-r--r-- | target/linux/ipq807x/patches-6.1/0128-cpufreq-qcom-nvmem-add-support-for-IPQ8074.patch | 32 |
1 files changed, 20 insertions, 12 deletions
diff --git a/target/linux/ipq807x/patches-6.1/0128-cpufreq-qcom-nvmem-add-support-for-IPQ8074.patch b/target/linux/ipq807x/patches-6.1/0128-cpufreq-qcom-nvmem-add-support-for-IPQ8074.patch index d2653e52d6..09abbfa2e5 100644 --- a/target/linux/ipq807x/patches-6.1/0128-cpufreq-qcom-nvmem-add-support-for-IPQ8074.patch +++ b/target/linux/ipq807x/patches-6.1/0128-cpufreq-qcom-nvmem-add-support-for-IPQ8074.patch @@ -1,4 +1,4 @@ -From 813f2b5ad002e691b92154037f154b4444eedd54 Mon Sep 17 00:00:00 2001 +From 11592aa862e67f4477dee7e94d5c8244d893de1b Mon Sep 17 00:00:00 2001 From: Robert Marko <robimarko@gmail.com> Date: Sat, 31 Dec 2022 13:03:41 +0100 Subject: [PATCH] cpufreq: qcom-nvmem: add support for IPQ8074 @@ -15,9 +15,13 @@ will get created by NVMEM CPUFreq driver. Signed-off-by: Robert Marko <robimarko@gmail.com> --- +Changes in v2: +* Print an error if SMEM ID is not part of the IPQ8074 family +and restrict the speed to Acorn variant (1.4GHz) +--- drivers/cpufreq/cpufreq-dt-platdev.c | 1 + - drivers/cpufreq/qcom-cpufreq-nvmem.c | 39 ++++++++++++++++++++++++++++ - 2 files changed, 40 insertions(+) + drivers/cpufreq/qcom-cpufreq-nvmem.c | 43 ++++++++++++++++++++++++++++ + 2 files changed, 44 insertions(+) --- a/drivers/cpufreq/cpufreq-dt-platdev.c +++ b/drivers/cpufreq/cpufreq-dt-platdev.c @@ -31,7 +35,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com> { .compatible = "qcom,msm8960", }, --- a/drivers/cpufreq/qcom-cpufreq-nvmem.c +++ b/drivers/cpufreq/qcom-cpufreq-nvmem.c -@@ -32,6 +32,9 @@ +@@ -31,6 +31,9 @@ #include <dt-bindings/arm/qcom,ids.h> @@ -41,7 +45,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com> struct qcom_cpufreq_drv; struct qcom_cpufreq_match_data { -@@ -216,6 +219,37 @@ len_error: +@@ -204,6 +207,41 @@ len_error: return ret; } @@ -50,12 +54,13 @@ Signed-off-by: Robert Marko <robimarko@gmail.com> + char **pvs_name, + struct qcom_cpufreq_drv *drv) +{ -+ int msm_id; ++ u32 msm_id; ++ int ret; + *pvs_name = NULL; + -+ msm_id = qcom_cpufreq_get_msm_id(); -+ if (msm_id < 0) -+ return msm_id; ++ ret = qcom_smem_get_soc_id(&msm_id); ++ if (ret) ++ return ret; + + switch (msm_id) { + case QCOM_ID_IPQ8070A: @@ -69,7 +74,10 @@ Signed-off-by: Robert Marko <robimarko@gmail.com> + drv->versions = IPQ8074_HAWKEYE_VERSION; + break; + default: -+ BUG(); ++ dev_err(cpu_dev, ++ "SoC ID %u is not part of IPQ8074 family, limiting to 1.4GHz!\n", ++ msm_id); ++ drv->versions = IPQ8074_ACORN_VERSION; + break; + } + @@ -79,7 +87,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com> static const struct qcom_cpufreq_match_data match_data_kryo = { .get_version = qcom_cpufreq_kryo_name_version, }; -@@ -230,6 +264,10 @@ static const struct qcom_cpufreq_match_d +@@ -218,6 +256,10 @@ static const struct qcom_cpufreq_match_d .genpd_names = qcs404_genpd_names, }; @@ -90,7 +98,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com> static int qcom_cpufreq_probe(struct platform_device *pdev) { struct qcom_cpufreq_drv *drv; -@@ -375,6 +413,7 @@ static const struct of_device_id qcom_cp +@@ -363,6 +405,7 @@ static const struct of_device_id qcom_cp { .compatible = "qcom,msm8996", .data = &match_data_kryo }, { .compatible = "qcom,qcs404", .data = &match_data_qcs404 }, { .compatible = "qcom,ipq8064", .data = &match_data_krait }, |