[PATCH 1/4] drm/amd/pp: Add new smu callback function
Eric Huang
jinhuieric.huang at amd.com
Thu Jan 25 16:18:45 UTC 2018
Hi Rex,
Why don't you use function smum_populate_requested_graphic_levels()
which is doing exactly the same thing as the function you add ?
And in old power profile setting function
smu7_set_power_profile_state(), we implement this:
if (hwmgr->chip_id == CHIP_FIJI) {
if (request->type == AMD_PP_GFX_PROFILE)
smu7_enable_power_containment(hwmgr);
else if (request->type == AMD_PP_COMPUTE_PROFILE)
smu7_disable_power_containment(hwmgr);
}
This should be merged into your new power profile setting.
Regards,
Eric
On 2018-01-24 04:37 AM, Rex Zhu wrote:
> it is used for update dpm settings
>
> Change-Id: Idc0362c219d84564693ca90adf9299e56cfeb6a4
> Signed-off-by: Rex Zhu <Rex.Zhu at amd.com>
> ---
> drivers/gpu/drm/amd/powerplay/inc/hwmgr.h | 1 +
> drivers/gpu/drm/amd/powerplay/inc/smumgr.h | 1 +
> drivers/gpu/drm/amd/powerplay/smumgr/smumgr.c | 8 ++++++++
> 3 files changed, 10 insertions(+)
>
> diff --git a/drivers/gpu/drm/amd/powerplay/inc/hwmgr.h b/drivers/gpu/drm/amd/powerplay/inc/hwmgr.h
> index 604a7cb..3e8959e 100644
> --- a/drivers/gpu/drm/amd/powerplay/inc/hwmgr.h
> +++ b/drivers/gpu/drm/amd/powerplay/inc/hwmgr.h
> @@ -238,6 +238,7 @@ struct pp_smumgr_func {
> int (*populate_requested_graphic_levels)(struct pp_hwmgr *hwmgr,
> struct amd_pp_profile *request);
> bool (*is_hw_avfs_present)(struct pp_hwmgr *hwmgr);
> + int (*update_dpm_settings)(struct pp_hwmgr *hwmgr, void *profile_setting);
> };
>
> struct pp_hwmgr_func {
> diff --git a/drivers/gpu/drm/amd/powerplay/inc/smumgr.h b/drivers/gpu/drm/amd/powerplay/inc/smumgr.h
> index b1b27b2..e05a57e 100644
> --- a/drivers/gpu/drm/amd/powerplay/inc/smumgr.h
> +++ b/drivers/gpu/drm/amd/powerplay/inc/smumgr.h
> @@ -134,5 +134,6 @@ extern int smum_populate_requested_graphic_levels(struct pp_hwmgr *hwmgr,
>
> extern bool smum_is_hw_avfs_present(struct pp_hwmgr *hwmgr);
>
> +extern int smum_update_dpm_settings(struct pp_hwmgr *hwmgr, void *profile_setting);
>
> #endif
> diff --git a/drivers/gpu/drm/amd/powerplay/smumgr/smumgr.c b/drivers/gpu/drm/amd/powerplay/smumgr/smumgr.c
> index 8673884..1ce4959 100644
> --- a/drivers/gpu/drm/amd/powerplay/smumgr/smumgr.c
> +++ b/drivers/gpu/drm/amd/powerplay/smumgr/smumgr.c
> @@ -253,3 +253,11 @@ bool smum_is_hw_avfs_present(struct pp_hwmgr *hwmgr)
>
> return false;
> }
> +
> +int smum_update_dpm_settings(struct pp_hwmgr *hwmgr, void *profile_setting)
> +{
> + if (hwmgr->smumgr_funcs->update_dpm_settings)
> + return hwmgr->smumgr_funcs->update_dpm_settings(hwmgr, profile_setting);
> +
> + return -EINVAL;
> +}
More information about the amd-gfx
mailing list