diff options
-rw-r--r-- | drivers/gpu/drm/amd/powerplay/eventmgr/eventtasks.c | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c | 13 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/powerplay/inc/hardwaremanager.h | 1 |
3 files changed, 15 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/powerplay/eventmgr/eventtasks.c b/drivers/gpu/drm/amd/powerplay/eventmgr/eventtasks.c index b6f45fd01fa6..ec36c0e28388 100644 --- a/drivers/gpu/drm/amd/powerplay/eventmgr/eventtasks.c +++ b/drivers/gpu/drm/amd/powerplay/eventmgr/eventtasks.c | |||
@@ -154,7 +154,7 @@ int pem_task_powerdown_vce_tasks(struct pp_eventmgr *eventmgr, struct pem_event_ | |||
154 | 154 | ||
155 | int pem_task_disable_clock_power_gatings_tasks(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) | 155 | int pem_task_disable_clock_power_gatings_tasks(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) |
156 | { | 156 | { |
157 | /* TODO */ | 157 | phm_disable_clock_power_gatings(eventmgr->hwmgr); |
158 | return 0; | 158 | return 0; |
159 | } | 159 | } |
160 | 160 | ||
diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c b/drivers/gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c index 0723758ed065..c355a0f51663 100644 --- a/drivers/gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c | |||
@@ -209,6 +209,19 @@ int phm_enable_clock_power_gatings(struct pp_hwmgr *hwmgr) | |||
209 | return 0; | 209 | return 0; |
210 | } | 210 | } |
211 | 211 | ||
212 | int phm_disable_clock_power_gatings(struct pp_hwmgr *hwmgr) | ||
213 | { | ||
214 | PHM_FUNC_CHECK(hwmgr); | ||
215 | |||
216 | if (phm_cap_enabled(hwmgr->platform_descriptor.platformCaps, | ||
217 | PHM_PlatformCaps_TablelessHardwareInterface)) { | ||
218 | if (NULL != hwmgr->hwmgr_func->disable_clock_power_gating) | ||
219 | return hwmgr->hwmgr_func->disable_clock_power_gating(hwmgr); | ||
220 | } | ||
221 | return 0; | ||
222 | } | ||
223 | |||
224 | |||
212 | int phm_display_configuration_changed(struct pp_hwmgr *hwmgr) | 225 | int phm_display_configuration_changed(struct pp_hwmgr *hwmgr) |
213 | { | 226 | { |
214 | PHM_FUNC_CHECK(hwmgr); | 227 | PHM_FUNC_CHECK(hwmgr); |
diff --git a/drivers/gpu/drm/amd/powerplay/inc/hardwaremanager.h b/drivers/gpu/drm/amd/powerplay/inc/hardwaremanager.h index d4495839c64c..26129972f686 100644 --- a/drivers/gpu/drm/amd/powerplay/inc/hardwaremanager.h +++ b/drivers/gpu/drm/amd/powerplay/inc/hardwaremanager.h | |||
@@ -334,6 +334,7 @@ struct phm_clocks { | |||
334 | uint32_t clock[MAX_NUM_CLOCKS]; | 334 | uint32_t clock[MAX_NUM_CLOCKS]; |
335 | }; | 335 | }; |
336 | 336 | ||
337 | extern int phm_disable_clock_power_gatings(struct pp_hwmgr *hwmgr); | ||
337 | extern int phm_enable_clock_power_gatings(struct pp_hwmgr *hwmgr); | 338 | extern int phm_enable_clock_power_gatings(struct pp_hwmgr *hwmgr); |
338 | extern int phm_powergate_uvd(struct pp_hwmgr *hwmgr, bool gate); | 339 | extern int phm_powergate_uvd(struct pp_hwmgr *hwmgr, bool gate); |
339 | extern int phm_powergate_vce(struct pp_hwmgr *hwmgr, bool gate); | 340 | extern int phm_powergate_vce(struct pp_hwmgr *hwmgr, bool gate); |