diff options
Diffstat (limited to 'drivers/gpu/drm/radeon/atombios_crtc.c')
-rw-r--r-- | drivers/gpu/drm/radeon/atombios_crtc.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/gpu/drm/radeon/atombios_crtc.c b/drivers/gpu/drm/radeon/atombios_crtc.c index 4151ad8affe..03dd6c41dc1 100644 --- a/drivers/gpu/drm/radeon/atombios_crtc.c +++ b/drivers/gpu/drm/radeon/atombios_crtc.c | |||
@@ -245,13 +245,15 @@ void atombios_crtc_dpms(struct drm_crtc *crtc, int mode) | |||
245 | 245 | ||
246 | switch (mode) { | 246 | switch (mode) { |
247 | case DRM_MODE_DPMS_ON: | 247 | case DRM_MODE_DPMS_ON: |
248 | radeon_crtc->enabled = true; | ||
249 | /* adjust pm to dpms changes BEFORE enabling crtcs */ | ||
250 | radeon_pm_compute_clocks(rdev); | ||
248 | atombios_enable_crtc(crtc, ATOM_ENABLE); | 251 | atombios_enable_crtc(crtc, ATOM_ENABLE); |
249 | if (ASIC_IS_DCE3(rdev)) | 252 | if (ASIC_IS_DCE3(rdev)) |
250 | atombios_enable_crtc_memreq(crtc, ATOM_ENABLE); | 253 | atombios_enable_crtc_memreq(crtc, ATOM_ENABLE); |
251 | atombios_blank_crtc(crtc, ATOM_DISABLE); | 254 | atombios_blank_crtc(crtc, ATOM_DISABLE); |
252 | drm_vblank_post_modeset(dev, radeon_crtc->crtc_id); | 255 | drm_vblank_post_modeset(dev, radeon_crtc->crtc_id); |
253 | radeon_crtc_load_lut(crtc); | 256 | radeon_crtc_load_lut(crtc); |
254 | radeon_crtc->enabled = true; | ||
255 | break; | 257 | break; |
256 | case DRM_MODE_DPMS_STANDBY: | 258 | case DRM_MODE_DPMS_STANDBY: |
257 | case DRM_MODE_DPMS_SUSPEND: | 259 | case DRM_MODE_DPMS_SUSPEND: |
@@ -262,11 +264,10 @@ void atombios_crtc_dpms(struct drm_crtc *crtc, int mode) | |||
262 | atombios_enable_crtc_memreq(crtc, ATOM_DISABLE); | 264 | atombios_enable_crtc_memreq(crtc, ATOM_DISABLE); |
263 | atombios_enable_crtc(crtc, ATOM_DISABLE); | 265 | atombios_enable_crtc(crtc, ATOM_DISABLE); |
264 | radeon_crtc->enabled = false; | 266 | radeon_crtc->enabled = false; |
267 | /* adjust pm to dpms changes AFTER disabling crtcs */ | ||
268 | radeon_pm_compute_clocks(rdev); | ||
265 | break; | 269 | break; |
266 | } | 270 | } |
267 | |||
268 | /* adjust pm to dpms change */ | ||
269 | radeon_pm_compute_clocks(rdev); | ||
270 | } | 271 | } |
271 | 272 | ||
272 | static void | 273 | static void |