diff options
Diffstat (limited to 'drivers/gpu/drm/amd/powerplay/hwmgr/polaris10_clockpowergating.c')
-rw-r--r-- | drivers/gpu/drm/amd/powerplay/hwmgr/polaris10_clockpowergating.c | 20 |
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 | ||