drm/crtc-helper: disable_unused_functions really isn't for atomic
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 8 Jun 2016 12:19:18 +0000 (14:19 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 21 Jun 2016 09:46:08 +0000 (11:46 +0200)
Rockchip just blew up here on testing, because I removed some "is this
crtc already disabled/enabled" state tracking from callbacks (not needed
with atomic). Turns out that was needed to work around rockchip still
calling legacy helper code.

Since me explaining on irc/mailing-list plus kerneldoc isn't enough,
be more verbose and add dmesg output. Not that anyone actually reads that,
either.

Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1465388359-8070-26-git-send-email-daniel.vetter@ffwll.ch
drivers/gpu/drm/drm_crtc_helper.c

index bf10d70..d615912 100644 (file)
@@ -232,6 +232,9 @@ static void __drm_helper_disable_unused_functions(struct drm_device *dev)
  */
 void drm_helper_disable_unused_functions(struct drm_device *dev)
 {
+       if (drm_core_check_feature(dev, DRIVER_ATOMIC))
+               DRM_ERROR("Called for atomic driver, this is not what you want.\n");
+
        drm_modeset_lock_all(dev);
        __drm_helper_disable_unused_functions(dev);
        drm_modeset_unlock_all(dev);