From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH] drm: Don't force all planes to be added to the state due to zpos Date: Mon, 10 Oct 2016 15:56:43 +0300 Message-ID: <20161010125643.GE4329@intel.com> References: <1476101987-31986-1-git-send-email-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 410896E185 for ; Mon, 10 Oct 2016 12:56:48 +0000 (UTC) Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter Cc: Seung-Woo Kim , stable , Kyungmin Park , dri-devel , Lyude , Marek Szyprowski , Vincent Abriou , Laurent Pinchart List-Id: dri-devel@lists.freedesktop.org T24gTW9uLCBPY3QgMTAsIDIwMTYgYXQgMDI6NDY6MzVQTSArMDIwMCwgRGFuaWVsIFZldHRlciB3 cm90ZToKPiBPbiBNb24sIE9jdCAxMCwgMjAxNiBhdCAyOjE5IFBNLCAgPHZpbGxlLnN5cmphbGFA bGludXguaW50ZWwuY29tPiB3cm90ZToKPiA+IEZyb206IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUu c3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gPgo+ID4gV2UgZG9uJ3Qgd2FudCBhbGwgcGxhbmVz IHRvIGJlIGFkZGVkIHRvIHRoZSBzdGF0ZSB3aGVuZXZlciBhCj4gPiBwbGFuZSB3aXRoIGZpeGVk IHpwb3MgZ2V0cyBlbmFibGVkL2Rpc2FibGVkLiBUaGlzIGlzIHRydWUKPiA+IGVzcGVjaWFsbHkg Zm9yIGVnLiBjdXJzb3IgcGxhbmVzIG9uIGk5MTUsIGFzIHdlIHdhbnQgY3Vyc29yCj4gPiB1cGRh dGVzIHRvIGdvIHRocm91Z2ggdy9vIHRocm90dGxpbmcuIFNhbWUgaG9sZHMgZm9yIGRyaXZlcnMK PiA+IHRoYXQgZG9uJ3Qgc3VwcG9ydCB6cG9zIGF0IGFsbCAoaTkxNSBhY3R1YWxseSBmYWxscyBp bnRvIHRoaXMKPiA+IGNhdGVnb3J5IHJpZ2h0IG5vdyBzaW5jZSB3ZSd2ZSBub3QgeWV0IGFkZGVk IHpwb3Mgc3VwcG9ydCkuCj4gPgo+ID4gQWxsb3cgZHJpdmVycyBtb3JlIGZyZWVkb20gYnkgbGV0 dGluZyB0aGVtIGRlYWwgd2l0aCB6cG9zCj4gPiB0aGVtc2VsdmVzIGluc3RlYWQgb2YgZG9pbmcg aXQgaW4gZHJtX2F0b21pY19oZWxwZXJfY2hlY2tfcGxhbmVzKCkKPiA+IHVuY29uZGl0aW9uYWxs eS4gRWFzaWVzdCBzb2x1dGlvbiBzZWVtcyB0byBiZSB0byBtb3ZlIHRoZSBjYWxsCj4gPiB1cCB0 byBkcm1fYXRvbWljX2hlbHBlcl9jaGVjaygpLiBCdXQgYXMgc29tZSBkcml2ZXJzIG1pZ2h0IHdh bnQKPiA+IHRvIHVzZSB0aGF0IGZ1bmN0aW9uIHdpdGhvdXQgdGhlIHpwb3MgaGFuZGxpbmcsIGxl dCdzIHByb3ZpZGUKPiA+IHR3byB2YXJpYW50czogdGhlIG5vcm1hbCBvbmUsIGFuZCBvbmUgdGhh dCBkZWFscyB3aXRoIHpwb3MuCj4gPgo+ID4gQ2M6IE1hcmVrIFN6eXByb3dza2kgPG0uc3p5cHJv d3NraUBzYW1zdW5nLmNvbT4KPiA+IENjOiBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2Fp Z25hcmRAbGluYXJvLm9yZz4KPiA+IENjOiBWaW5jZW50IEFicmlvdSA8dmluY2VudC5hYnJpb3VA c3QuY29tPgo+ID4gQ2M6IExhdXJlbnQgUGluY2hhcnQgPGxhdXJlbnQucGluY2hhcnRAaWRlYXNv bmJvYXJkLmNvbT4KPiA+IENjOiBJbmtpIERhZSA8aW5raS5kYWVAc2Ftc3VuZy5jb20+Cj4gPiBD YzogSm9vbnlvdW5nIFNoaW0gPGp5MDkyMi5zaGltQHNhbXN1bmcuY29tPgo+ID4gQ2M6IFNldW5n LVdvbyBLaW0gPHN3MDMxMi5raW1Ac2Ftc3VuZy5jb20+Cj4gPiBDYzogS3l1bmdtaW4gUGFyayA8 a3l1bmdtaW4ucGFya0BzYW1zdW5nLmNvbT4KPiA+IENjOiBMeXVkZSA8Y3BhdWxAcmVkaGF0LmNv bT4KPiA+IENjOiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50 ZWwuY29tPgo+ID4gQ2M6IHN0YWJsZUB2Z2VyLmtlcm5lbC5vcmcKPiA+IEZpeGVzOiA0NGQxMjQw ZDAwNmMgKCJkcm06IGFkZCBnZW5lcmljIHpwb3MgcHJvcGVydHkiKQo+ID4gU2lnbmVkLW9mZi1i eTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiAKPiBT ZWVtcyBhIGJpdCBmcmFnaWxlLCBhbmQgdGhlbiBkcml2ZXJzIHN0aWxsIG5lZWQgdG8gbm90IG92 ZXJzaG90IHdoZW4KPiB0aGV5IGRvIHpwb3MgKHdoaWNoIHdlIHdhbnQgZXZlbnR1YWxseSBpbiBp OTE1IHRvbykuCgpUaGUgb25seSBwbGF0Zm9ybSB3aGVyZSB3ZSBjYW4gZG8gaXQgaXMgcHJlLWc0 eCwgYW5kIHZsdi9jaHYuIEFuZCBJJ20KdGhpbmtpbmcgSSBjYW4gZG8gYSBiZXR0ZXIgam9iIG9m IGl0IGluIHRoZSBkcml2ZXIuCgo+IEkgdGhpbmsgdGhlCj4gcHJvcGVyIHdheSBpcyB0byBrZWVw IHRyYWNrIG9mIGEgcGVyLXBsYW5lIHpwb3MgY2hhbmdlZCAob3IgY29tcHV0ZQo+IHRoYXQgYWQt aG9jLCB3ZSBoYXZlIGJvdGggc3RhdGVzKS4gQW5kIG9ubHkgZ3JhYiBtb3JlIHBsYW5lcyBpZiBh IHpwb3MKPiB2YWx1ZSBjaGFuZ2VkLgoKRG9lc24ndCB3b3JrIHdpdGggbm9ybWFsaXplZCB6cG9z LiBUaGUgcGxhbmUncyBhY3R1YWwgenBvcyBtYXkgYmUKdW5jaGFuZ2VkIGV2ZW4gaWYgdGhlIG5v cm1hbGl6ZWQgenBvcyBjaGFuZ2VzLgoKPiAKPiBUaGF0IHdvdWxkIGZpeCB0aGUgaXNzdWUgYXQg dGhlIHNvdXJjZSwgYWxzbyB3b3JrIGZvciB1cyBpbiB0aGUKPiBmdXR1cmUsIGFuZCBpdCBzaG91 bGQgYmUgY29udGFpbmVkIHRvIGp1c3QgdGhlIGhlbHBlciBmdW5jdGlvbiBpdHNlbGYuCj4gV2lu IGFsbCBhcm91bmQgOy0pCj4gLURhbmllbAo+IC0tIAo+IERhbmllbCBWZXR0ZXIKPiBTb2Z0d2Fy ZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KPiArNDEgKDApIDc5IDM2NSA1NyA0OCAtIGh0 dHA6Ly9ibG9nLmZmd2xsLmNoCgotLSAKVmlsbGUgU3lyasOkbMOkCkludGVsIE9UQwpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGlu ZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga07.intel.com ([134.134.136.100]:62260 "EHLO mga07.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752363AbcJJM4s (ORCPT ); Mon, 10 Oct 2016 08:56:48 -0400 Date: Mon, 10 Oct 2016 15:56:43 +0300 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= To: Daniel Vetter Cc: dri-devel , Seung-Woo Kim , stable , Kyungmin Park , Laurent Pinchart , Lyude , Vincent Abriou , Marek Szyprowski Subject: Re: [PATCH] drm: Don't force all planes to be added to the state due to zpos Message-ID: <20161010125643.GE4329@intel.com> References: <1476101987-31986-1-git-send-email-ville.syrjala@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Sender: stable-owner@vger.kernel.org List-ID: On Mon, Oct 10, 2016 at 02:46:35PM +0200, Daniel Vetter wrote: > On Mon, Oct 10, 2016 at 2:19 PM, wrote: > > From: Ville Syrj�l� > > > > We don't want all planes to be added to the state whenever a > > plane with fixed zpos gets enabled/disabled. This is true > > especially for eg. cursor planes on i915, as we want cursor > > updates to go through w/o throttling. Same holds for drivers > > that don't support zpos at all (i915 actually falls into this > > category right now since we've not yet added zpos support). > > > > Allow drivers more freedom by letting them deal with zpos > > themselves instead of doing it in drm_atomic_helper_check_planes() > > unconditionally. Easiest solution seems to be to move the call > > up to drm_atomic_helper_check(). But as some drivers might want > > to use that function without the zpos handling, let's provide > > two variants: the normal one, and one that deals with zpos. > > > > Cc: Marek Szyprowski > > Cc: Benjamin Gaignard > > Cc: Vincent Abriou > > Cc: Laurent Pinchart > > Cc: Inki Dae > > Cc: Joonyoung Shim > > Cc: Seung-Woo Kim > > Cc: Kyungmin Park > > Cc: Lyude > > Cc: Maarten Lankhorst > > Cc: stable@vger.kernel.org > > Fixes: 44d1240d006c ("drm: add generic zpos property") > > Signed-off-by: Ville Syrj�l� > > Seems a bit fragile, and then drivers still need to not overshot when > they do zpos (which we want eventually in i915 too). The only platform where we can do it is pre-g4x, and vlv/chv. And I'm thinking I can do a better job of it in the driver. > I think the > proper way is to keep track of a per-plane zpos changed (or compute > that ad-hoc, we have both states). And only grab more planes if a zpos > value changed. Doesn't work with normalized zpos. The plane's actual zpos may be unchanged even if the normalized zpos changes. > > That would fix the issue at the source, also work for us in the > future, and it should be contained to just the helper function itself. > Win all around ;-) > -Daniel > -- > Daniel Vetter > Software Engineer, Intel Corporation > +41 (0) 79 365 57 48 - http://blog.ffwll.ch -- Ville Syrj�l� Intel OTC