diff options
Diffstat (limited to 'drivers/gpu/drm/i915/intel_display.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 22966bd9aa96..24fbd0f24507 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c | |||
@@ -2470,9 +2470,6 @@ static void i9xx_crtc_dpms(struct drm_crtc *crtc, int mode) | |||
2470 | 2470 | ||
2471 | /** | 2471 | /** |
2472 | * Sets the power management mode of the pipe and plane. | 2472 | * Sets the power management mode of the pipe and plane. |
2473 | * | ||
2474 | * This code should probably grow support for turning the cursor off and back | ||
2475 | * on appropriately at the same time as we're turning the pipe off/on. | ||
2476 | */ | 2473 | */ |
2477 | static void intel_crtc_dpms(struct drm_crtc *crtc, int mode) | 2474 | static void intel_crtc_dpms(struct drm_crtc *crtc, int mode) |
2478 | { | 2475 | { |
@@ -2487,6 +2484,9 @@ static void intel_crtc_dpms(struct drm_crtc *crtc, int mode) | |||
2487 | 2484 | ||
2488 | intel_crtc->dpms_mode = mode; | 2485 | intel_crtc->dpms_mode = mode; |
2489 | 2486 | ||
2487 | intel_crtc->cursor_on = mode == DRM_MODE_DPMS_ON; | ||
2488 | intel_crtc_update_cursor(crtc); | ||
2489 | |||
2490 | if (!dev->primary->master) | 2490 | if (!dev->primary->master) |
2491 | return; | 2491 | return; |
2492 | 2492 | ||
@@ -4242,7 +4242,7 @@ static void intel_crtc_update_cursor(struct drm_crtc *crtc) | |||
4242 | 4242 | ||
4243 | pos = 0; | 4243 | pos = 0; |
4244 | 4244 | ||
4245 | if (crtc->fb) { | 4245 | if (intel_crtc->cursor_on && crtc->fb) { |
4246 | base = intel_crtc->cursor_addr; | 4246 | base = intel_crtc->cursor_addr; |
4247 | if (x > (int) crtc->fb->width) | 4247 | if (x > (int) crtc->fb->width) |
4248 | base = 0; | 4248 | base = 0; |