Re: [PATCH 2/3] drm/i915: Don't enable the cursor on a disable pipe

Chris Wilson
2013-09-12T20:08:21Z

On Thu, Sep 12, 2013 at 10:45:42PM +0300, ville.syrjala@linux.intel.com wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> On HSW enabling a plane on a disabled pipe may hang the entire system.
> And there's no good reason for doing it ever, so just don't.
>
> Cc: stable@vger.kernel.org
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
> drivers/gpu/drm/i915/intel_display.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index 18043a2..d0137b6 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -6793,6 +6793,9 @@ static void intel_crtc_update_cursor(struct drm_crtc *crtc,
> u32 base, pos;
> bool visible;
>
> + if (!intel_crtc->active)
> + return;

This is misleading since we do expect to call this function whilst
turning off the crtc. This check makes it appear that such calls might
be wrong. Also the !crtc->enabled following intel_crtc->active makes
ones question their sanity.

So I feel this check detracts from readability of the function.
-Chris

--
Chris Wilson, Intel Open Source Technology Centre