From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752508AbbCZMJn (ORCPT ); Thu, 26 Mar 2015 08:09:43 -0400 Received: from mga03.intel.com ([134.134.136.65]:33462 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751042AbbCZMJk (ORCPT ); Thu, 26 Mar 2015 08:09:40 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.11,471,1422950400"; d="scan'208";a="704515433" From: Jani Nikula To: Daniel Vetter , Intel Graphics Development Cc: DRI Development , LKML , Daniel Vetter , Matt Roper , Linus Torvalds , Chris Wilson , Josh Boyer , Daniel Vetter Subject: Re: [PATCH] drm/i915: Fixup legacy plane->crtc link for initial fb config In-Reply-To: <1427304638-7897-1-git-send-email-daniel.vetter@ffwll.ch> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo References: <1427304638-7897-1-git-send-email-daniel.vetter@ffwll.ch> User-Agent: Notmuch/0.19+87~gcf99a78 (http://notmuchmail.org) Emacs/24.4.1 (x86_64-pc-linux-gnu) Date: Thu, 26 Mar 2015 14:08:28 +0200 Message-ID: <874mp8rmf7.fsf@intel.com> MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 25 Mar 2015, Daniel Vetter wrote: > This is a very similar bug in the load detect code fixed in > > commit 9128b040eb774e04bc23777b005ace2b66ab2a85 > Author: Daniel Vetter > Date: Tue Mar 3 17:31:21 2015 +0100 > > drm/i915: Fix modeset state confusion in the load detect code > > But this time around it was the initial fb code that forgot to update > the plane->crtc pointer. Otherwise it's the exact same bug, with the > exact same restrains (any set_config call/ioctl that doesn't disable > the pipe papers over the bug for free, so fairly hard to hit in normal > testing). So if you want the full explanation just go read that one > over there - it's rather long ... > > Cc: Matt Roper > Cc: Linus Torvalds > Cc: Chris Wilson > Cc: Josh Boyer > Cc: Jani Nikula > Signed-off-by: Daniel Vetter > --- > This is the version for -next. The one for -fixes just needs an > s/primary/intel_crtc->base.primary/ and some fudge in the diff. I just > want to apply this in both trees since with all the cherry-picking the > conflicts are fun already and with this patch in both places we can > just go with the code in -next. I've also picked this up from -next to drm-intel-fixes. BR, Jani. > > Cheers, Daniel > --- > drivers/gpu/drm/i915/intel_display.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index ceb2e61b4c91..cb508542c6ab 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -2594,6 +2594,7 @@ intel_find_plane_obj(struct intel_crtc *intel_crtc, > > primary->fb = &plane_config->fb->base; > primary->state->crtc = &intel_crtc->base; > + primary->crtc = &intel_crtc->base; > update_state_fb(primary); > > return; > @@ -2627,6 +2628,7 @@ intel_find_plane_obj(struct intel_crtc *intel_crtc, > drm_framebuffer_reference(c->primary->fb); > primary->fb = c->primary->fb; > primary->state->crtc = &intel_crtc->base; > + primary->crtc = &intel_crtc->base; > update_state_fb(intel_crtc->base.primary); > obj->frontbuffer_bits |= INTEL_FRONTBUFFER_PRIMARY(intel_crtc->pipe); > break; > -- > 2.1.4 > -- Jani Nikula, Intel Open Source Technology Center