<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<p style="margin-top:0;margin-bottom:0"><font size="2"><span style="font-size:11pt;">>shouldn't we still assign simple_clocks.level to clocks->max_clocks_state if it's non-zero?<br>
<br>
Yes, Thanks for your reminding.</span></font></p>
<p style="margin-top:0;margin-bottom:0"><font size="2"><span style="font-size:11pt;"><br>
</span></font></p>
<p style="margin-top:0;margin-bottom:0"><font size="2"><span style="font-size:11pt;">Best Regards</span></font></p>
<p style="margin-top:0;margin-bottom:0"><font size="2"><span style="font-size:11pt;">Rex<br>
</span></font><br>
</p>
<br>
<br>
<div style="color: rgb(0, 0, 0);">
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font style="font-size:11pt" color="#000000" face="Calibri, sans-serif"><b>From:</b> Wentland, Harry<br>
<b>Sent:</b> Wednesday, July 18, 2018 2:29 AM<br>
<b>To:</b> Zhu, Rex; amd-gfx@lists.freedesktop.org<br>
<b>Subject:</b> Re: [PATCH 1/2] drm/amd/pp: Set Max clock level to display by default</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt;">
<div class="PlainText"><br>
<br>
On 2018-07-17 08:36 AM, Rex Zhu wrote:<br>
> avoid the error in dmesg:<br>
> [drm:dm_pp_get_static_clocks]<br>
> *ERROR* DM_PPLIB: invalid powerlevel state: 0!<br>
> <br>
> Signed-off-by: Rex Zhu <Rex.Zhu@amd.com><br>
> ---<br>
>  drivers/gpu/drm/amd/powerplay/amd_powerplay.c | 7 +++++--<br>
>  1 file changed, 5 insertions(+), 2 deletions(-)<br>
> <br>
> diff --git a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c<br>
> index 75c2082..63adcd1 100644<br>
> --- a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c<br>
> +++ b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c<br>
> @@ -998,7 +998,7 @@ static int pp_get_display_power_level(void *handle,<br>
>  static int pp_get_current_clocks(void *handle,<br>
>                struct amd_pp_clock_info *clocks)<br>
>  {<br>
> -     struct amd_pp_simple_clock_info simple_clocks;<br>
> +     struct amd_pp_simple_clock_info simple_clocks = { 0 };<br>
>        struct pp_clock_info hw_clocks;<br>
>        struct pp_hwmgr *hwmgr = handle;<br>
>        int ret = 0;<br>
> @@ -1034,7 +1034,8 @@ static int pp_get_current_clocks(void *handle,<br>
>        clocks->max_engine_clock_in_sr = hw_clocks.max_eng_clk;<br>
>        clocks->min_engine_clock_in_sr = hw_clocks.min_eng_clk;<br>
>  <br>
> -     clocks->max_clocks_state = simple_clocks.level;<br>
> +     if (simple_clocks.level == 0)<br>
> +             clocks->max_clocks_state = PP_DAL_POWERLEVEL_7;<br>
<br>
shouldn't we still assign simple_clocks.level to clocks->max_clocks_state if it's non-zero?<br>
<br>
Harry<br>
<br>
>  <br>
>        if (0 == phm_get_current_shallow_sleep_clocks(hwmgr, &hwmgr->current_ps->hardware, &hw_clocks)) {<br>
>                clocks->max_engine_clock_in_sr = hw_clocks.max_eng_clk;<br>
> @@ -1137,6 +1138,8 @@ static int pp_get_display_mode_validation_clocks(void *handle,<br>
>        if (!hwmgr || !hwmgr->pm_en ||!clocks)<br>
>                return -EINVAL;<br>
>  <br>
> +     clocks->level = PP_DAL_POWERLEVEL_7;<br>
> +<br>
>        mutex_lock(&hwmgr->smu_lock);<br>
>  <br>
>        if (phm_cap_enabled(hwmgr->platform_descriptor.platformCaps, PHM_PlatformCaps_DynamicPatchPowerState))<br>
> <br>
</div>
</span></font></div>
</div>
</div>
</body>
</html>