From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ander Conselvan De Oliveira Subject: Re: [PATCH] drm/i915: Fix ilk watermarks calculation when primary plane is disabled Date: Thu, 21 May 2015 10:21:30 +0300 Message-ID: <1432192890.2696.6.camel@gmail.com> References: <1432128754-11840-1-git-send-email-ander.conselvan.de.oliveira@intel.com> <878ucjl5i3.fsf@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pd0-f179.google.com (mail-pd0-f179.google.com [209.85.192.179]) by gabe.freedesktop.org (Postfix) with ESMTP id DAB5C6E840 for ; Thu, 21 May 2015 00:21:33 -0700 (PDT) Received: by pdfh10 with SMTP id h10so98520539pdf.3 for ; Thu, 21 May 2015 00:21:33 -0700 (PDT) In-Reply-To: <878ucjl5i3.fsf@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Jani Nikula Cc: intel-gfx@lists.freedesktop.org, stable@vger.kernel.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCAyMDE1LTA1LTIwIGF0IDE2OjUzICswMzAwLCBKYW5pIE5pa3VsYSB3cm90ZToKPiBP biBXZWQsIDIwIE1heSAyMDE1LCBBbmRlciBDb25zZWx2YW4gZGUgT2xpdmVpcmEgPGFuZGVyLmNv bnNlbHZhbi5kZS5vbGl2ZWlyYUBpbnRlbC5jb20+IHdyb3RlOgo+ID4gT24gRmVkb3JhIDIxIG9y IDIyLCB3aGVuIHRoZSB0cmFuc2l0aW9uIGZyb20gdGhlIFggc2VydmVyIHRvIHRoZSB3YXlsYW5k Cj4gPiBjb21wb3NpdG9yIGlzIGRvbmUsIHRoZSBDUlRDIHdpdGggdGhlIGxvZ2luIHNjcmVlbiBp cyBsZWZ0IGFjdGl2ZSB3aXRoIGEKPiA+IGRpc2FibGVkIGZiLiBBIGN1cnNvciBpb2N0bCBhZnRl ciB0aGUgdHJhbnNpdGlvbiBjYXVzZXMgdGhlIHdhdGVybWFya3MKPiA+IHRvIGJlIHVwZGF0ZWQs IGJ1dCBkdWUgdG8gdGhlIGxvZ2ljIGluIGludGVsX2NydGNfYWN0aXZlKCkgY2hlY2tpbmcgZm9y Cj4gPiB0aGUgcHJpbWFyeSBwbGFuZSBmYiwgdGhlIHVwZGF0ZSBjb25zaWRlcnMgYWxsIHBsYW5l cyB0byBiZSBkaXNhYmxlZCwKPiA+IHVudGltYXRlbHkgc2V0dGluZyB0aGUgd3Jvbmcgd2F0ZXJt YXJrIHZhbHVlcyBhbmQgY2F1c2luZyBzY3JlZW4KPiA+IGZsaWNrZXIuIFNpbmNlIHRoZSBjcnRj IGlzIGFjdGl2ZSwgYSBtb2Rlc2V0IGRvbmUgbGF0ZXIgaXMgc2tpcHBlZCBhbmQKPiA+IHJlcGxh Y2VkIHdpdGggYSBmbGlwLCB3aGljaCBkb2Vzbid0IHVwZGF0ZSB0aGUgd2F0ZXJtYXJrcy4KPiA+ Cj4gPiBUaGlzIHJlZ3Jlc3Npb24gd2FzIGludHJvZHVjZWQgc29tZXdoZXJlIGJldHdlZW4gdjMu MTYgYW5kIHYzLjE3Lgo+ID4gQW5vdGhlciBpc3N1ZSBwcmV2ZW50ZWQgbWUgZnJvbSBkb2luZyBh IGZ1bGwgYmlzZWN0LCBidXQgdGhlIGlzc3VlIHdhcwo+ID4gaW50cm9kdWNlZCBpbiBvbmUgb2Yg dGhlIGZvbGxvd2luZyBza2lwcGVkIGNvbW1pdHM6Cj4gPgo+ID4gICAgIGNvbW1pdCA3NzA3ZTY1 MzVmNDMzMjhlMDVlNDcyOWFjOTZlZWU4NjRiOTBlOGE0Cj4gPiAgICAgQXV0aG9yOiBSb2IgQ2xh cmsgPHJvYmRjbGFya0BnbWFpbC5jb20+Cj4gPiAgICAgRGF0ZTogICBUaHUgSnVsIDE3IDIzOjMw OjA0IDIwMTQgLTA0MDAKPiA+Cj4gPiAgICAgICAgIGRybS9pOTE1OiB1c2UgaGVscGVycwo+ID4K PiA+ICAgICBjb21taXQgY2E1YTFiOWJhMGZiNTI5MWI1NTVhMjNiNzZkYmU1ZjZjMzBiZmQ3YQo+ ID4gICAgIE1lcmdlOiBjN2RiYzZjIDM0ODgyMjkKPiA+ICAgICBBdXRob3I6IERhdmUgQWlybGll IDxhaXJsaWVkQHJlZGhhdC5jb20+Cj4gPiAgICAgRGF0ZTogICBXZWQgSnVsIDkgMTA6Mzg6NDIg MjAxNCArMTAwMAo+ID4KPiA+ICAgICAgICAgTWVyZ2UgdGFnICdkcm0taW50ZWwtbmV4dC0yMDE0 LTA2LTIwJyBvZiBnaXQ6Ly9hbm9uZ2l0LmZyZWVkZXNrdG9wLm9yZy9kcm0taW50ZWwgaW50byBk cm0tbmV4dAo+ID4KPiA+ICAgICBjb21taXQgYzUxZjcxNjc5MDQyYTVmMzg4ZDk1ODBmZmJlZGUx NGM4OTdmMWU4Ngo+ID4gICAgIE1lcmdlOiBiOTU3ZjQ1IDdiM2MyOWYKPiA+ICAgICBBdXRob3I6 IERhdmUgQWlybGllIDxhaXJsaWVkQHJlZGhhdC5jb20+Cj4gPiAgICAgRGF0ZTogICBTYXQgSnVs IDE5IDE2OjQzOjQxIDIwMTQgKzEwMDAKPiA+Cj4gPiAgICAgICAgIE1lcmdlIHRhZyAnZHJtLWlu dGVsLW5leHQtMjAxNC0wNy0xMScgb2YgZ2l0Oi8vYW5vbmdpdC5mcmVlZGVza3RvcC5vcmcvZHJt LWludGVsIGludG8gZHJtLW5leHQKPiA+Cj4gPiBUaGlzIHBhdGNoIGlzIGEgc2ltcGxpZmllZCB2 ZXJzaW9uIG9mIHRoZSBmb2xsb3dpbmcgY29tbWl0czoKPiA+Cj4gPiAgICAgY29tbWl0IDNkZDUx MmZiZGEwZDg3ZDFjM2ZiNDRiZjg3OGIyNjJiYWVlOThmYjYKPiA+ICAgICBBdXRob3I6IE1hdHQg Um9wZXIgPG1hdHRoZXcuZC5yb3BlckBpbnRlbC5jb20+Cj4gPiAgICAgRGF0ZTogICBGcmkgRmVi IDI3IDEwOjEyOjAwIDIwMTUgLTA4MDAKPiA+Cj4gPiAgICAgICAgIGRybS9pOTE1OiBLaWxsIGlu dGVsX2NydGMtPmN1cnNvcl97d2lkdGgsIGhlaWdodH0gKHYyKQo+ID4KPiA+ICAgICBjb21taXQg NTRkYTY5MWRlYjEyM2MwNDUyNTllYmY0ZjVjNjczODEyNDRmNThmMQo+ID4gICAgIEF1dGhvcjog VGhvbWFzIEd1bW1lcmVyIDx0Lmd1bW1lcmVyQGdtYWlsLmNvbT4KPiA+ICAgICBEYXRlOiAgIFRo dSBNYXkgMTQgMDk6MTY6MzkgMjAxNSArMDIwMAo+ID4KPiA+ICAgICAgICAgZHJtL2k5MTU6IGZp eCBzY3JlZW4gZmxpY2tlcmluZwo+IAo+IFRoaXMgaXMgZXhwZWN0ZWQgdG8gbGFuZCBpbiB2NC4x LXJjNSwgaS5lLiB0aGVzZSBhcmUgYWxsIHVwc3RyZWFtCj4gY29tbWl0cy4gQW5kIEkgYXNzdW1l IG5vbmUgb2YgdGhlbSBhcHBseSB0byBzdGFibGUga2VybmVscyBkaXJlY3RseS4KCkEgbG90IG9m IGNoZXJyeS1waWNrIGFuZCBzb21lIGFtZW5kaW5nIHdvdWxkIGJlIG5lY2Vzc2FyeSwgYmVjYXVz ZSBvZgp0aGUgY2hhbmdlcyBnb2luZyBvbiBmb3IgdGhlIGF0b21pYyBjb252ZXJzaW9uLiBIZW5j ZSB0aGUgYXBwcm9hY2ggaGVyZQp3YXMgdG8gY2FwdHVyZSBqdXN0IHRoZSBpbXBvcnRhbnQgY2hh bmdlcyBpbnRvIHRoaXMgc21hbGwgcGF0Y2guCgo+ID4KPiA+ICAgICBjb21taXQgM2VmMDAyODRl NmE0OGY3ZGViMDc4NGNjY2EwNDc4ZWJiN2Q0YmNmYwo+ID4gICAgIEF1dGhvcjogTWF0dCBSb3Bl ciA8bWF0dGhldy5kLnJvcGVyQGludGVsLmNvbT4KPiA+ICAgICBEYXRlOiAgIE1vbiBNYXIgOSAx MDoxOToyNCAyMDE1IC0wNzAwCj4gPgo+ID4gICAgICAgICBkcm0vaTkxNTogVXNlIGNydGMtPnN0 YXRlLT5hY3RpdmUgaW4gaWxrL3NrbCB3YXRlcm1hcmsgY2FsY3VsYXRpb25zICh2MykKPiA+Cj4g PiBCdWd6aWxsYTogaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9 OTA1MDgKPiA+IEJ1Z3ppbGxhOiBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcu Y2dpP2lkPTEyMTg2ODgKPiA+IENjOiBzdGFibGVAdmdlci5rZXJuZWwub3JnCj4gCj4gSSAoYW5k IG1vc3QgbGlrZWx5IHRoZSBzdGFibGUgdGVhbSkgd291bGQgbGlrZSB0byBrbm93IHdoaWNoIHN0 YWJsZQo+IGtlcm5lbCB2ZXJzaW9ucyB0aGlzIGlzIHRhcmdldGluZy4KClRoaXMgaXMgZm9yIDQu MC4KCj4gRG8geW91IGhhdmUgVGVzdGVkLWJ5cyBhZ2FpbnN0IHRoZSBzdGFibGUgdmVyc2lvbnMg eW91J3JlIHRhcmdldGluZz8KCk9ubHkgbXkgb3duIHRlc3Rpbmcgc28gZmFyLiBJIGd1ZXNzIFJh eSBTdHJvZGUncyBkb2Vzbid0IGNvdW50IHNpbmNlIGhlCnRlc3RlZCBvbiB0b3Agb2YgRmVkb3Jh J3Mga2VybmVsPwoKCj4gQW55d2F5IHRoaXMgaXMKPiAKPiBBY2tlZC1ieTogSmFuaSBOaWt1bGEg PGphbmkubmlrdWxhQGludGVsLmNvbT4KClRoYW5rcywKQW5kZXIKCj4gCj4gCj4gQlIsCj4gSmFu aS4KPiAKPiA+IENjOiBEYXZlIEFpcmxpZSA8YWlybGllZEBnbWFpbC5jb20+Cj4gPiBDYzogSmFu aSBOaWt1bGEgPGphbmkubmlrdWxhQGludGVsLmNvbT4KPiA+IFNpZ25lZC1vZmYtYnk6IEFuZGVy IENvbnNlbHZhbiBkZSBPbGl2ZWlyYSA8YW5kZXIuY29uc2VsdmFuLmRlLm9saXZlaXJhQGludGVs LmNvbT4KPiA+IC0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgfCAxNCAr KysrKysrKysrKy0tLQo+ID4gIDEgZmlsZSBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspLCAzIGRl bGV0aW9ucygtKQo+ID4KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+ID4gaW5kZXggMjRkNzdk ZC4uM2Q2N2Y4ZSAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bt LmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPiA+IEBAIC0xODk4 LDE2ICsxODk4LDI0IEBAIHN0YXRpYyB2b2lkIGlsa19jb21wdXRlX3dtX3BhcmFtZXRlcnMoc3Ry dWN0IGRybV9jcnRjICpjcnRjLAo+ID4gIAllbnVtIHBpcGUgcGlwZSA9IGludGVsX2NydGMtPnBp cGU7Cj4gPiAgCXN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lOwo+ID4gIAo+ID4gLQlpZiAoIWludGVs X2NydGNfYWN0aXZlKGNydGMpKQo+ID4gKwlpZiAoIWludGVsX2NydGMtPmFjdGl2ZSkKPiA+ICAJ CXJldHVybjsKPiA+ICAKPiA+ICAJcC0+YWN0aXZlID0gdHJ1ZTsKPiA+ICAJcC0+cGlwZV9odG90 YWwgPSBpbnRlbF9jcnRjLT5jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZS5jcnRjX2h0b3RhbDsK PiA+ICAJcC0+cGl4ZWxfcmF0ZSA9IGlsa19waXBlX3BpeGVsX3JhdGUoZGV2LCBjcnRjKTsKPiA+ IC0JcC0+cHJpLmJ5dGVzX3Blcl9waXhlbCA9IGNydGMtPnByaW1hcnktPmZiLT5iaXRzX3Blcl9w aXhlbCAvIDg7Cj4gPiArCj4gPiArCj4gPiArCWlmIChjcnRjLT5wcmltYXJ5LT5mYikKPiA+ICsJ CXAtPnByaS5ieXRlc19wZXJfcGl4ZWwgPSBjcnRjLT5wcmltYXJ5LT5mYi0+Yml0c19wZXJfcGl4 ZWwgLyA4Owo+ID4gKwllbHNlCj4gPiArCQlwLT5wcmkuYnl0ZXNfcGVyX3BpeGVsID0gNDsKPiA+ ICsKPiA+ICAJcC0+Y3VyLmJ5dGVzX3Blcl9waXhlbCA9IDQ7Cj4gPiArCj4gPiAgCXAtPnByaS5o b3Jpel9waXhlbHMgPSBpbnRlbF9jcnRjLT5jb25maWctPnBpcGVfc3JjX3c7Cj4gPiAtCXAtPmN1 ci5ob3Jpel9waXhlbHMgPSBpbnRlbF9jcnRjLT5jdXJzb3Jfd2lkdGg7Cj4gPiArCXAtPmN1ci5o b3Jpel9waXhlbHMgPSBpbnRlbF9jcnRjLT5iYXNlLmN1cnNvci0+c3RhdGUtPmNydGNfdzsKPiA+ ICsKPiA+ICAJLyogVE9ETzogZm9yIG5vdywgYXNzdW1lIHByaW1hcnkgYW5kIGN1cnNvciBwbGFu ZXMgYXJlIGFsd2F5cyBlbmFibGVkLiAqLwo+ID4gIAlwLT5wcmkuZW5hYmxlZCA9IHRydWU7Cj4g PiAgCXAtPmN1ci5lbmFibGVkID0gdHJ1ZTsKPiA+IC0tIAo+ID4gMi4xLjAKPiA+Cj4gCgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1h aWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pd0-f174.google.com ([209.85.192.174]:36341 "EHLO mail-pd0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752456AbbEUHVe (ORCPT ); Thu, 21 May 2015 03:21:34 -0400 Received: by pdfh10 with SMTP id h10so98520540pdf.3 for ; Thu, 21 May 2015 00:21:33 -0700 (PDT) Message-ID: <1432192890.2696.6.camel@gmail.com> Subject: Re: [PATCH] drm/i915: Fix ilk watermarks calculation when primary plane is disabled From: Ander Conselvan De Oliveira To: Jani Nikula Cc: intel-gfx@lists.freedesktop.org, stable@vger.kernel.org, Dave Airlie Date: Thu, 21 May 2015 10:21:30 +0300 In-Reply-To: <878ucjl5i3.fsf@intel.com> References: <1432128754-11840-1-git-send-email-ander.conselvan.de.oliveira@intel.com> <878ucjl5i3.fsf@intel.com> Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: stable-owner@vger.kernel.org List-ID: On Wed, 2015-05-20 at 16:53 +0300, Jani Nikula wrote: > On Wed, 20 May 2015, Ander Conselvan de Oliveira wrote: > > On Fedora 21 or 22, when the transition from the X server to the wayland > > compositor is done, the CRTC with the login screen is left active with a > > disabled fb. A cursor ioctl after the transition causes the watermarks > > to be updated, but due to the logic in intel_crtc_active() checking for > > the primary plane fb, the update considers all planes to be disabled, > > untimately setting the wrong watermark values and causing screen > > flicker. Since the crtc is active, a modeset done later is skipped and > > replaced with a flip, which doesn't update the watermarks. > > > > This regression was introduced somewhere between v3.16 and v3.17. > > Another issue prevented me from doing a full bisect, but the issue was > > introduced in one of the following skipped commits: > > > > commit 7707e6535f43328e05e4729ac96eee864b90e8a4 > > Author: Rob Clark > > Date: Thu Jul 17 23:30:04 2014 -0400 > > > > drm/i915: use helpers > > > > commit ca5a1b9ba0fb5291b555a23b76dbe5f6c30bfd7a > > Merge: c7dbc6c 3488229 > > Author: Dave Airlie > > Date: Wed Jul 9 10:38:42 2014 +1000 > > > > Merge tag 'drm-intel-next-2014-06-20' of git://anongit.freedesktop.org/drm-intel into drm-next > > > > commit c51f71679042a5f388d9580ffbede14c897f1e86 > > Merge: b957f45 7b3c29f > > Author: Dave Airlie > > Date: Sat Jul 19 16:43:41 2014 +1000 > > > > Merge tag 'drm-intel-next-2014-07-11' of git://anongit.freedesktop.org/drm-intel into drm-next > > > > This patch is a simplified version of the following commits: > > > > commit 3dd512fbda0d87d1c3fb44bf878b262baee98fb6 > > Author: Matt Roper > > Date: Fri Feb 27 10:12:00 2015 -0800 > > > > drm/i915: Kill intel_crtc->cursor_{width, height} (v2) > > > > commit 54da691deb123c045259ebf4f5c67381244f58f1 > > Author: Thomas Gummerer > > Date: Thu May 14 09:16:39 2015 +0200 > > > > drm/i915: fix screen flickering > > This is expected to land in v4.1-rc5, i.e. these are all upstream > commits. And I assume none of them apply to stable kernels directly. A lot of cherry-pick and some amending would be necessary, because of the changes going on for the atomic conversion. Hence the approach here was to capture just the important changes into this small patch. > > > > commit 3ef00284e6a48f7deb0784ccca0478ebb7d4bcfc > > Author: Matt Roper > > Date: Mon Mar 9 10:19:24 2015 -0700 > > > > drm/i915: Use crtc->state->active in ilk/skl watermark calculations (v3) > > > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90508 > > Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1218688 > > Cc: stable@vger.kernel.org > > I (and most likely the stable team) would like to know which stable > kernel versions this is targeting. This is for 4.0. > Do you have Tested-bys against the stable versions you're targeting? Only my own testing so far. I guess Ray Strode's doesn't count since he tested on top of Fedora's kernel? > Anyway this is > > Acked-by: Jani Nikula Thanks, Ander > > > BR, > Jani. > > > Cc: Dave Airlie > > Cc: Jani Nikula > > Signed-off-by: Ander Conselvan de Oliveira > > --- > > drivers/gpu/drm/i915/intel_pm.c | 14 +++++++++++--- > > 1 file changed, 11 insertions(+), 3 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c > > index 24d77dd..3d67f8e 100644 > > --- a/drivers/gpu/drm/i915/intel_pm.c > > +++ b/drivers/gpu/drm/i915/intel_pm.c > > @@ -1898,16 +1898,24 @@ static void ilk_compute_wm_parameters(struct drm_crtc *crtc, > > enum pipe pipe = intel_crtc->pipe; > > struct drm_plane *plane; > > > > - if (!intel_crtc_active(crtc)) > > + if (!intel_crtc->active) > > return; > > > > p->active = true; > > p->pipe_htotal = intel_crtc->config->base.adjusted_mode.crtc_htotal; > > p->pixel_rate = ilk_pipe_pixel_rate(dev, crtc); > > - p->pri.bytes_per_pixel = crtc->primary->fb->bits_per_pixel / 8; > > + > > + > > + if (crtc->primary->fb) > > + p->pri.bytes_per_pixel = crtc->primary->fb->bits_per_pixel / 8; > > + else > > + p->pri.bytes_per_pixel = 4; > > + > > p->cur.bytes_per_pixel = 4; > > + > > p->pri.horiz_pixels = intel_crtc->config->pipe_src_w; > > - p->cur.horiz_pixels = intel_crtc->cursor_width; > > + p->cur.horiz_pixels = intel_crtc->base.cursor->state->crtc_w; > > + > > /* TODO: for now, assume primary and cursor planes are always enabled. */ > > p->pri.enabled = true; > > p->cur.enabled = true; > > -- > > 2.1.0 > > >