On Wed, 2015-04-15 at 16:34 +0200, Maarten Lankhorst wrote:
> This makes disabling planes more explicit.
> 
> Signed-off-by: Maarten Lankhorst <maarten.lankho...@linux.intel.com>
> ---
>  drivers/gpu/drm/i915/i915_debugfs.c  |  4 ++++
>  drivers/gpu/drm/i915/intel_display.c | 36 
> ++++++++++++++++++------------------
>  drivers/gpu/drm/i915/intel_drv.h     |  2 ++
>  3 files changed, 24 insertions(+), 18 deletions(-)

[...]

> diff --git a/drivers/gpu/drm/i915/intel_display.c 
> b/drivers/gpu/drm/i915/intel_display.c
> index 47fbdb5c71cb..cb677aff4245 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -4711,10 +4711,13 @@ intel_pre_disable_primary(struct drm_crtc *crtc)
>       hsw_disable_ips(intel_crtc);
>  }
>  
> -static void intel_crtc_enable_planes(struct drm_crtc *crtc)
> +void intel_crtc_enable_planes(struct drm_crtc *crtc)
>  {
>       struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
>  
> +     if (intel_crtc->active)
> +             return;
> +
>       intel_enable_primary_hw_plane(crtc->primary, crtc);
>       intel_enable_sprite_planes(crtc);
>       intel_crtc_update_cursor(crtc, true);

[...]

> @@ -12040,6 +12038,7 @@ static int __intel_set_mode(struct drm_crtc *crtc,
>               update_scanline_offset(intel_crtc);
>  
>               dev_priv->display.crtc_enable(&intel_crtc->base);
> +             intel_crtc_enable_planes(&intel_crtc->base);
>       }

The crtc_enable hooks set intel_crtc->active, so the call to
intel_crtc_enable_planes() doesn't actually do anything because of the
new check in the hunk above.

Ander


_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to