Commit 3ea4b1e1 authored by Daniel Vetter's avatar Daniel Vetter
Browse files

drm/msm: 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.

Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
Cc: Rob Clark <robdclark@gmail.com>
Cc: Rajesh Yadav <ryadav@codeaurora.org>
Cc: Chandan Uddaraju <chandanu@codeaurora.org>
Cc: Archit Taneja <architt@codeaurora.org>
Cc: Jeykumar Sankaran <jsanka@codeaurora.org>
Cc: Sean Paul <seanpaul@chromium.org>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Sinclair Yeh <syeh@vmware.com>
Cc: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
Cc: Russell King <rmk+kernel@armlinux.org.uk>
Cc: Gustavo Padovan <gustavo.padovan@collabora.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: linux-arm-msm@vger.kernel.org
Cc: freedreno@lists.freedesktop.org
Link: https://patchwork.freedesktop.org/patch/msgid/20181004202446.22905-12-daniel.vetter@ffwll.ch
parent b3e90917
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -1482,8 +1482,6 @@ static void dpu_plane_destroy(struct drm_plane *plane)

		mutex_destroy(&pdpu->lock);

		drm_plane_helper_disable(plane, NULL);

		/* this will destroy the states as well */
		drm_plane_cleanup(plane);

+0 −1
Original line number Diff line number Diff line
@@ -68,7 +68,6 @@ static void mdp4_plane_destroy(struct drm_plane *plane)
{
	struct mdp4_plane *mdp4_plane = to_mdp4_plane(plane);

	drm_plane_helper_disable(plane, NULL);
	drm_plane_cleanup(plane);

	kfree(mdp4_plane);
+0 −1
Original line number Diff line number Diff line
@@ -46,7 +46,6 @@ static void mdp5_plane_destroy(struct drm_plane *plane)
{
	struct mdp5_plane *mdp5_plane = to_mdp5_plane(plane);

	drm_plane_helper_disable(plane, NULL);
	drm_plane_cleanup(plane);

	kfree(mdp5_plane);
+1 −0
Original line number Diff line number Diff line
@@ -312,6 +312,7 @@ static int msm_drm_uninit(struct device *dev)
	if (fbdev && priv->fbdev)
		msm_fbdev_free(ddev);
#endif
	drm_atomic_helper_shutdown(ddev);
	drm_mode_config_cleanup(ddev);

	pm_runtime_get_sync(dev);