drm/i915: Don't try to disable plane if it's already disabled
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 7 Aug 2013 10:30:23 +0000 (13:30 +0300)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 8 Aug 2013 12:11:13 +0000 (14:11 +0200)
Check plane->fb in intel_disable_plane() to determine if the plane
is already disabled.

If the plane has an fb, then it must also have a crtc, so we can drop
the plane->crtc check and just call intel_enable_primary() directly.

v2: WARN and bail if the plane doesn't have a crtc when it should

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_sprite.c

index d4e0592e3389bfb604b8b46274deb9a0ad43b412..0a174d7e5854b7e77320db09edbc6dfe25e13078 100644 (file)
@@ -863,8 +863,13 @@ intel_disable_plane(struct drm_plane *plane)
        struct intel_plane *intel_plane = to_intel_plane(plane);
        int ret = 0;
 
-       if (plane->crtc)
-               intel_enable_primary(plane->crtc);
+       if (!plane->fb)
+               return 0;
+
+       if (WARN_ON(!plane->crtc))
+               return -EINVAL;
+
+       intel_enable_primary(plane->crtc);
        intel_plane->disable_plane(plane, plane->crtc);
 
        if (!intel_plane->obj)