Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/vc4: Use drm_atomic_helper_shutdown

drm_plane_helper_disable is a non-atomic drivers only function, and
will blow up (since no one passes the locking context it needs).

Atomic drivers which want to quiescent their hw on unload should
use drm_atomic_helper_shutdown() instead.

v2: Rebase.

Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Acked-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Eric Anholt <eric@anholt.net>
Link: https://patchwork.freedesktop.org/patch/msgid/20181004202446.22905-14-daniel.vetter@ffwll.ch

+3 -1
+3
drivers/gpu/drm/vc4/vc4_drv.c
··· 33 33 #include <linux/pm_runtime.h> 34 34 #include <drm/drm_fb_cma_helper.h> 35 35 #include <drm/drm_fb_helper.h> 36 + #include <drm/drm_atomic_helper.h> 36 37 37 38 #include "uapi/drm/vc4_drm.h" 38 39 #include "vc4_drv.h" ··· 308 307 struct vc4_dev *vc4 = to_vc4_dev(drm); 309 308 310 309 drm_dev_unregister(drm); 310 + 311 + drm_atomic_helper_shutdown(drm); 311 312 312 313 drm_mode_config_cleanup(drm); 313 314
-1
drivers/gpu/drm/vc4/vc4_plane.c
··· 903 903 904 904 static void vc4_plane_destroy(struct drm_plane *plane) 905 905 { 906 - drm_plane_helper_disable(plane, NULL); 907 906 drm_plane_cleanup(plane); 908 907 } 909 908