aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/omapdrm
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@ti.com>2016-06-10 12:50:39 +0300
committerTomi Valkeinen <tomi.valkeinen@ti.com>2016-11-02 10:38:28 +0200
commitaaf7642e98917fc95c260cbee98d2f426754b265 (patch)
tree83fcd7dcf32c461b50ab516edf2b3db4fc4781ca /drivers/gpu/drm/omapdrm
parentMerge branch 'linux-4.9' of git://github.com/skeggsb/linux into drm-next (diff)
downloadlinux-dev-aaf7642e98917fc95c260cbee98d2f426754b265.tar.xz
linux-dev-aaf7642e98917fc95c260cbee98d2f426754b265.zip
drm/omap: fix plane check when crtc is disabled
I sometimes see: [drm:drm_framebuffer_remove [drm]] *ERROR* failed to reset crtc ed2a6c00 when fb was deleted: -22 which comes from drm_framebuffer_remove() when it's disabling the crtc with zeroed drm_mode_set. The problem in omap_plane_atomic_check() is that it will use those zeroed fields to verify if the setup is correct. This patch makes omap_plane_atomic_check() return 0 if the crtc is disabled. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers/gpu/drm/omapdrm')
-rw-r--r--drivers/gpu/drm/omapdrm/omap_plane.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/omapdrm/omap_plane.c b/drivers/gpu/drm/omapdrm/omap_plane.c
index 0ffd5b930ec0..7bd24185f33c 100644
--- a/drivers/gpu/drm/omapdrm/omap_plane.c
+++ b/drivers/gpu/drm/omapdrm/omap_plane.c
@@ -164,6 +164,9 @@ static int omap_plane_atomic_check(struct drm_plane *plane,
if (IS_ERR(crtc_state))
return PTR_ERR(crtc_state);
+ if (!crtc_state->enable)
+ return 0;
+
if (state->crtc_x < 0 || state->crtc_y < 0)
return -EINVAL;