[2/4] cpufreq: qcom-nvmem: reuse socinfo SMEM item struct

Message ID 20230121112947.53433-2-robimarko@gmail.com
State New
Headers
Series [1/4] soc: qcom: socinfo: move SMEM item struct and defines to a header |

Commit Message

Robert Marko Jan. 21, 2023, 11:29 a.m. UTC
  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 <robimarko@gmail.com>
---
 drivers/cpufreq/qcom-cpufreq-nvmem.c | 14 +++++---------
 1 file changed, 5 insertions(+), 9 deletions(-)
  

Comments

Bjorn Andersson Feb. 6, 2023, 8:38 p.m. UTC | #1
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 <robimarko@gmail.com>

Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>

@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
>
  
Viresh Kumar Feb. 7, 2023, 4:15 a.m. UTC | #2
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 <robimarko@gmail.com>
> 
> Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
> 
> @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 <viresh.kumar@linaro.org>
  

Patch

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;