<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p>Hi Rex,</p>
<p>So you intend to separate previous one integrated profile
parameters into two sets implemented by two/three sysfs entries.<br>
</p>
Regards,<br>
Eric<br>
<br>
<div class="moz-cite-prefix">On 2018-01-24 03:13 PM, Zhu, Rex wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CY4PR12MB1687B4CBFF3BC4DD121752A4FBE20@CY4PR12MB1687.namprd12.prod.outlook.com">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
Hi Eric,<br>
<br>
We have sysfs pp-dpm-sclk/mclk to set min dpm level<br>
<br>
Best Regards<br>
Rex
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font style="font-size:11pt"
face="Calibri, sans-serif" color="#000000"><b>From:</b>
amd-gfx <a class="moz-txt-link-rfc2396E" href="mailto:amd-gfx-bounces@lists.freedesktop.org"><amd-gfx-bounces@lists.freedesktop.org></a> on
behalf of Eric Huang <a class="moz-txt-link-rfc2396E" href="mailto:jinhuieric.huang@amd.com"><jinhuieric.huang@amd.com></a><br>
<b>Sent:</b> Thursday, January 25, 2018 12:04:55 AM<br>
<b>To:</b> <a class="moz-txt-link-abbreviated" href="mailto:amd-gfx@lists.freedesktop.org">amd-gfx@lists.freedesktop.org</a><br>
<b>Subject:</b> Re: [PATCH 4/4] drm/amd/pp: Implement
set_power_profile_mode on smu7</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span
style="font-size:11pt;">
<div class="PlainText">We have min_sclk and min_mclk in
previous power profile parameters for
<br>
VI, which are similar with min_active_level for Vega10.
How to implement <br>
these parameters?<br>
<br>
Regards,<br>
Eric<br>
<br>
On 2018-01-24 04:37 AM, Rex Zhu wrote:<br>
> User can set smu7 profile pamameters through sysfs<br>
><br>
> echo "0/1/2/3/4">pp_power_profile_mode<br>
> to select
3D_FULL_SCREEN/POWER_SAVING/VIDEO/VR/COMPUTE<br>
> mode.<br>
> echo "5 * * * * * * * *">pp_power_profile_mode<br>
> to config custom mode.<br>
> "5 * * * * * * * *" mean "CUSTOM enable_sclk
SCLK_UP_HYST<br>
> SCLK_DOWN_HYST SCLK_ACTIVE_LEVEL enable_mclk
MCLK_UP_HYST<br>
> MCLK_DOWN_HYST MCLK_ACTIVE_LEVEL"<br>
><br>
> Change-Id: Ic6d6f37363bc81ab17051285f6ace847edf725de<br>
> Signed-off-by: Rex Zhu <a class="moz-txt-link-rfc2396E" href="mailto:Rex.Zhu@amd.com"><Rex.Zhu@amd.com></a><br>
> ---<br>
> drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c |
49 +++++++++++++++++++++++-<br>
> 1 file changed, 48 insertions(+), 1 deletion(-)<br>
><br>
> diff --git
a/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c
b/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c<br>
> index 9f6afd5..13db75c 100644<br>
> ---
a/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c<br>
> +++
b/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c<br>
> @@ -5036,7 +5036,54 @@ static int
smu7_get_power_profile_mode(struct pp_hwmgr *hwmgr, char
*buf)<br>
> <br>
> static int smu7_set_power_profile_mode(struct
pp_hwmgr *hwmgr, long *input, uint32_t size)<br>
> {<br>
> - /* To Do */<br>
> + struct smu7_hwmgr *data = (struct smu7_hwmgr
*)(hwmgr->backend);<br>
> + struct profile_mode_setting tmp;<br>
> +<br>
> + hwmgr->power_profile_mode = input[size];<br>
> +<br>
> + switch (hwmgr->power_profile_mode) {<br>
> + case PP_SMC_POWER_PROFILE_CUSTOM:<br>
> + if (size < 8)<br>
> + return -EINVAL;<br>
> +<br>
> +
data->custom_profile_setting.bupdate_sclk = input[0];<br>
> +
data->custom_profile_setting.sclk_up_hyst = input[1];<br>
> +
data->custom_profile_setting.sclk_down_hyst = input[2];<br>
> +
data->custom_profile_setting.sclk_activity = input[3];<br>
> +
data->custom_profile_setting.bupdate_mclk = input[4];<br>
> +
data->custom_profile_setting.mclk_up_hyst = input[5];<br>
> +
data->custom_profile_setting.mclk_down_hyst = input[6];<br>
> +
data->custom_profile_setting.mclk_activity = input[7];<br>
> + if (!smum_update_dpm_settings(hwmgr,
&data->custom_profile_setting))<br>
> +
memcpy(&data->current_profile_setting,
&data->custom_profile_setting, sizeof(struct
profile_mode_setting));<br>
> + break;<br>
> + case PP_SMC_POWER_PROFILE_FULLSCREEN3D:<br>
> + case PP_SMC_POWER_PROFILE_POWERSAVING:<br>
> + case PP_SMC_POWER_PROFILE_VIDEO:<br>
> + case PP_SMC_POWER_PROFILE_VR:<br>
> + case PP_SMC_POWER_PROFILE_COMPUTE:<br>
> + memcpy(&tmp,
&smu7_profiling[hwmgr->power_profile_mode],
sizeof(struct profile_mode_setting));<br>
> + if (!smum_update_dpm_settings(hwmgr,
&tmp)) {<br>
> + if (tmp.bupdate_sclk) {<br>
> +
data->current_profile_setting.bupdate_sclk =
tmp.bupdate_sclk;<br>
> +
data->current_profile_setting.sclk_up_hyst =
tmp.sclk_up_hyst;<br>
> +
data->current_profile_setting.sclk_down_hyst =
tmp.sclk_down_hyst;<br>
> +
data->current_profile_setting.sclk_activity =
tmp.sclk_activity;<br>
> + }<br>
> + if (tmp.bupdate_mclk) {<br>
> +
data->current_profile_setting.bupdate_mclk =
tmp.bupdate_mclk;<br>
> +
data->current_profile_setting.mclk_up_hyst =
tmp.mclk_up_hyst;<br>
> +
data->current_profile_setting.mclk_down_hyst =
tmp.mclk_down_hyst;<br>
> +
data->current_profile_setting.mclk_activity =
tmp.mclk_activity;<br>
> + }<br>
> + }<br>
> + break;<br>
> + case PP_SMC_POWER_PROFILE_AUTO: /* TO DO auto
wattman feature not implement */<br>
> + return 0;<br>
> + default:<br>
> + return -EINVAL;<br>
> + }<br>
> +<br>
> return 0;<br>
> }<br>
> <br>
<br>
_______________________________________________<br>
amd-gfx mailing list<br>
<a class="moz-txt-link-abbreviated" href="mailto:amd-gfx@lists.freedesktop.org">amd-gfx@lists.freedesktop.org</a><br>
<a
href="https://lists.freedesktop.org/mailman/listinfo/amd-gfx"
moz-do-not-send="true">https://lists.freedesktop.org/mailman/listinfo/amd-gfx</a><br>
</div>
</span></font></div>
</blockquote>
<br>
</body>
</html>