mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-05 11:06:40 +07:00
drm/amd/powerplay: add GFX per cu powergating support through SMU/powerplay
Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Acked-by: Christian König <christian.koenig@amd.com> Signed-off-by: Eric Huang <JinHuiEric.Huang@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
bacec8985f
commit
65f85e7d82
@ -267,7 +267,20 @@ static int pp_set_clockgating_state(void *handle,
|
||||
static int pp_set_powergating_state(void *handle,
|
||||
enum amd_powergating_state state)
|
||||
{
|
||||
return 0;
|
||||
struct pp_hwmgr *hwmgr;
|
||||
|
||||
if (handle == NULL)
|
||||
return -EINVAL;
|
||||
|
||||
hwmgr = ((struct pp_instance *)handle)->hwmgr;
|
||||
|
||||
if (hwmgr == NULL || hwmgr->hwmgr_func == NULL ||
|
||||
hwmgr->hwmgr_func->enable_per_cu_power_gating == NULL)
|
||||
return -EINVAL;
|
||||
|
||||
/* Enable/disable GFX per cu powergating through SMU */
|
||||
return hwmgr->hwmgr_func->enable_per_cu_power_gating(hwmgr,
|
||||
state == AMD_PG_STATE_GATE ? true : false);
|
||||
}
|
||||
|
||||
static int pp_suspend(void *handle)
|
||||
|
@ -337,6 +337,7 @@ struct pp_hwmgr_func {
|
||||
int (*set_pp_table)(struct pp_hwmgr *hwmgr, const char *buf, size_t size);
|
||||
int (*force_clock_level)(struct pp_hwmgr *hwmgr, enum pp_clock_type type, int level);
|
||||
int (*print_clock_levels)(struct pp_hwmgr *hwmgr, enum pp_clock_type type, char *buf);
|
||||
int (*enable_per_cu_power_gating)(struct pp_hwmgr *hwmgr, bool enable);
|
||||
};
|
||||
|
||||
struct pp_table_func {
|
||||
|
Loading…
Reference in New Issue
Block a user