aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/powerplay/hwmgr/polaris10_clockpowergating.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/amd/powerplay/hwmgr/polaris10_clockpowergating.c')
-rw-r--r--drivers/gpu/drm/amd/powerplay/hwmgr/polaris10_clockpowergating.c20
1 files changed, 17 insertions, 3 deletions
diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/polaris10_clockpowergating.c b/drivers/gpu/drm/amd/powerplay/hwmgr/polaris10_clockpowergating.c
index 8f142a74ad08..b5edb5105986 100644
--- a/drivers/gpu/drm/amd/powerplay/hwmgr/polaris10_clockpowergating.c
+++ b/drivers/gpu/drm/amd/powerplay/hwmgr/polaris10_clockpowergating.c
@@ -106,11 +106,17 @@ int polaris10_phm_powergate_uvd(struct pp_hwmgr *hwmgr, bool bgate)
106 data->uvd_power_gated = bgate; 106 data->uvd_power_gated = bgate;
107 107
108 if (bgate) { 108 if (bgate) {
109 cgs_set_clockgating_state(hwmgr->device,
110 AMD_IP_BLOCK_TYPE_UVD,
111 AMD_CG_STATE_GATE);
109 polaris10_update_uvd_dpm(hwmgr, true); 112 polaris10_update_uvd_dpm(hwmgr, true);
110 polaris10_phm_powerdown_uvd(hwmgr); 113 polaris10_phm_powerdown_uvd(hwmgr);
111 } else { 114 } else {
112 polaris10_phm_powerup_uvd(hwmgr); 115 polaris10_phm_powerup_uvd(hwmgr);
113 polaris10_update_uvd_dpm(hwmgr, false); 116 polaris10_update_uvd_dpm(hwmgr, false);
117 cgs_set_clockgating_state(hwmgr->device,
118 AMD_IP_BLOCK_TYPE_UVD,
119 AMD_CG_STATE_UNGATE);
114 } 120 }
115 121
116 return 0; 122 return 0;
@@ -125,11 +131,19 @@ int polaris10_phm_powergate_vce(struct pp_hwmgr *hwmgr, bool bgate)
125 131
126 data->vce_power_gated = bgate; 132 data->vce_power_gated = bgate;
127 133
128 if (bgate) 134 if (bgate) {
135 cgs_set_clockgating_state(hwmgr->device,
136 AMD_IP_BLOCK_TYPE_VCE,
137 AMD_CG_STATE_GATE);
138 polaris10_update_vce_dpm(hwmgr, true);
129 polaris10_phm_powerdown_vce(hwmgr); 139 polaris10_phm_powerdown_vce(hwmgr);
130 else 140 } else {
131 polaris10_phm_powerup_vce(hwmgr); 141 polaris10_phm_powerup_vce(hwmgr);
132 142 polaris10_update_vce_dpm(hwmgr, false);
143 cgs_set_clockgating_state(hwmgr->device,
144 AMD_IP_BLOCK_TYPE_VCE,
145 AMD_CG_STATE_UNGATE);
146 }
133 return 0; 147 return 0;
134} 148}
135 149