From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH] drm/i915: Only disable visible planes in intel_crtc_disable_planes Date: Wed, 23 Sep 2015 11:37:00 +0300 Message-ID: <87k2rhpm4z.fsf@intel.com> References: <1442840710-11768-1-git-send-email-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id D1D236E6E9 for ; Wed, 23 Sep 2015 01:33:43 -0700 (PDT) In-Reply-To: <1442840710-11768-1-git-send-email-maarten.lankhorst@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Maarten Lankhorst , intel-gfx@lists.freedesktop.org Cc: =?utf-8?Q?Jo=C3=A3o?= Paulo Rechi Vita , stable@vger.kernel.org List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCAyMSBTZXAgMjAxNSwgTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0 QGxpbnV4LmludGVsLmNvbT4gd3JvdGU6Cj4gVGhpcyBpcyBmaXggZm9yIGEgcmVncmVzc2lvbiBp bnRyb2R1Y2VkIGJ5IDI3MzIxYWU4OGM3MDEwNGRmCj4gImRybS9pOTE1OiBVc2UgdGhlIGRpc2Fi bGUgY2FsbGJhY2sgZm9yIGRpc2FibGluZyBwbGFuZXMuIgo+Cj4gRGlzYWJsaW5nIGludmlzaWJs ZSBwbGFuZXMgbWF5IGNhdXNlIHJlY2FsY3VsYXRpb24gb2YKPiB3YXRlcm1hcmtzLCB3aGljaCBp cyBhIHByb2JsZW0gYmVjYXVzZSB0aGUgc29mdHdhcmUgc3RhdGUKPiBpcyBub3QgeWV0IGluIHN5 bmMgd2l0aCB0aGUgaGFyZHdhcmUgc3RhdGUuCj4gVGhpcyBtYXkgcmVzdWx0IGluIGEgYmxhY2sg c2NyZWVuIGR1cmluZyBrZXJuZWwgYm9vdCBhbmQKPiBwbHltb3V0aCBzcGxhc2ggdW50aWwgYW55 IGlucHV0IGFjdGlvbiBpcyBwZXJmb3JtZWQgaW4gWC4KPgo+IEV4cGxpY2l0bHkgY2hlY2tpbmcg Zm9yIHBsYW5lIHZpc2liaWxpdHkgZml4ZXMgdGhlIHJlZ3Jlc3Npb24uCj4gVGhpcyBpcyBhIHBh dGNoIGZvciB2NC4yIG9ubHksIHY0LjMgbmVlZHMgYSBkaWZmZXJlbnQgZml4IGJlY2F1c2UKPiBp dCB3YXMgZml4ZWQgYnkgZDAzMmZmYTA0Y2Y3YzZmCj4gImRybS9pOTE1OiBIYW5kbGUgZGlzYWJs aW5nIHBsYW5lcyBiZXR0ZXIsIHYyLiIKPgo+IGJ1dCBsYXRlciBicm9rZW4gYWdhaW4gaW4KPiA0 Y2YwZWJiZDRmYWZiZGYgImRybS9pOTE1OiBSZXdvcmsgcGxhbmUgcmVhZG91dC4iCj4KPiBUaGlz IHdpbGwgYmUgZml4ZWQgaW4gdjQuMyBieToKPiAiZHJtL2k5MTU6IEFkZCAuZ2V0X2h3X3N0YXRl KCkgbWV0aG9kIGZvciBwbGFuZXMiCgpTdGFibGUgd2lsbCBuZWVkIHRoYXQgZGVzY3JpYmVkIGFz Cgpjb21taXQgPGNvbW1pdC1pZD4gdXBzdHJlYW0uCgphcyB0aGUgZmlyc3QgbGluZSBvZiB0aGUg Y29tbWl0IG1lc3NhZ2UuCgpCUiwKSmFuaS4KCj4KPiBCdWd6aWxsYTogaHR0cHM6Ly9idWdzLmZy ZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTE5NTIKPiBDYzogSm/Do28gUGF1bG8gUmVj aGkgVml0YSA8anBydml0YUBlbmRsZXNzbS5jb20+Cj4gQ2M6IHN0YWJsZUB2Z2VyLmtlcm5lbC5v cmcgIyB2NC4yIG9ubHkKPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxh eS5jIHwgMyArKy0KPiAgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlv bigtKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXku YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IGluZGV4IDg3NDc2ZmYx ODFkZC4uYTVmOTdjZmQ4NmQ4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rpc3BsYXkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXku Ywo+IEBAIC00ODYzLDcgKzQ4NjMsOCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9jcnRjX2Rpc2FibGVf cGxhbmVzKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgCj4gIAlpbnRlbF9jcnRjX2RwbXNfb3Zl cmxheV9kaXNhYmxlKGludGVsX2NydGMpOwo+ICAJZm9yX2VhY2hfaW50ZWxfcGxhbmUoZGV2LCBp bnRlbF9wbGFuZSkgewo+IC0JCWlmIChpbnRlbF9wbGFuZS0+cGlwZSA9PSBwaXBlKSB7Cj4gKwkJ aWYgKGludGVsX3BsYW5lLT5waXBlID09IHBpcGUgJiYKPiArCQkgICAgdG9faW50ZWxfcGxhbmVf c3RhdGUoaW50ZWxfcGxhbmUtPmJhc2Uuc3RhdGUpLT52aXNpYmxlKSB7Cj4gIAkJCXN0cnVjdCBk cm1fY3J0YyAqZnJvbSA9IGludGVsX3BsYW5lLT5iYXNlLmNydGM7Cj4gIAo+ICAJCQlpbnRlbF9w bGFuZS0+ZGlzYWJsZV9wbGFuZSgmaW50ZWxfcGxhbmUtPmJhc2UsCj4gLS0gCj4gMi4xLjAKPgo+ IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gSW50ZWwt Z2Z4IG1haWxpbmcgbGlzdAo+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRw Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4CgotLSAK SmFuaSBOaWt1bGEsIEludGVsIE9wZW4gU291cmNlIFRlY2hub2xvZ3kgQ2VudGVyCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5n IGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com ([192.55.52.88]:16941 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751723AbbIWIdn convert rfc822-to-8bit (ORCPT ); Wed, 23 Sep 2015 04:33:43 -0400 From: Jani Nikula To: Maarten Lankhorst , intel-gfx@lists.freedesktop.org Cc: stable@vger.kernel.org, =?utf-8?Q?Jo=C3=A3o?= Paulo Rechi Vita Subject: Re: [Intel-gfx] [PATCH] drm/i915: Only disable visible planes in intel_crtc_disable_planes In-Reply-To: <1442840710-11768-1-git-send-email-maarten.lankhorst@linux.intel.com> References: <1442840710-11768-1-git-send-email-maarten.lankhorst@linux.intel.com> Date: Wed, 23 Sep 2015 11:37:00 +0300 Message-ID: <87k2rhpm4z.fsf@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8BIT Sender: stable-owner@vger.kernel.org List-ID: On Mon, 21 Sep 2015, Maarten Lankhorst wrote: > This is fix for a regression introduced by 27321ae88c70104df > "drm/i915: Use the disable callback for disabling planes." > > Disabling invisible planes may cause recalculation of > watermarks, which is a problem because the software state > is not yet in sync with the hardware state. > This may result in a black screen during kernel boot and > plymouth splash until any input action is performed in X. > > Explicitly checking for plane visibility fixes the regression. > This is a patch for v4.2 only, v4.3 needs a different fix because > it was fixed by d032ffa04cf7c6f > "drm/i915: Handle disabling planes better, v2." > > but later broken again in > 4cf0ebbd4fafbdf "drm/i915: Rework plane readout." > > This will be fixed in v4.3 by: > "drm/i915: Add .get_hw_state() method for planes" Stable will need that described as commit upstream. as the first line of the commit message. BR, Jani. > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91952 > Cc: João Paulo Rechi Vita > Cc: stable@vger.kernel.org # v4.2 only > --- > drivers/gpu/drm/i915/intel_display.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index 87476ff181dd..a5f97cfd86d8 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -4863,7 +4863,8 @@ static void intel_crtc_disable_planes(struct drm_crtc *crtc) > > intel_crtc_dpms_overlay_disable(intel_crtc); > for_each_intel_plane(dev, intel_plane) { > - if (intel_plane->pipe == pipe) { > + if (intel_plane->pipe == pipe && > + to_intel_plane_state(intel_plane->base.state)->visible) { > struct drm_crtc *from = intel_plane->base.crtc; > > intel_plane->disable_plane(&intel_plane->base, > -- > 2.1.0 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Jani Nikula, Intel Open Source Technology Center