Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit eb8bc8dc authored by Maarten Lankhorst's avatar Maarten Lankhorst
Browse files

drm/i915: Remove vma unpin in intel_plane_destroy



commit a667fb40
Author: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Date:   Thu Dec 15 15:29:44 2016 +0100

    drm/i915: Disable all crtcs during driver unload, v2.

made sure that all crtc's are disabled on driver unload, but only the
following commit made sure all fb's are cleaned up correctly:

commit 9b2104f4
Author: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Date:   Tue Feb 21 14:51:40 2017 +0100

    drm/atomic: Make disable_all helper fully disable the crtc.

Finally remove this and add a WARN_ON when vma is set. It should
have been removed by intel_cleanup_plane_fb().

Signed-off-by: default avatarMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170511082844.13965-2-maarten.lankhorst@linux.intel.com


Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent 749d98b8
Loading
Loading
Loading
Loading
+1 −17
Original line number Diff line number Diff line
@@ -102,23 +102,7 @@ void
intel_plane_destroy_state(struct drm_plane *plane,
			  struct drm_plane_state *state)
{
	struct i915_vma *vma;

	vma = fetch_and_zero(&to_intel_plane_state(state)->vma);

	/*
	 * FIXME: Normally intel_cleanup_plane_fb handles destruction of vma.
	 * We currently don't clear all planes during driver unload, so we have
	 * to be able to unpin vma here for now.
	 *
	 * Normally this can only happen during unload when kmscon is disabled
	 * and userspace doesn't attempt to set a framebuffer at all.
	 */
	if (vma) {
		mutex_lock(&plane->dev->struct_mutex);
		intel_unpin_fb_vma(vma);
		mutex_unlock(&plane->dev->struct_mutex);
	}
	WARN_ON(to_intel_plane_state(state)->vma);

	drm_atomic_helper_plane_destroy_state(plane, state);
}