diff options
| -rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 99eb7cad62a8..8f6b932d8e79 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c | |||
| @@ -1341,6 +1341,12 @@ static void assert_sprites_disabled(struct drm_i915_private *dev_priv, | |||
| 1341 | } | 1341 | } |
| 1342 | } | 1342 | } |
| 1343 | 1343 | ||
| 1344 | static void assert_vblank_disabled(struct drm_crtc *crtc) | ||
| 1345 | { | ||
| 1346 | if (WARN_ON(drm_crtc_vblank_get(crtc) == 0)) | ||
| 1347 | drm_crtc_vblank_put(crtc); | ||
| 1348 | } | ||
| 1349 | |||
| 1344 | static void ibx_assert_pch_refclk_enabled(struct drm_i915_private *dev_priv) | 1350 | static void ibx_assert_pch_refclk_enabled(struct drm_i915_private *dev_priv) |
| 1345 | { | 1351 | { |
| 1346 | u32 val; | 1352 | u32 val; |
| @@ -3905,6 +3911,8 @@ static void intel_crtc_enable_planes(struct drm_crtc *crtc) | |||
| 3905 | int pipe = intel_crtc->pipe; | 3911 | int pipe = intel_crtc->pipe; |
| 3906 | int plane = intel_crtc->plane; | 3912 | int plane = intel_crtc->plane; |
| 3907 | 3913 | ||
| 3914 | assert_vblank_disabled(crtc); | ||
| 3915 | |||
| 3908 | drm_vblank_on(dev, pipe); | 3916 | drm_vblank_on(dev, pipe); |
| 3909 | 3917 | ||
| 3910 | intel_enable_primary_hw_plane(dev_priv, plane, pipe); | 3918 | intel_enable_primary_hw_plane(dev_priv, plane, pipe); |
| @@ -3954,6 +3962,8 @@ static void intel_crtc_disable_planes(struct drm_crtc *crtc) | |||
| 3954 | intel_frontbuffer_flip(dev, INTEL_FRONTBUFFER_ALL_MASK(pipe)); | 3962 | intel_frontbuffer_flip(dev, INTEL_FRONTBUFFER_ALL_MASK(pipe)); |
| 3955 | 3963 | ||
| 3956 | drm_vblank_off(dev, pipe); | 3964 | drm_vblank_off(dev, pipe); |
| 3965 | |||
| 3966 | assert_vblank_disabled(crtc); | ||
| 3957 | } | 3967 | } |
| 3958 | 3968 | ||
| 3959 | static void ironlake_crtc_enable(struct drm_crtc *crtc) | 3969 | static void ironlake_crtc_enable(struct drm_crtc *crtc) |
