From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH] drm/i915: Fixup legacy plane->crtc link for initial fb config Date: Thu, 26 Mar 2015 14:08:28 +0200 Message-ID: <874mp8rmf7.fsf@intel.com> References: <1427304638-7897-1-git-send-email-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1427304638-7897-1-git-send-email-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Intel Graphics Development Cc: Josh Boyer , Daniel Vetter , LKML , DRI Development , Daniel Vetter , Linus Torvalds List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCAyNSBNYXIgMjAxNSwgRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5j aD4gd3JvdGU6Cj4gVGhpcyBpcyBhIHZlcnkgc2ltaWxhciBidWcgaW4gdGhlIGxvYWQgZGV0ZWN0 IGNvZGUgZml4ZWQgaW4KPgo+IGNvbW1pdCA5MTI4YjA0MGViNzc0ZTA0YmMyMzc3N2IwMDVhY2Uy YjY2YWIyYTg1Cj4gQXV0aG9yOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNo Pgo+IERhdGU6ICAgVHVlIE1hciAzIDE3OjMxOjIxIDIwMTUgKzAxMDAKPgo+ICAgICBkcm0vaTkx NTogRml4IG1vZGVzZXQgc3RhdGUgY29uZnVzaW9uIGluIHRoZSBsb2FkIGRldGVjdCBjb2RlCj4K PiBCdXQgdGhpcyB0aW1lIGFyb3VuZCBpdCB3YXMgdGhlIGluaXRpYWwgZmIgY29kZSB0aGF0IGZv cmdvdCB0byB1cGRhdGUKPiB0aGUgcGxhbmUtPmNydGMgcG9pbnRlci4gT3RoZXJ3aXNlIGl0J3Mg dGhlIGV4YWN0IHNhbWUgYnVnLCB3aXRoIHRoZQo+IGV4YWN0IHNhbWUgcmVzdHJhaW5zIChhbnkg c2V0X2NvbmZpZyBjYWxsL2lvY3RsIHRoYXQgZG9lc24ndCBkaXNhYmxlCj4gdGhlIHBpcGUgcGFw ZXJzIG92ZXIgdGhlIGJ1ZyBmb3IgZnJlZSwgc28gZmFpcmx5IGhhcmQgdG8gaGl0IGluIG5vcm1h bAo+IHRlc3RpbmcpLiBTbyBpZiB5b3Ugd2FudCB0aGUgZnVsbCBleHBsYW5hdGlvbiBqdXN0IGdv IHJlYWQgdGhhdCBvbmUKPiBvdmVyIHRoZXJlIC0gaXQncyByYXRoZXIgbG9uZyAuLi4KPgo+IENj OiBNYXR0IFJvcGVyIDxtYXR0aGV3LmQucm9wZXJAaW50ZWwuY29tPgo+IENjOiBMaW51cyBUb3J2 YWxkcyA8dG9ydmFsZHNAbGludXgtZm91bmRhdGlvbi5vcmc+Cj4gQ2M6IENocmlzIFdpbHNvbiA8 Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+IENjOiBKb3NoIEJveWVyIDxqd2JveWVyQGZlZG9y YXByb2plY3Qub3JnPgo+IENjOiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAbGludXguaW50ZWwu Y29tPgo+IFNpZ25lZC1vZmYtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAaW50ZWwu Y29tPgo+IC0tLQo+IFRoaXMgaXMgdGhlIHZlcnNpb24gZm9yIC1uZXh0LiBUaGUgb25lIGZvciAt Zml4ZXMganVzdCBuZWVkcyBhbgo+IHMvcHJpbWFyeS9pbnRlbF9jcnRjLT5iYXNlLnByaW1hcnkv IGFuZCBzb21lIGZ1ZGdlIGluIHRoZSBkaWZmLiBJIGp1c3QKPiB3YW50IHRvIGFwcGx5IHRoaXMg aW4gYm90aCB0cmVlcyBzaW5jZSB3aXRoIGFsbCB0aGUgY2hlcnJ5LXBpY2tpbmcgdGhlCj4gY29u ZmxpY3RzIGFyZSBmdW4gYWxyZWFkeSBhbmQgd2l0aCB0aGlzIHBhdGNoIGluIGJvdGggcGxhY2Vz IHdlIGNhbgo+IGp1c3QgZ28gd2l0aCB0aGUgY29kZSBpbiAtbmV4dC4KCkkndmUgYWxzbyBwaWNr ZWQgdGhpcyB1cCBmcm9tIC1uZXh0IHRvIGRybS1pbnRlbC1maXhlcy4KCkJSLApKYW5pLgoKCj4K PiBDaGVlcnMsIERhbmllbAo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNw bGF5LmMgfCAyICsrCj4gIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKPgo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBpbmRleCBjZWIyZTYxYjRjOTEuLmNiNTA4NTQy YzZhYiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBAQCAtMjU5NCw2 ICsyNTk0LDcgQEAgaW50ZWxfZmluZF9wbGFuZV9vYmooc3RydWN0IGludGVsX2NydGMgKmludGVs X2NydGMsCj4gIAo+ICAJCXByaW1hcnktPmZiID0gJnBsYW5lX2NvbmZpZy0+ZmItPmJhc2U7Cj4g IAkJcHJpbWFyeS0+c3RhdGUtPmNydGMgPSAmaW50ZWxfY3J0Yy0+YmFzZTsKPiArCQlwcmltYXJ5 LT5jcnRjID0gJmludGVsX2NydGMtPmJhc2U7Cj4gIAkJdXBkYXRlX3N0YXRlX2ZiKHByaW1hcnkp Owo+ICAKPiAgCQlyZXR1cm47Cj4gQEAgLTI2MjcsNiArMjYyOCw3IEBAIGludGVsX2ZpbmRfcGxh bmVfb2JqKHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjLAo+ICAJCQlkcm1fZnJhbWVidWZm ZXJfcmVmZXJlbmNlKGMtPnByaW1hcnktPmZiKTsKPiAgCQkJcHJpbWFyeS0+ZmIgPSBjLT5wcmlt YXJ5LT5mYjsKPiAgCQkJcHJpbWFyeS0+c3RhdGUtPmNydGMgPSAmaW50ZWxfY3J0Yy0+YmFzZTsK PiArCQkJcHJpbWFyeS0+Y3J0YyA9ICZpbnRlbF9jcnRjLT5iYXNlOwo+ICAJCQl1cGRhdGVfc3Rh dGVfZmIoaW50ZWxfY3J0Yy0+YmFzZS5wcmltYXJ5KTsKPiAgCQkJb2JqLT5mcm9udGJ1ZmZlcl9i aXRzIHw9IElOVEVMX0ZST05UQlVGRkVSX1BSSU1BUlkoaW50ZWxfY3J0Yy0+cGlwZSk7Cj4gIAkJ CWJyZWFrOwo+IC0tIAo+IDIuMS40Cj4KCi0tIApKYW5pIE5pa3VsYSwgSW50ZWwgT3BlbiBTb3Vy Y2UgVGVjaG5vbG9neSBDZW50ZXIKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9p bnRlbC1nZngK 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