aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/amd/powerplay/eventmgr/eventtasks.c2
-rw-r--r--drivers/gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c13
-rw-r--r--drivers/gpu/drm/amd/powerplay/inc/hardwaremanager.h1
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
155int pem_task_disable_clock_power_gatings_tasks(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) 155int 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
212int 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
212int phm_display_configuration_changed(struct pp_hwmgr *hwmgr) 225int 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
337extern int phm_disable_clock_power_gatings(struct pp_hwmgr *hwmgr);
337extern int phm_enable_clock_power_gatings(struct pp_hwmgr *hwmgr); 338extern int phm_enable_clock_power_gatings(struct pp_hwmgr *hwmgr);
338extern int phm_powergate_uvd(struct pp_hwmgr *hwmgr, bool gate); 339extern int phm_powergate_uvd(struct pp_hwmgr *hwmgr, bool gate);
339extern int phm_powergate_vce(struct pp_hwmgr *hwmgr, bool gate); 340extern int phm_powergate_vce(struct pp_hwmgr *hwmgr, bool gate);