drm/i915: Ensure state->crtc is non-NULL for plane updates
authorMatt Roper <matthew.d.roper@intel.com>
Mon, 1 Dec 2014 23:40:17 +0000 (15:40 -0800)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Sat, 6 Dec 2014 00:46:25 +0000 (01:46 +0100)
When disabling a plane, it is legal to pass crtc = NULL.  Since planes
on Intel hardware are tied to a fixed CRTC, go ahead and set state->crtc
to the appropriate crtc in cases where it is passed to us as NULL.

In a future patch, we will start using the update handler for plane
disables, so this will help ensure we always have a non-NULL crtc
pointer to work with.

Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Reviewed-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_display.c

index f6334e6b378a0953a4d57259abf8d4a6b860c7e9..4f24cce0fe385f9d4523d359bf18ce624390fc47 100644 (file)
@@ -11898,7 +11898,7 @@ intel_update_plane(struct drm_plane *plane, struct drm_crtc *crtc,
        struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
        int ret;
 
-       state.base.crtc = crtc;
+       state.base.crtc = crtc ? crtc : plane->crtc;
        state.base.fb = fb;
 
        /* sample coordinates in 16.16 fixed point */