2023-01-21 11:32:41

by Robert Marko

[permalink] [raw]
Subject: [PATCH 2/4] cpufreq: qcom-nvmem: reuse socinfo SMEM item struct

Now that socinfo SMEM item struct and defines have been moved to a header
so we can utilize that instead.

Now the SMEM value can be accesed directly, there is no need for defining
the ID for the SMEM request as well.

Signed-off-by: Robert Marko <[email protected]>
---
drivers/cpufreq/qcom-cpufreq-nvmem.c | 14 +++++---------
1 file changed, 5 insertions(+), 9 deletions(-)

diff --git a/drivers/cpufreq/qcom-cpufreq-nvmem.c b/drivers/cpufreq/qcom-cpufreq-nvmem.c
index a577586b23be..c0a7841a56c1 100644
--- a/drivers/cpufreq/qcom-cpufreq-nvmem.c
+++ b/drivers/cpufreq/qcom-cpufreq-nvmem.c
@@ -28,8 +28,7 @@
#include <linux/pm_opp.h>
#include <linux/slab.h>
#include <linux/soc/qcom/smem.h>
-
-#define MSM_ID_SMEM 137
+#include <linux/soc/qcom/socinfo.h>

enum _msm_id {
MSM8996V3 = 0xF6ul,
@@ -143,17 +142,14 @@ static void get_krait_bin_format_b(struct device *cpu_dev,
static enum _msm8996_version qcom_cpufreq_get_msm_id(void)
{
size_t len;
- u32 *msm_id;
+ struct socinfo *info;
enum _msm8996_version version;

- msm_id = qcom_smem_get(QCOM_SMEM_HOST_ANY, MSM_ID_SMEM, &len);
- if (IS_ERR(msm_id))
+ info = qcom_smem_get(QCOM_SMEM_HOST_ANY, SMEM_HW_SW_BUILD_ID, &len);
+ if (IS_ERR(info))
return NUM_OF_MSM8996_VERSIONS;

- /* The first 4 bytes are format, next to them is the actual msm-id */
- msm_id++;
-
- switch ((enum _msm_id)*msm_id) {
+ switch (info->id) {
case MSM8996V3:
case APQ8096V3:
version = MSM8996_V3;
--
2.39.1


2023-02-06 20:36:08

by Bjorn Andersson

[permalink] [raw]
Subject: Re: [PATCH 2/4] cpufreq: qcom-nvmem: reuse socinfo SMEM item struct

On Sat, Jan 21, 2023 at 12:29:45PM +0100, Robert Marko wrote:
> Now that socinfo SMEM item struct and defines have been moved to a header
> so we can utilize that instead.
>
> Now the SMEM value can be accesed directly, there is no need for defining
> the ID for the SMEM request as well.
>
> Signed-off-by: Robert Marko <[email protected]>

Reviewed-by: Bjorn Andersson <[email protected]>

@Rafael, @Viresh, would you mind providing an Ack for me to take these 3
patches, together with patch 1, through the Qualcomm tree? I have staged
changes for 6.3, so we'll otherwise end up with conflicts on the move of
the struct.

Thanks,
Bjorn

> ---
> drivers/cpufreq/qcom-cpufreq-nvmem.c | 14 +++++---------
> 1 file changed, 5 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/cpufreq/qcom-cpufreq-nvmem.c b/drivers/cpufreq/qcom-cpufreq-nvmem.c
> index a577586b23be..c0a7841a56c1 100644
> --- a/drivers/cpufreq/qcom-cpufreq-nvmem.c
> +++ b/drivers/cpufreq/qcom-cpufreq-nvmem.c
> @@ -28,8 +28,7 @@
> #include <linux/pm_opp.h>
> #include <linux/slab.h>
> #include <linux/soc/qcom/smem.h>
> -
> -#define MSM_ID_SMEM 137
> +#include <linux/soc/qcom/socinfo.h>
>
> enum _msm_id {
> MSM8996V3 = 0xF6ul,
> @@ -143,17 +142,14 @@ static void get_krait_bin_format_b(struct device *cpu_dev,
> static enum _msm8996_version qcom_cpufreq_get_msm_id(void)
> {
> size_t len;
> - u32 *msm_id;
> + struct socinfo *info;
> enum _msm8996_version version;
>
> - msm_id = qcom_smem_get(QCOM_SMEM_HOST_ANY, MSM_ID_SMEM, &len);
> - if (IS_ERR(msm_id))
> + info = qcom_smem_get(QCOM_SMEM_HOST_ANY, SMEM_HW_SW_BUILD_ID, &len);
> + if (IS_ERR(info))
> return NUM_OF_MSM8996_VERSIONS;
>
> - /* The first 4 bytes are format, next to them is the actual msm-id */
> - msm_id++;
> -
> - switch ((enum _msm_id)*msm_id) {
> + switch (info->id) {
> case MSM8996V3:
> case APQ8096V3:
> version = MSM8996_V3;
> --
> 2.39.1
>

2023-02-07 04:15:27

by Viresh Kumar

[permalink] [raw]
Subject: Re: [PATCH 2/4] cpufreq: qcom-nvmem: reuse socinfo SMEM item struct

On 06-02-23, 12:38, Bjorn Andersson wrote:
> On Sat, Jan 21, 2023 at 12:29:45PM +0100, Robert Marko wrote:
> > Now that socinfo SMEM item struct and defines have been moved to a header
> > so we can utilize that instead.
> >
> > Now the SMEM value can be accesed directly, there is no need for defining
> > the ID for the SMEM request as well.
> >
> > Signed-off-by: Robert Marko <[email protected]>
>
> Reviewed-by: Bjorn Andersson <[email protected]>
>
> @Rafael, @Viresh, would you mind providing an Ack for me to take these 3
> patches, together with patch 1, through the Qualcomm tree? I have staged
> changes for 6.3, so we'll otherwise end up with conflicts on the move of
> the struct.

For all cpufreq patches.

Acked-by: Viresh Kumar <[email protected]>

--
viresh