| From 01a08550189848bcad9464822a2737ea3b9ce325 Mon Sep 17 00:00:00 2001 |
| From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <ville.syrjala@linux.intel.com> |
| Date: Wed, 7 Aug 2013 13:30:23 +0300 |
| Subject: drm/i915: Don't try to disable plane if it's already disabled |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| 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> |
| (cherry picked from commit 88a94a58a07267d979cc168c3e511b99f4164951) |
| Signed-off-by: Darren Hart <dvhart@linux.intel.com> |
| --- |
| drivers/gpu/drm/i915/intel_sprite.c | 9 +++++++-- |
| 1 file changed, 7 insertions(+), 2 deletions(-) |
| |
| diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c |
| index d4e0592e3389..0a174d7e5854 100644 |
| --- a/drivers/gpu/drm/i915/intel_sprite.c |
| +++ b/drivers/gpu/drm/i915/intel_sprite.c |
| @@ -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) |
| -- |
| 1.8.5.rc3 |
| |