* [PATCH v3 0/1] cpufreq: qcom: handle ipq806x with no SMEM
@ 2025-11-04 14:06 Christian Marangi
2025-11-04 14:06 ` [PATCH v3 1/1] cpufreq: qcom-nvmem: add compatible fallback for ipq806x for " Christian Marangi
0 siblings, 1 reply; 7+ messages in thread
From: Christian Marangi @ 2025-11-04 14:06 UTC (permalink / raw)
To: Ilia Lin, Rafael J. Wysocki, Viresh Kumar, linux-pm,
linux-arm-msm, linux-kernel
Cc: Christian Marangi
This small series handle a small device family of ipq806x
devices (Google OnHub) that doesn't have SMEM init.
We improve the SMEM driver and apply a workaround in
the cpufreq driver.
(I didn't add the review tag as the patch changed
with the new implementation)
Changes v3:
- Drop first 2 patch as they got merged
- Use of_match_node
Changes v2:
- Rename error macro to INIT_ERR_PTR
- Return -ENODEV from smem probe
- Restructure if condition in cpufreq driver
Christian Marangi (1):
cpufreq: qcom-nvmem: add compatible fallback for ipq806x for no SMEM
drivers/cpufreq/qcom-cpufreq-nvmem.c | 35 ++++++++++++++++++++++++++--
1 file changed, 33 insertions(+), 2 deletions(-)
--
2.51.0
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v3 1/1] cpufreq: qcom-nvmem: add compatible fallback for ipq806x for no SMEM
2025-11-04 14:06 [PATCH v3 0/1] cpufreq: qcom: handle ipq806x with no SMEM Christian Marangi
@ 2025-11-04 14:06 ` Christian Marangi
2025-11-04 14:15 ` Konrad Dybcio
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Christian Marangi @ 2025-11-04 14:06 UTC (permalink / raw)
To: Ilia Lin, Rafael J. Wysocki, Viresh Kumar, linux-pm,
linux-arm-msm, linux-kernel
Cc: Christian Marangi, Dmitry Baryshkov
On some IPQ806x SoC SMEM might be not initialized by SBL. This is the
case for some Google devices (the OnHub family) that can't make use of
SMEM to detect the SoC ID.
To handle these specific case, check if the SMEM is not initialized (by
checking if the qcom_smem_get_soc_id returns -ENODEV) and fallback to
OF machine compatible checking to identify the SoC variant.
Suggested-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
---
drivers/cpufreq/qcom-cpufreq-nvmem.c | 35 ++++++++++++++++++++++++++--
1 file changed, 33 insertions(+), 2 deletions(-)
diff --git a/drivers/cpufreq/qcom-cpufreq-nvmem.c b/drivers/cpufreq/qcom-cpufreq-nvmem.c
index 3a8ed723a23e..17c79955ff2f 100644
--- a/drivers/cpufreq/qcom-cpufreq-nvmem.c
+++ b/drivers/cpufreq/qcom-cpufreq-nvmem.c
@@ -252,13 +252,22 @@ static int qcom_cpufreq_krait_name_version(struct device *cpu_dev,
return ret;
}
+static const struct of_device_id qcom_cpufreq_ipq806x_match_list[] = {
+ { .compatible = "qcom,ipq8062", .data = (const void *)QCOM_ID_IPQ8062 },
+ { .compatible = "qcom,ipq8064", .data = (const void *)QCOM_ID_IPQ8064 },
+ { .compatible = "qcom,ipq8065", .data = (const void *)QCOM_ID_IPQ8065 },
+ { .compatible = "qcom,ipq8066", .data = (const void *)QCOM_ID_IPQ8066 },
+ { .compatible = "qcom,ipq8068", .data = (const void *)QCOM_ID_IPQ8068 },
+ { .compatible = "qcom,ipq8069", .data = (const void *)QCOM_ID_IPQ8069 },
+};
+
static int qcom_cpufreq_ipq8064_name_version(struct device *cpu_dev,
struct nvmem_cell *speedbin_nvmem,
char **pvs_name,
struct qcom_cpufreq_drv *drv)
{
+ int msm_id = -1, ret = 0;
int speed = 0, pvs = 0;
- int msm_id, ret = 0;
u8 *speedbin;
size_t len;
@@ -275,8 +284,30 @@ static int qcom_cpufreq_ipq8064_name_version(struct device *cpu_dev,
get_krait_bin_format_a(cpu_dev, &speed, &pvs, speedbin);
ret = qcom_smem_get_soc_id(&msm_id);
- if (ret)
+ if (ret == -ENODEV) {
+ const struct of_device_id *match;
+ struct device_node *root;
+
+ root = of_find_node_by_path("/");
+ if (!root) {
+ ret = -ENODEV;
+ goto exit;
+ }
+
+ /* Fallback to compatible match with no SMEM initialized */
+ match = of_match_node(qcom_cpufreq_ipq806x_match_list, root);
+ of_node_put(root);
+ if (!match) {
+ ret = -ENODEV;
+ goto exit;
+ }
+
+ /* We found a matching device, get the msm_id from the data entry */
+ msm_id = (int)match->data;
+ ret = 0;
+ } else if (ret) {
goto exit;
+ }
switch (msm_id) {
case QCOM_ID_IPQ8062:
--
2.51.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v3 1/1] cpufreq: qcom-nvmem: add compatible fallback for ipq806x for no SMEM
2025-11-04 14:06 ` [PATCH v3 1/1] cpufreq: qcom-nvmem: add compatible fallback for ipq806x for " Christian Marangi
@ 2025-11-04 14:15 ` Konrad Dybcio
2025-11-05 8:05 ` Krzysztof Kozlowski
2025-11-05 10:27 ` kernel test robot
2 siblings, 0 replies; 7+ messages in thread
From: Konrad Dybcio @ 2025-11-04 14:15 UTC (permalink / raw)
To: Christian Marangi, Ilia Lin, Rafael J. Wysocki, Viresh Kumar,
linux-pm, linux-arm-msm, linux-kernel
Cc: Dmitry Baryshkov
On 11/4/25 3:06 PM, Christian Marangi wrote:
> On some IPQ806x SoC SMEM might be not initialized by SBL. This is the
> case for some Google devices (the OnHub family) that can't make use of
> SMEM to detect the SoC ID.
>
> To handle these specific case, check if the SMEM is not initialized (by
> checking if the qcom_smem_get_soc_id returns -ENODEV) and fallback to
> OF machine compatible checking to identify the SoC variant.
>
> Suggested-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v3 1/1] cpufreq: qcom-nvmem: add compatible fallback for ipq806x for no SMEM
2025-11-04 14:06 ` [PATCH v3 1/1] cpufreq: qcom-nvmem: add compatible fallback for ipq806x for " Christian Marangi
2025-11-04 14:15 ` Konrad Dybcio
@ 2025-11-05 8:05 ` Krzysztof Kozlowski
2025-11-05 9:12 ` Konrad Dybcio
2025-11-05 10:27 ` kernel test robot
2 siblings, 1 reply; 7+ messages in thread
From: Krzysztof Kozlowski @ 2025-11-05 8:05 UTC (permalink / raw)
To: Christian Marangi, Ilia Lin, Rafael J. Wysocki, Viresh Kumar,
linux-pm, linux-arm-msm, linux-kernel
Cc: Dmitry Baryshkov
On 04/11/2025 15:06, Christian Marangi wrote:
> On some IPQ806x SoC SMEM might be not initialized by SBL. This is the
> case for some Google devices (the OnHub family) that can't make use of
> SMEM to detect the SoC ID.
>
> To handle these specific case, check if the SMEM is not initialized (by
> checking if the qcom_smem_get_soc_id returns -ENODEV) and fallback to
> OF machine compatible checking to identify the SoC variant.
>
> Suggested-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
> ---
> drivers/cpufreq/qcom-cpufreq-nvmem.c | 35 ++++++++++++++++++++++++++--
> 1 file changed, 33 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/cpufreq/qcom-cpufreq-nvmem.c b/drivers/cpufreq/qcom-cpufreq-nvmem.c
> index 3a8ed723a23e..17c79955ff2f 100644
> --- a/drivers/cpufreq/qcom-cpufreq-nvmem.c
> +++ b/drivers/cpufreq/qcom-cpufreq-nvmem.c
> @@ -252,13 +252,22 @@ static int qcom_cpufreq_krait_name_version(struct device *cpu_dev,
> return ret;
> }
>
> +static const struct of_device_id qcom_cpufreq_ipq806x_match_list[] = {
> + { .compatible = "qcom,ipq8062", .data = (const void *)QCOM_ID_IPQ8062 },
> + { .compatible = "qcom,ipq8064", .data = (const void *)QCOM_ID_IPQ8064 },
> + { .compatible = "qcom,ipq8065", .data = (const void *)QCOM_ID_IPQ8065 },
> + { .compatible = "qcom,ipq8066", .data = (const void *)QCOM_ID_IPQ8066 },
> + { .compatible = "qcom,ipq8068", .data = (const void *)QCOM_ID_IPQ8068 },
> + { .compatible = "qcom,ipq8069", .data = (const void *)QCOM_ID_IPQ8069 },
> +};
> +
> static int qcom_cpufreq_ipq8064_name_version(struct device *cpu_dev,
> struct nvmem_cell *speedbin_nvmem,
> char **pvs_name,
> struct qcom_cpufreq_drv *drv)
> {
> + int msm_id = -1, ret = 0;
> int speed = 0, pvs = 0;
> - int msm_id, ret = 0;
> u8 *speedbin;
> size_t len;
>
> @@ -275,8 +284,30 @@ static int qcom_cpufreq_ipq8064_name_version(struct device *cpu_dev,
> get_krait_bin_format_a(cpu_dev, &speed, &pvs, speedbin);
>
> ret = qcom_smem_get_soc_id(&msm_id);
> - if (ret)
> + if (ret == -ENODEV) {
> + const struct of_device_id *match;
> + struct device_node *root;
> +
> + root = of_find_node_by_path("/");
> + if (!root) {
> + ret = -ENODEV;
> + goto exit;
> + }
> +
> + /* Fallback to compatible match with no SMEM initialized */
> + match = of_match_node(qcom_cpufreq_ipq806x_match_list, root);
Aren't you re-implementing matching machine? Or actually - the socinfo
driver? You are doing the matching of compatible into SOC ID second
time. Just do it once - via socinfo driver.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v3 1/1] cpufreq: qcom-nvmem: add compatible fallback for ipq806x for no SMEM
2025-11-05 8:05 ` Krzysztof Kozlowski
@ 2025-11-05 9:12 ` Konrad Dybcio
2025-11-05 9:28 ` Krzysztof Kozlowski
0 siblings, 1 reply; 7+ messages in thread
From: Konrad Dybcio @ 2025-11-05 9:12 UTC (permalink / raw)
To: Krzysztof Kozlowski, Christian Marangi, Ilia Lin,
Rafael J. Wysocki, Viresh Kumar, linux-pm, linux-arm-msm,
linux-kernel
Cc: Dmitry Baryshkov
On 11/5/25 9:05 AM, Krzysztof Kozlowski wrote:
> On 04/11/2025 15:06, Christian Marangi wrote:
>> On some IPQ806x SoC SMEM might be not initialized by SBL. This is the
>> case for some Google devices (the OnHub family) that can't make use of
>> SMEM to detect the SoC ID.
>>
>> To handle these specific case, check if the SMEM is not initialized (by
>> checking if the qcom_smem_get_soc_id returns -ENODEV) and fallback to
>> OF machine compatible checking to identify the SoC variant.
>>
>> Suggested-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
>> Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
>> ---
>> drivers/cpufreq/qcom-cpufreq-nvmem.c | 35 ++++++++++++++++++++++++++--
>> 1 file changed, 33 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/cpufreq/qcom-cpufreq-nvmem.c b/drivers/cpufreq/qcom-cpufreq-nvmem.c
>> index 3a8ed723a23e..17c79955ff2f 100644
>> --- a/drivers/cpufreq/qcom-cpufreq-nvmem.c
>> +++ b/drivers/cpufreq/qcom-cpufreq-nvmem.c
>> @@ -252,13 +252,22 @@ static int qcom_cpufreq_krait_name_version(struct device *cpu_dev,
>> return ret;
>> }
>>
>> +static const struct of_device_id qcom_cpufreq_ipq806x_match_list[] = {
>> + { .compatible = "qcom,ipq8062", .data = (const void *)QCOM_ID_IPQ8062 },
>> + { .compatible = "qcom,ipq8064", .data = (const void *)QCOM_ID_IPQ8064 },
>> + { .compatible = "qcom,ipq8065", .data = (const void *)QCOM_ID_IPQ8065 },
>> + { .compatible = "qcom,ipq8066", .data = (const void *)QCOM_ID_IPQ8066 },
>> + { .compatible = "qcom,ipq8068", .data = (const void *)QCOM_ID_IPQ8068 },
>> + { .compatible = "qcom,ipq8069", .data = (const void *)QCOM_ID_IPQ8069 },
>> +};
>> +
>> static int qcom_cpufreq_ipq8064_name_version(struct device *cpu_dev,
>> struct nvmem_cell *speedbin_nvmem,
>> char **pvs_name,
>> struct qcom_cpufreq_drv *drv)
>> {
>> + int msm_id = -1, ret = 0;
>> int speed = 0, pvs = 0;
>> - int msm_id, ret = 0;
>> u8 *speedbin;
>> size_t len;
>>
>> @@ -275,8 +284,30 @@ static int qcom_cpufreq_ipq8064_name_version(struct device *cpu_dev,
>> get_krait_bin_format_a(cpu_dev, &speed, &pvs, speedbin);
>>
>> ret = qcom_smem_get_soc_id(&msm_id);
>> - if (ret)
>> + if (ret == -ENODEV) {
>> + const struct of_device_id *match;
>> + struct device_node *root;
>> +
>> + root = of_find_node_by_path("/");
>> + if (!root) {
>> + ret = -ENODEV;
>> + goto exit;
>> + }
>> +
>> + /* Fallback to compatible match with no SMEM initialized */
>> + match = of_match_node(qcom_cpufreq_ipq806x_match_list, root);
>
> Aren't you re-implementing matching machine? Or actually - the socinfo
> driver? You are doing the matching of compatible into SOC ID second
> time. Just do it once - via socinfo driver.
The issue here is that if SMEM is absent, the socinfo driver can
not function and this is a contained workaround
Konrad
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v3 1/1] cpufreq: qcom-nvmem: add compatible fallback for ipq806x for no SMEM
2025-11-05 9:12 ` Konrad Dybcio
@ 2025-11-05 9:28 ` Krzysztof Kozlowski
0 siblings, 0 replies; 7+ messages in thread
From: Krzysztof Kozlowski @ 2025-11-05 9:28 UTC (permalink / raw)
To: Konrad Dybcio, Christian Marangi, Ilia Lin, Rafael J. Wysocki,
Viresh Kumar, linux-pm, linux-arm-msm, linux-kernel
Cc: Dmitry Baryshkov
On 05/11/2025 10:12, Konrad Dybcio wrote:
> On 11/5/25 9:05 AM, Krzysztof Kozlowski wrote:
>> On 04/11/2025 15:06, Christian Marangi wrote:
>>> On some IPQ806x SoC SMEM might be not initialized by SBL. This is the
>>> case for some Google devices (the OnHub family) that can't make use of
>>> SMEM to detect the SoC ID.
>>>
>>> To handle these specific case, check if the SMEM is not initialized (by
>>> checking if the qcom_smem_get_soc_id returns -ENODEV) and fallback to
>>> OF machine compatible checking to identify the SoC variant.
>>>
>>> Suggested-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
>>> Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
>>> ---
>>> drivers/cpufreq/qcom-cpufreq-nvmem.c | 35 ++++++++++++++++++++++++++--
>>> 1 file changed, 33 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/drivers/cpufreq/qcom-cpufreq-nvmem.c b/drivers/cpufreq/qcom-cpufreq-nvmem.c
>>> index 3a8ed723a23e..17c79955ff2f 100644
>>> --- a/drivers/cpufreq/qcom-cpufreq-nvmem.c
>>> +++ b/drivers/cpufreq/qcom-cpufreq-nvmem.c
>>> @@ -252,13 +252,22 @@ static int qcom_cpufreq_krait_name_version(struct device *cpu_dev,
>>> return ret;
>>> }
>>>
>>> +static const struct of_device_id qcom_cpufreq_ipq806x_match_list[] = {
>>> + { .compatible = "qcom,ipq8062", .data = (const void *)QCOM_ID_IPQ8062 },
>>> + { .compatible = "qcom,ipq8064", .data = (const void *)QCOM_ID_IPQ8064 },
>>> + { .compatible = "qcom,ipq8065", .data = (const void *)QCOM_ID_IPQ8065 },
>>> + { .compatible = "qcom,ipq8066", .data = (const void *)QCOM_ID_IPQ8066 },
>>> + { .compatible = "qcom,ipq8068", .data = (const void *)QCOM_ID_IPQ8068 },
>>> + { .compatible = "qcom,ipq8069", .data = (const void *)QCOM_ID_IPQ8069 },
>>> +};
>>> +
>>> static int qcom_cpufreq_ipq8064_name_version(struct device *cpu_dev,
>>> struct nvmem_cell *speedbin_nvmem,
>>> char **pvs_name,
>>> struct qcom_cpufreq_drv *drv)
>>> {
>>> + int msm_id = -1, ret = 0;
>>> int speed = 0, pvs = 0;
>>> - int msm_id, ret = 0;
>>> u8 *speedbin;
>>> size_t len;
>>>
>>> @@ -275,8 +284,30 @@ static int qcom_cpufreq_ipq8064_name_version(struct device *cpu_dev,
>>> get_krait_bin_format_a(cpu_dev, &speed, &pvs, speedbin);
>>>
>>> ret = qcom_smem_get_soc_id(&msm_id);
>>> - if (ret)
>>> + if (ret == -ENODEV) {
>>> + const struct of_device_id *match;
>>> + struct device_node *root;
>>> +
>>> + root = of_find_node_by_path("/");
>>> + if (!root) {
>>> + ret = -ENODEV;
>>> + goto exit;
>>> + }
>>> +
>>> + /* Fallback to compatible match with no SMEM initialized */
>>> + match = of_match_node(qcom_cpufreq_ipq806x_match_list, root);
>>
>> Aren't you re-implementing matching machine? Or actually - the socinfo
>> driver? You are doing the matching of compatible into SOC ID second
>> time. Just do it once - via socinfo driver.
>
> The issue here is that if SMEM is absent, the socinfo driver can
> not function and this is a contained workaround
OK, some short paragraph about this should be in commit msg though.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v3 1/1] cpufreq: qcom-nvmem: add compatible fallback for ipq806x for no SMEM
2025-11-04 14:06 ` [PATCH v3 1/1] cpufreq: qcom-nvmem: add compatible fallback for ipq806x for " Christian Marangi
2025-11-04 14:15 ` Konrad Dybcio
2025-11-05 8:05 ` Krzysztof Kozlowski
@ 2025-11-05 10:27 ` kernel test robot
2 siblings, 0 replies; 7+ messages in thread
From: kernel test robot @ 2025-11-05 10:27 UTC (permalink / raw)
To: Christian Marangi, Ilia Lin, Rafael J. Wysocki, Viresh Kumar,
linux-pm, linux-arm-msm, linux-kernel
Cc: oe-kbuild-all, Christian Marangi, Dmitry Baryshkov
Hi Christian,
kernel test robot noticed the following build warnings:
[auto build test WARNING on rafael-pm/linux-next]
[also build test WARNING on rafael-pm/bleeding-edge linus/master v6.18-rc4 next-20251105]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Christian-Marangi/cpufreq-qcom-nvmem-add-compatible-fallback-for-ipq806x-for-no-SMEM/20251104-221546
base: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next
patch link: https://lore.kernel.org/r/20251104140635.25965-2-ansuelsmth%40gmail.com
patch subject: [PATCH v3 1/1] cpufreq: qcom-nvmem: add compatible fallback for ipq806x for no SMEM
config: arm64-defconfig (https://download.01.org/0day-ci/archive/20251105/202511051843.DLYBg5h3-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 15.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251105/202511051843.DLYBg5h3-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202511051843.DLYBg5h3-lkp@intel.com/
All warnings (new ones prefixed by >>):
drivers/cpufreq/qcom-cpufreq-nvmem.c: In function 'qcom_cpufreq_ipq8064_name_version':
>> drivers/cpufreq/qcom-cpufreq-nvmem.c:310:26: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
310 | msm_id = (int)match->data;
| ^
vim +310 drivers/cpufreq/qcom-cpufreq-nvmem.c
267
268 static int qcom_cpufreq_ipq8064_name_version(struct device *cpu_dev,
269 struct nvmem_cell *speedbin_nvmem,
270 char **pvs_name,
271 struct qcom_cpufreq_drv *drv)
272 {
273 int msm_id = -1, ret = 0;
274 int speed = 0, pvs = 0;
275 u8 *speedbin;
276 size_t len;
277
278 speedbin = nvmem_cell_read(speedbin_nvmem, &len);
279 if (IS_ERR(speedbin))
280 return PTR_ERR(speedbin);
281
282 if (len != 4) {
283 dev_err(cpu_dev, "Unable to read nvmem data. Defaulting to 0!\n");
284 ret = -ENODEV;
285 goto exit;
286 }
287
288 get_krait_bin_format_a(cpu_dev, &speed, &pvs, speedbin);
289
290 ret = qcom_smem_get_soc_id(&msm_id);
291 if (ret == -ENODEV) {
292 const struct of_device_id *match;
293 struct device_node *root;
294
295 root = of_find_node_by_path("/");
296 if (!root) {
297 ret = -ENODEV;
298 goto exit;
299 }
300
301 /* Fallback to compatible match with no SMEM initialized */
302 match = of_match_node(qcom_cpufreq_ipq806x_match_list, root);
303 of_node_put(root);
304 if (!match) {
305 ret = -ENODEV;
306 goto exit;
307 }
308
309 /* We found a matching device, get the msm_id from the data entry */
> 310 msm_id = (int)match->data;
311 ret = 0;
312 } else if (ret) {
313 goto exit;
314 }
315
316 switch (msm_id) {
317 case QCOM_ID_IPQ8062:
318 drv->versions = BIT(IPQ8062_VERSION);
319 break;
320 case QCOM_ID_IPQ8064:
321 case QCOM_ID_IPQ8066:
322 case QCOM_ID_IPQ8068:
323 drv->versions = BIT(IPQ8064_VERSION);
324 break;
325 case QCOM_ID_IPQ8065:
326 case QCOM_ID_IPQ8069:
327 drv->versions = BIT(IPQ8065_VERSION);
328 break;
329 default:
330 dev_err(cpu_dev,
331 "SoC ID %u is not part of IPQ8064 family, limiting to 1.0GHz!\n",
332 msm_id);
333 drv->versions = BIT(IPQ8062_VERSION);
334 break;
335 }
336
337 /* IPQ8064 speed is never fused. Only pvs values are fused. */
338 snprintf(*pvs_name, sizeof("speed0-pvsXX"), "speed0-pvs%d", pvs);
339
340 exit:
341 kfree(speedbin);
342 return ret;
343 }
344
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2025-11-05 10:28 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-04 14:06 [PATCH v3 0/1] cpufreq: qcom: handle ipq806x with no SMEM Christian Marangi
2025-11-04 14:06 ` [PATCH v3 1/1] cpufreq: qcom-nvmem: add compatible fallback for ipq806x for " Christian Marangi
2025-11-04 14:15 ` Konrad Dybcio
2025-11-05 8:05 ` Krzysztof Kozlowski
2025-11-05 9:12 ` Konrad Dybcio
2025-11-05 9:28 ` Krzysztof Kozlowski
2025-11-05 10:27 ` kernel test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox