All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/amd/pm: fix the uninitialized scalar variable warning
@ 2024-04-30  7:14 Jesse Zhang
  2024-05-06  6:20 ` Zhang, Jesse(Jie)
  0 siblings, 1 reply; 4+ messages in thread
From: Jesse Zhang @ 2024-04-30  7:14 UTC (permalink / raw)
  To: amd-gfx
  Cc: Alexander.Deucher, Christian Koenig, Tim.Huang, Jesse Zhang, Jesse Zhang

Fix warning for using uninitialized values
sclk_mask, mclk_mask and soc_mask.
v2:Set default variable to UMD PSTATE(Tim Huang)

Signed-off-by: Jesse Zhang <Jesse.Zhang@amd.com>
---
 .../gpu/drm/amd/pm/swsmu/smu12/renoir_ppt.c   | 32 ++++++++++++++++---
 1 file changed, 27 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu12/renoir_ppt.c b/drivers/gpu/drm/amd/pm/swsmu/smu12/renoir_ppt.c
index 8908bbb3ff1f..36a49cfc22e4 100644
--- a/drivers/gpu/drm/amd/pm/swsmu/smu12/renoir_ppt.c
+++ b/drivers/gpu/drm/amd/pm/swsmu/smu12/renoir_ppt.c
@@ -835,10 +835,20 @@ static int renoir_force_clk_levels(struct smu_context *smu,
 		ret = renoir_get_dpm_clk_limited(smu, clk_type, soft_max_level, &max_freq);
 		if (ret)
 			return ret;
-		ret = smu_cmn_send_smc_msg_with_param(smu, SMU_MSG_SetSoftMaxSocclkByFreq, max_freq, NULL);
+		 /* =  0: min_freq
+		  * =  1: UMD_PSTATE_CLK
+		  * >= 2: max_freq
+		  */
+		ret = smu_cmn_send_smc_msg_with_param(smu, SMU_MSG_SetSoftMaxSocclkByFreq,
+							soft_max_level == 0 ? min_freq :
+							soft_max_level == 1 ? RENOIR_UMD_PSTATE_SOCCLK : max_freq,
+							NULL);
 		if (ret)
 			return ret;
-		ret = smu_cmn_send_smc_msg_with_param(smu, SMU_MSG_SetHardMinSocclkByFreq, min_freq, NULL);
+		ret = smu_cmn_send_smc_msg_with_param(smu, SMU_MSG_SetHardMinSocclkByFreq,
+							soft_min_level == 0 ? min_freq :
+							soft_min_level == 1 ? RENOIR_UMD_PSTATE_SOCCLK : max_freq,
+							NULL);
 		if (ret)
 			return ret;
 		break;
@@ -850,10 +860,21 @@ static int renoir_force_clk_levels(struct smu_context *smu,
 		ret = renoir_get_dpm_clk_limited(smu, clk_type, soft_max_level, &max_freq);
 		if (ret)
 			return ret;
-		ret = smu_cmn_send_smc_msg_with_param(smu, SMU_MSG_SetSoftMaxFclkByFreq, max_freq, NULL);
+		/* mclk levels are in reverse order
+		 * =  0: max_freq
+		 * =  1: UMD_PSTATE_CLK
+		 * >= 2: min_freq
+		 */
+		ret = smu_cmn_send_smc_msg_with_param(smu, SMU_MSG_SetSoftMaxFclkByFreq,
+							soft_max_level >= 2 ? min_freq :
+							soft_max_level == 1 ? RENOIR_UMD_PSTATE_FCLK : max_freq,
+							NULL);
 		if (ret)
 			return ret;
-		ret = smu_cmn_send_smc_msg_with_param(smu, SMU_MSG_SetHardMinFclkByFreq, min_freq, NULL);
+		ret = smu_cmn_send_smc_msg_with_param(smu, SMU_MSG_SetHardMinFclkByFreq,
+							soft_min_level >= 2  ? min_freq :
+							soft_min_level == 1 ? RENOIR_UMD_PSTATE_SOCCLK : max_freq,
+							NULL);
 		if (ret)
 			return ret;
 		break;
@@ -932,7 +953,8 @@ static int renoir_set_performance_level(struct smu_context *smu,
 					enum amd_dpm_forced_level level)
 {
 	int ret = 0;
-	uint32_t sclk_mask, mclk_mask, soc_mask;
+	/* default mask is UMD PSTATE CLK */
+	uint32_t sclk_mask = 1, mclk_mask = 1, soc_mask = 1;
 
 	switch (level) {
 	case AMD_DPM_FORCED_LEVEL_HIGH:
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* RE: [PATCH] drm/amd/pm: fix the uninitialized scalar variable warning
  2024-04-30  7:14 [PATCH] drm/amd/pm: fix the uninitialized scalar variable warning Jesse Zhang
@ 2024-05-06  6:20 ` Zhang, Jesse(Jie)
  2024-05-06  6:33   ` Wang, Yang(Kevin)
  2024-05-07  2:32   ` Huang, Tim
  0 siblings, 2 replies; 4+ messages in thread
From: Zhang, Jesse(Jie) @ 2024-05-06  6:20 UTC (permalink / raw)
  To: Zhang, Jesse(Jie), amd-gfx
  Cc: Deucher, Alexander, Koenig, Christian, Huang, Tim

[AMD Official Use Only - General]

Ping ...

-----Original Message-----
From: Jesse Zhang <jesse.zhang@amd.com>
Sent: Tuesday, April 30, 2024 3:14 PM
To: amd-gfx@lists.freedesktop.org
Cc: Deucher, Alexander <Alexander.Deucher@amd.com>; Koenig, Christian <Christian.Koenig@amd.com>; Huang, Tim <Tim.Huang@amd.com>; Zhang, Jesse(Jie) <Jesse.Zhang@amd.com>; Zhang, Jesse(Jie) <Jesse.Zhang@amd.com>
Subject: [PATCH] drm/amd/pm: fix the uninitialized scalar variable warning

Fix warning for using uninitialized values sclk_mask, mclk_mask and soc_mask.
v2:Set default variable to UMD PSTATE(Tim Huang)

Signed-off-by: Jesse Zhang <Jesse.Zhang@amd.com>
---
 .../gpu/drm/amd/pm/swsmu/smu12/renoir_ppt.c   | 32 ++++++++++++++++---
 1 file changed, 27 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu12/renoir_ppt.c b/drivers/gpu/drm/amd/pm/swsmu/smu12/renoir_ppt.c
index 8908bbb3ff1f..36a49cfc22e4 100644
--- a/drivers/gpu/drm/amd/pm/swsmu/smu12/renoir_ppt.c
+++ b/drivers/gpu/drm/amd/pm/swsmu/smu12/renoir_ppt.c
@@ -835,10 +835,20 @@ static int renoir_force_clk_levels(struct smu_context *smu,
                ret = renoir_get_dpm_clk_limited(smu, clk_type, soft_max_level, &max_freq);
                if (ret)
                        return ret;
-               ret = smu_cmn_send_smc_msg_with_param(smu, SMU_MSG_SetSoftMaxSocclkByFreq, max_freq, NULL);
+                /* =  0: min_freq
+                 * =  1: UMD_PSTATE_CLK
+                 * >= 2: max_freq
+                 */
+               ret = smu_cmn_send_smc_msg_with_param(smu, SMU_MSG_SetSoftMaxSocclkByFreq,
+                                                       soft_max_level == 0 ? min_freq :
+                                                       soft_max_level == 1 ? RENOIR_UMD_PSTATE_SOCCLK : max_freq,
+                                                       NULL);
                if (ret)
                        return ret;
-               ret = smu_cmn_send_smc_msg_with_param(smu, SMU_MSG_SetHardMinSocclkByFreq, min_freq, NULL);
+               ret = smu_cmn_send_smc_msg_with_param(smu, SMU_MSG_SetHardMinSocclkByFreq,
+                                                       soft_min_level == 0 ? min_freq :
+                                                       soft_min_level == 1 ? RENOIR_UMD_PSTATE_SOCCLK : max_freq,
+                                                       NULL);
                if (ret)
                        return ret;
                break;
@@ -850,10 +860,21 @@ static int renoir_force_clk_levels(struct smu_context *smu,
                ret = renoir_get_dpm_clk_limited(smu, clk_type, soft_max_level, &max_freq);
                if (ret)
                        return ret;
-               ret = smu_cmn_send_smc_msg_with_param(smu, SMU_MSG_SetSoftMaxFclkByFreq, max_freq, NULL);
+               /* mclk levels are in reverse order
+                * =  0: max_freq
+                * =  1: UMD_PSTATE_CLK
+                * >= 2: min_freq
+                */
+               ret = smu_cmn_send_smc_msg_with_param(smu, SMU_MSG_SetSoftMaxFclkByFreq,
+                                                       soft_max_level >= 2 ? min_freq :
+                                                       soft_max_level == 1 ? RENOIR_UMD_PSTATE_FCLK : max_freq,
+                                                       NULL);
                if (ret)
                        return ret;
-               ret = smu_cmn_send_smc_msg_with_param(smu, SMU_MSG_SetHardMinFclkByFreq, min_freq, NULL);
+               ret = smu_cmn_send_smc_msg_with_param(smu, SMU_MSG_SetHardMinFclkByFreq,
+                                                       soft_min_level >= 2  ? min_freq :
+                                                       soft_min_level == 1 ? RENOIR_UMD_PSTATE_SOCCLK : max_freq,
+                                                       NULL);
                if (ret)
                        return ret;
                break;
@@ -932,7 +953,8 @@ static int renoir_set_performance_level(struct smu_context *smu,
                                        enum amd_dpm_forced_level level)
 {
        int ret = 0;
-       uint32_t sclk_mask, mclk_mask, soc_mask;
+       /* default mask is UMD PSTATE CLK */
+       uint32_t sclk_mask = 1, mclk_mask = 1, soc_mask = 1;

        switch (level) {
        case AMD_DPM_FORCED_LEVEL_HIGH:
--
2.25.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* RE: [PATCH] drm/amd/pm: fix the uninitialized scalar variable warning
  2024-05-06  6:20 ` Zhang, Jesse(Jie)
@ 2024-05-06  6:33   ` Wang, Yang(Kevin)
  2024-05-07  2:32   ` Huang, Tim
  1 sibling, 0 replies; 4+ messages in thread
From: Wang, Yang(Kevin) @ 2024-05-06  6:33 UTC (permalink / raw)
  To: Zhang, Jesse(Jie), Zhang, Jesse(Jie), amd-gfx
  Cc: Deucher, Alexander, Koenig, Christian, Huang, Tim

[-- Attachment #1: Type: text/plain, Size: 5031 bytes --]

[AMD Official Use Only - General]

Acked-by: Yang Wang <kevinyang.wang@amd.com>

Best Regards,
Kevin

-----Original Message-----
From: amd-gfx <amd-gfx-bounces@lists.freedesktop.org> On Behalf Of Zhang, Jesse(Jie)
Sent: 2024年5月6日 14:21
To: Zhang, Jesse(Jie) <Jesse.Zhang@amd.com>; amd-gfx@lists.freedesktop.org
Cc: Deucher, Alexander <Alexander.Deucher@amd.com>; Koenig, Christian <Christian.Koenig@amd.com>; Huang, Tim <Tim.Huang@amd.com>
Subject: RE: [PATCH] drm/amd/pm: fix the uninitialized scalar variable warning

[AMD Official Use Only - General]

[AMD Official Use Only - General]

Ping ...

-----Original Message-----
From: Jesse Zhang <jesse.zhang@amd.com>
Sent: Tuesday, April 30, 2024 3:14 PM
To: amd-gfx@lists.freedesktop.org
Cc: Deucher, Alexander <Alexander.Deucher@amd.com>; Koenig, Christian <Christian.Koenig@amd.com>; Huang, Tim <Tim.Huang@amd.com>; Zhang, Jesse(Jie) <Jesse.Zhang@amd.com>; Zhang, Jesse(Jie) <Jesse.Zhang@amd.com>
Subject: [PATCH] drm/amd/pm: fix the uninitialized scalar variable warning

Fix warning for using uninitialized values sclk_mask, mclk_mask and soc_mask.
v2:Set default variable to UMD PSTATE(Tim Huang)

Signed-off-by: Jesse Zhang <Jesse.Zhang@amd.com>
---
 .../gpu/drm/amd/pm/swsmu/smu12/renoir_ppt.c   | 32 ++++++++++++++++---
 1 file changed, 27 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu12/renoir_ppt.c b/drivers/gpu/drm/amd/pm/swsmu/smu12/renoir_ppt.c
index 8908bbb3ff1f..36a49cfc22e4 100644
--- a/drivers/gpu/drm/amd/pm/swsmu/smu12/renoir_ppt.c
+++ b/drivers/gpu/drm/amd/pm/swsmu/smu12/renoir_ppt.c
@@ -835,10 +835,20 @@ static int renoir_force_clk_levels(struct smu_context *smu,
                ret = renoir_get_dpm_clk_limited(smu, clk_type, soft_max_level, &max_freq);
                if (ret)
                        return ret;
-               ret = smu_cmn_send_smc_msg_with_param(smu, SMU_MSG_SetSoftMaxSocclkByFreq, max_freq, NULL);
+                /* =  0: min_freq
+                 * =  1: UMD_PSTATE_CLK
+                 * >= 2: max_freq
+                 */
+               ret = smu_cmn_send_smc_msg_with_param(smu, SMU_MSG_SetSoftMaxSocclkByFreq,
+                                                       soft_max_level == 0 ? min_freq :
+                                                       soft_max_level == 1 ? RENOIR_UMD_PSTATE_SOCCLK : max_freq,
+                                                       NULL);
                if (ret)
                        return ret;
-               ret = smu_cmn_send_smc_msg_with_param(smu, SMU_MSG_SetHardMinSocclkByFreq, min_freq, NULL);
+               ret = smu_cmn_send_smc_msg_with_param(smu, SMU_MSG_SetHardMinSocclkByFreq,
+                                                       soft_min_level == 0 ? min_freq :
+                                                       soft_min_level == 1 ? RENOIR_UMD_PSTATE_SOCCLK : max_freq,
+                                                       NULL);
                if (ret)
                        return ret;
                break;
@@ -850,10 +860,21 @@ static int renoir_force_clk_levels(struct smu_context *smu,
                ret = renoir_get_dpm_clk_limited(smu, clk_type, soft_max_level, &max_freq);
                if (ret)
                        return ret;
-               ret = smu_cmn_send_smc_msg_with_param(smu, SMU_MSG_SetSoftMaxFclkByFreq, max_freq, NULL);
+               /* mclk levels are in reverse order
+                * =  0: max_freq
+                * =  1: UMD_PSTATE_CLK
+                * >= 2: min_freq
+                */
+               ret = smu_cmn_send_smc_msg_with_param(smu, SMU_MSG_SetSoftMaxFclkByFreq,
+                                                       soft_max_level >= 2 ? min_freq :
+                                                       soft_max_level == 1 ? RENOIR_UMD_PSTATE_FCLK : max_freq,
+                                                       NULL);
                if (ret)
                        return ret;
-               ret = smu_cmn_send_smc_msg_with_param(smu, SMU_MSG_SetHardMinFclkByFreq, min_freq, NULL);
+               ret = smu_cmn_send_smc_msg_with_param(smu, SMU_MSG_SetHardMinFclkByFreq,
+                                                       soft_min_level >= 2  ? min_freq :
+                                                       soft_min_level == 1 ? RENOIR_UMD_PSTATE_SOCCLK : max_freq,
+                                                       NULL);
                if (ret)
                        return ret;
                break;
@@ -932,7 +953,8 @@ static int renoir_set_performance_level(struct smu_context *smu,
                                        enum amd_dpm_forced_level level)  {
        int ret = 0;
-       uint32_t sclk_mask, mclk_mask, soc_mask;
+       /* default mask is UMD PSTATE CLK */
+       uint32_t sclk_mask = 1, mclk_mask = 1, soc_mask = 1;

        switch (level) {
        case AMD_DPM_FORCED_LEVEL_HIGH:
--
2.25.1


[-- Attachment #2: winmail.dat --]
[-- Type: application/ms-tnef, Size: 17982 bytes --]

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* RE: [PATCH] drm/amd/pm: fix the uninitialized scalar variable warning
  2024-05-06  6:20 ` Zhang, Jesse(Jie)
  2024-05-06  6:33   ` Wang, Yang(Kevin)
@ 2024-05-07  2:32   ` Huang, Tim
  1 sibling, 0 replies; 4+ messages in thread
From: Huang, Tim @ 2024-05-07  2:32 UTC (permalink / raw)
  To: Zhang, Jesse(Jie), amd-gfx; +Cc: Deucher, Alexander, Koenig, Christian

[AMD Official Use Only - General]

Hi Jesse,

> -----Original Message-----
> From: Zhang, Jesse(Jie) <Jesse.Zhang@amd.com>
> Sent: Monday, May 6, 2024 2:21 PM
> To: Zhang, Jesse(Jie) <Jesse.Zhang@amd.com>; amd-gfx@lists.freedesktop.org
> Cc: Deucher, Alexander <Alexander.Deucher@amd.com>; Koenig, Christian
> <Christian.Koenig@amd.com>; Huang, Tim <Tim.Huang@amd.com>
> Subject: RE: [PATCH] drm/amd/pm: fix the uninitialized scalar variable warning
>
> [AMD Official Use Only - General]
>
> Ping ...
>
> -----Original Message-----
> From: Jesse Zhang <jesse.zhang@amd.com>
> Sent: Tuesday, April 30, 2024 3:14 PM
> To: amd-gfx@lists.freedesktop.org
> Cc: Deucher, Alexander <Alexander.Deucher@amd.com>; Koenig, Christian
> <Christian.Koenig@amd.com>; Huang, Tim <Tim.Huang@amd.com>; Zhang,
> Jesse(Jie) <Jesse.Zhang@amd.com>; Zhang, Jesse(Jie) <Jesse.Zhang@amd.com>
> Subject: [PATCH] drm/amd/pm: fix the uninitialized scalar variable warning
>
> Fix warning for using uninitialized values sclk_mask, mclk_mask and soc_mask.
> v2:Set default variable to UMD PSTATE(Tim Huang)
>
> Signed-off-by: Jesse Zhang <Jesse.Zhang@amd.com>
> ---
>  .../gpu/drm/amd/pm/swsmu/smu12/renoir_ppt.c   | 32 ++++++++++++++++---
>  1 file changed, 27 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu12/renoir_ppt.c
> b/drivers/gpu/drm/amd/pm/swsmu/smu12/renoir_ppt.c
> index 8908bbb3ff1f..36a49cfc22e4 100644
> --- a/drivers/gpu/drm/amd/pm/swsmu/smu12/renoir_ppt.c
> +++ b/drivers/gpu/drm/amd/pm/swsmu/smu12/renoir_ppt.c
> @@ -835,10 +835,20 @@ static int renoir_force_clk_levels(struct smu_context
> *smu,
>                 ret = renoir_get_dpm_clk_limited(smu, clk_type, soft_max_level,
> &max_freq);
>                 if (ret)
>                         return ret;
> -               ret = smu_cmn_send_smc_msg_with_param(smu,
> SMU_MSG_SetSoftMaxSocclkByFreq, max_freq, NULL);
> +                /* =  0: min_freq
> +                 * =  1: UMD_PSTATE_CLK
> +                 * >= 2: max_freq
> +                 */
> +               ret = smu_cmn_send_smc_msg_with_param(smu,
> SMU_MSG_SetSoftMaxSocclkByFreq,
> +                                                       soft_max_level == 0 ? min_freq :
> +                                                       soft_max_level == 1 ?
> RENOIR_UMD_PSTATE_SOCCLK : max_freq,
> +                                                       NULL);
>                 if (ret)
>                         return ret;
> -               ret = smu_cmn_send_smc_msg_with_param(smu,
> SMU_MSG_SetHardMinSocclkByFreq, min_freq, NULL);
> +               ret = smu_cmn_send_smc_msg_with_param(smu,
> SMU_MSG_SetHardMinSocclkByFreq,
> +                                                       soft_min_level == 0 ? min_freq :
> +                                                       soft_min_level == 1 ?
> RENOIR_UMD_PSTATE_SOCCLK : max_freq,
> +                                                       NULL);
>                 if (ret)
>                         return ret;
>                 break;
> @@ -850,10 +860,21 @@ static int renoir_force_clk_levels(struct smu_context
> *smu,
>                 ret = renoir_get_dpm_clk_limited(smu, clk_type, soft_max_level,
> &max_freq);
>                 if (ret)
>                         return ret;
> -               ret = smu_cmn_send_smc_msg_with_param(smu,
> SMU_MSG_SetSoftMaxFclkByFreq, max_freq, NULL);
> +               /* mclk levels are in reverse order
> +                * =  0: max_freq
> +                * =  1: UMD_PSTATE_CLK
> +                * >= 2: min_freq
> +                */
> +               ret = smu_cmn_send_smc_msg_with_param(smu,
> SMU_MSG_SetSoftMaxFclkByFreq,
> +                                                       soft_max_level >= 2 ? min_freq :
> +                                                       soft_max_level == 1 ?
> RENOIR_UMD_PSTATE_FCLK : max_freq,
> +                                                       NULL);
>                 if (ret)
>                         return ret;
> -               ret = smu_cmn_send_smc_msg_with_param(smu,
> SMU_MSG_SetHardMinFclkByFreq, min_freq, NULL);
> +               ret = smu_cmn_send_smc_msg_with_param(smu,
> SMU_MSG_SetHardMinFclkByFreq,
> +                                                       soft_min_level >= 2  ? min_freq :
> +                                                       soft_min_level == 1 ?
> RENOIR_UMD_PSTATE_SOCCLK : max_freq,
> +                                                       NULL);

It's not the fault of your patch. The original implementation may not set the correct min frequency for MCLK when set to the performance level PROFILE_MIN_MCLK,
For the case, we should make the  min_freq = max_freq = clk_table->FClocks[NUM_FCLK_DPM_LEVELS-1].Freq.

Tim

>                 if (ret)
>                         return ret;
>                 break;
> @@ -932,7 +953,8 @@ static int renoir_set_performance_level(struct
> smu_context *smu,
>                                         enum amd_dpm_forced_level level)  {
>         int ret = 0;
> -       uint32_t sclk_mask, mclk_mask, soc_mask;
> +       /* default mask is UMD PSTATE CLK */
> +       uint32_t sclk_mask = 1, mclk_mask = 1, soc_mask = 1;
>
>         switch (level) {
>         case AMD_DPM_FORCED_LEVEL_HIGH:
> --
> 2.25.1
>


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-05-07  2:32 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-30  7:14 [PATCH] drm/amd/pm: fix the uninitialized scalar variable warning Jesse Zhang
2024-05-06  6:20 ` Zhang, Jesse(Jie)
2024-05-06  6:33   ` Wang, Yang(Kevin)
2024-05-07  2:32   ` Huang, Tim

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.