From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932391AbbCCQn0 (ORCPT ); Tue, 3 Mar 2015 11:43:26 -0500 Received: from mail-wg0-f43.google.com ([74.125.82.43]:42029 "EHLO mail-wg0-f43.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756828AbbCCQnS (ORCPT ); Tue, 3 Mar 2015 11:43:18 -0500 Date: Tue, 3 Mar 2015 17:44:25 +0100 From: Daniel Vetter To: Intel Graphics Development Cc: DRI Development , LKML , Daniel Vetter , Matt Roper , Linus Torvalds , Paul Bolle , Daniel Vetter Subject: Re: [PATCH] Revert "drm/i915: Switch planes from transitional helpers to full atomic helpers" Message-ID: <20150303164425.GM18775@phenom.ffwll.local> Mail-Followup-To: Intel Graphics Development , DRI Development , LKML , Matt Roper , Linus Torvalds , Paul Bolle , Daniel Vetter References: <1425310520-3421-1-git-send-email-daniel.vetter@ffwll.ch> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1425310520-3421-1-git-send-email-daniel.vetter@ffwll.ch> X-Operating-System: Linux phenom 3.16-2-amd64 User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Mar 02, 2015 at 04:35:20PM +0100, Daniel Vetter wrote: > This reverts commit 3f678c96abb43a977d2ea41aefccdc49e8a3e896. > > We've been a bit too optimistic with this one here :( > > The trouble is that internally we're still using these plane > update/disable hooks. Which was totally ok pre-atomic since the drm > core did all the book-keeping updating and these just mostly updated > hw state. But with atomic there's lots more going on, and it causes > heaps of trouble with the load detect code. > > This one specifically cause a deadlock since both the load detect code > and the nested plane atomic helper functions tried to grab the same > locks. It only blows up because of the evil tricks though we play with > the implicit ww acquire context. > > Applying this revert unearths the NULL deref on already freed > framebuffer objects reported as a regression in 4.0 by various people. > > Fixing this will be fairly invasive, hence revert even for the > 4.1-next queue. > > Cc: Matt Roper > Cc: Linus Torvalds > Cc: Paul Bolle > Signed-off-by: Daniel Vetter Queued for -next with Matt's ack. -Daniel > --- > Just to make it really clear: This is 4.1-next material. It's simply > the explanation for why we didn't notice the oops ourselves. The 4.0 > oops itself looks like some glue lacking in the load detect code, > still working on that one. > -Daniel > --- > drivers/gpu/drm/i915/intel_display.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index 3156d77b2215..cc3305e30c1b 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -12179,8 +12179,8 @@ void intel_plane_destroy(struct drm_plane *plane) > } > > const struct drm_plane_funcs intel_plane_funcs = { > - .update_plane = drm_atomic_helper_update_plane, > - .disable_plane = drm_atomic_helper_disable_plane, > + .update_plane = drm_plane_helper_update, > + .disable_plane = drm_plane_helper_disable, > .destroy = intel_plane_destroy, > .set_property = drm_atomic_helper_plane_set_property, > .atomic_get_property = intel_plane_atomic_get_property, > -- > 1.8.4.rc3 > -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch