From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gustavo Padovan Subject: Re: [RFC v2 1/7] drm/atomic: initial support for asynchronous plane update Date: Thu, 27 Apr 2017 16:35:37 -0300 Message-ID: <20170427193537.GB2568@joana> References: <20170427151519.8308-1-gustavo@padovan.org> <20170427151519.8308-2-gustavo@padovan.org> <20170427153710.GO30290@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-qk0-f196.google.com (mail-qk0-f196.google.com [209.85.220.196]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1C7D28918D for ; Thu, 27 Apr 2017 19:35:42 +0000 (UTC) Received: by mail-qk0-f196.google.com with SMTP id a19so6172219qkg.2 for ; Thu, 27 Apr 2017 12:35:42 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20170427153710.GO30290@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Cc: Gustavo Padovan , dri-devel@lists.freedesktop.org, Daniel Vetter List-Id: dri-devel@lists.freedesktop.org SGkgVmlsbGUsCgoyMDE3LTA0LTI3IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51 eC5pbnRlbC5jb20+OgoKPiBPbiBUaHUsIEFwciAyNywgMjAxNyBhdCAxMjoxNToxM1BNIC0wMzAw LCBHdXN0YXZvIFBhZG92YW4gd3JvdGU6Cj4gPiBGcm9tOiBHdXN0YXZvIFBhZG92YW4gPGd1c3Rh dm8ucGFkb3ZhbkBjb2xsYWJvcmEuY29tPgo+ID4gCj4gPiBJbiBzb21lIGNhc2VzLCBsaWtlIGN1 cnNvciB1cGRhdGVzLCBpdCBpcyBpbnRlcmVzdGluZyB0byB1cGRhdGUgdGhlCj4gPiBwbGFuZSBp biBhbiBhc3luY2hyb25vdXMgZmFzaGlvbiB0byBhdm9pZCBiaWcgZGVsYXlzLiBUaGUgY3VycmVu dCBxdWV1ZWQKPiA+IHVwZGF0ZSBjb3VsZCBiZSBzdGlsbCB3YWl0aW5nIGZvciBhIGZlbmNlIHRv IHNpZ25hbCBhbmQgdGh1cyBibG9jayBhbnkKPiA+IHN1YnNlcXVlbnQgdXBkYXRlIHVudGlsIGl0 cyBzY2FuIG91dC4gSW4gY2FzZXMgbGlrZSB0aGlzIGlmIHdlIHVwZGF0ZSB0aGUKPiA+IGN1cnNv ciBzeW5jaHJvbm91c2x5IHRocm91Z2ggdGhlIGF0b21pYyBBUEkgaXQgd2lsbCBjYXVzZSBzaWdu aWZpY2FudAo+ID4gZGVsYXlzIHRoYXQgd291bGQgZXZlbiBiZSBub3RpY2VkIGJ5IHRoZSBmaW5h bCB1c2VyLgo+ID4gCj4gPiBUaGlzIHBhdGNoIGNyZWF0ZXMgYSBmYXN0IHBhdGggdG8ganVtcCBh aGVhZCB0aGUgY3VycmVudCBxdWV1ZWQgc3RhdGUgYW5kCj4gPiBkbyBzaW5nbGUgcGxhbmVzIHVw ZGF0ZXMgd2l0aG91dCBnb2luZyB0aHJvdWdoIGFsbCBhdG9taWMgc3RlcCBpbgo+ID4gZHJtX2F0 b21pY19oZWxwZXJfY29tbWl0KCkuCj4gPiAKPiA+IFdlIHRha2UgdGhpcyBwYXRoIGZvciBsZWdh Y3kgY3Vyc29yIHVwZGF0ZXMuIFVzZXJzIGNhbiBhbHNvIHNldCB0aGUKPiA+IERSTV9NT0RFX0FU T01JQ19BU1lOQ19VUERBVEUgZmxhZyBvbiBhdG9taWMgdXBkYXRlcy4KPiA+IAo+ID4gRm9yIG5v dyBvbmx5IHNpbmdsZSBwbGFuZSB1cGRhdGVzIGFyZSBzdXBwb3J0ZWQsIGJ1dCB3ZSBwbGFuIHRv IHN1cHBvcnQKPiA+IG11bHRpcGxlIHBsYW5lcyB1cGRhdGVzIGFuZCBhc3luYyBQYWdlRmxpcHMg dGhyb3VnaCB0aGlzIGludGVyZmFjZSBhcyB3ZWxsCj4gPiBpbiB0aGUgbmVhciBmdXR1cmUuCj4g PiAKPiA+IHYyOgo+ID4gCS0gYWxsb3cgdXBkYXRlcyBldmVuIGlmIHRoZXJlIGlzIGEgcXVldWVk IHVwZGF0ZSBmb3IgdGhlIHNhbWUKPiA+IAlwbGFuZS4KPiA+ICAgICAgICAgLSBmaXhlcyBvbiB0 aGUgZG9jdW1lbnRhdGlvbiAoRW1pbCBWZWxpa292KQo+ID4gICAgICAgICAtIHVuY29uZGl0aW9u YWxseSBjYWxsIC0+YXRvbWljX2FzeW5jX3VwZGF0ZSAoRW1pbCBWZWxpa292KQo+ID4gICAgICAg ICAtIGNoZWNrIGZvciAtPmF0b21pY19hc3luY191cGRhdGUgZWFybGllciAoRGFuaWVsIFZldHRl cikKPiA+ICAgICAgICAgLSBtYWtlIC0+YXRvbWljX2FzeW5jX2NoZWNrKCkgdGhlIGxhc3Qgc3Rl cCAoRGFuaWVsIFZldHRlcikKPiA+ICAgICAgICAgLSBhZGQgQVNZTkNfVVBEQVRFIGZsYWcgKEVy aWMgQW5ob2x0KQo+ID4gICAgICAgICAtIHVwZGF0ZSBzdGF0ZSBpbiBjb3JlIGFmdGVyIC0+YXRv bWljX2FzeW5jX3VwZGF0ZSAoRXJpYyBBbmhvbHQpCj4gPiAJLSB1cGRhdGUgZG9jcyAoRXJpYyBB bmhvbHQpCj4gPiAKPiA+IENjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGludGVsLmNv bT4KPiA+IENjOiBSb2IgQ2xhcmsgPHJvYmRjbGFya0BnbWFpbC5jb20+Cj4gPiBDYzogRXJpYyBB bmhvbHQgPGVyaWNAYW5ob2x0Lm5ldD4KPiA+IFNpZ25lZC1vZmYtYnk6IEd1c3Rhdm8gUGFkb3Zh biA8Z3VzdGF2by5wYWRvdmFuQGNvbGxhYm9yYS5jb20+Cj4gPiAtLS0KPiA+ICBkcml2ZXJzL2dw dS9kcm0vZHJtX2F0b21pYy5jICAgICAgICAgICAgIHwgNTAgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysKPiA+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYyAgICAg IHwgNDggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gPiAgaW5jbHVkZS9kcm0vZHJt X2F0b21pYy5oICAgICAgICAgICAgICAgICB8ICAyICsrCj4gPiAgaW5jbHVkZS9kcm0vZHJtX2F0 b21pY19oZWxwZXIuaCAgICAgICAgICB8ICAyICsrCj4gPiAgaW5jbHVkZS9kcm0vZHJtX21vZGVz ZXRfaGVscGVyX3Z0YWJsZXMuaCB8IDQ1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiA+ ICBpbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmggICAgICAgICAgICAgIHwgIDQgKystCj4gPiAg NiBmaWxlcyBjaGFuZ2VkLCAxNTAgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQo+ID4gCj4g PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyBiL2RyaXZlcnMvZ3B1 L2RybS9kcm1fYXRvbWljLmMKPiA+IGluZGV4IDMwMjI5YWIuLjdiNjBjZjggMTAwNjQ0Cj4gPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vZHJtX2F0b21pYy5jCj4gPiBAQCAtNzcsNiArNzcsNyBAQCBkcm1fYXRvbWljX3N0YXRlX2lu aXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRl KQo+ID4gIAkgKiBzZXR0aW5nIHRoaXMgYXBwcm9wcmlhdGVseT8KPiA+ICAJICovCj4gPiAgCXN0 YXRlLT5hbGxvd19tb2Rlc2V0ID0gdHJ1ZTsKPiA+ICsJc3RhdGUtPmFzeW5jX3VwZGF0ZSA9IHRy dWU7Cj4gPiAgCj4gPiAgCXN0YXRlLT5jcnRjcyA9IGtjYWxsb2MoZGV2LT5tb2RlX2NvbmZpZy5u dW1fY3J0YywKPiA+ICAJCQkgICAgICAgc2l6ZW9mKCpzdGF0ZS0+Y3J0Y3MpLCBHRlBfS0VSTkVM KTsKPiA+IEBAIC02MzEsNiArNjMyLDUxIEBAIHN0YXRpYyBpbnQgZHJtX2F0b21pY19jcnRjX2No ZWNrKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiA+ICAJcmV0dXJuIDA7Cj4gPiAgfQo+ID4gIAo+ ID4gK3N0YXRpYyBib29sIGRybV9hdG9taWNfYXN5bmNfY2hlY2soc3RydWN0IGRybV9hdG9taWNf c3RhdGUgKnN0YXRlKQo+ID4gK3sKPiA+ICsJc3RydWN0IGRybV9jcnRjICpjcnRjOwo+ID4gKwlz dHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGU7Cj4gPiArCXN0cnVjdCBkcm1fcGxhbmUg Kl9fcGxhbmUsICpwbGFuZSA9IE5VTEw7Cj4gPiArCXN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKl9f cGxhbmVfc3RhdGUsICpwbGFuZV9zdGF0ZSA9IE5VTEw7Cj4gPiArCWNvbnN0IHN0cnVjdCBkcm1f cGxhbmVfaGVscGVyX2Z1bmNzICpmdW5jczsKPiA+ICsJaW50IGksIG5fcGxhbmVzID0gMDsKPiA+ ICsKPiA+ICsJZm9yX2VhY2hfbmV3X2NydGNfaW5fc3RhdGUoc3RhdGUsIGNydGMsIGNydGNfc3Rh dGUsIGkpIHsKPiA+ICsJCWlmIChkcm1fYXRvbWljX2NydGNfbmVlZHNfbW9kZXNldChjcnRjX3N0 YXRlKSkKPiA+ICsJCQlyZXR1cm4gZmFsc2U7Cj4gPiArCX0KPiA+ICsKPiA+ICsJZm9yX2VhY2hf bmV3X3BsYW5lX2luX3N0YXRlKHN0YXRlLCBfX3BsYW5lLCBfX3BsYW5lX3N0YXRlLCBpKSB7Cj4g PiArCQluX3BsYW5lcysrOwo+ID4gKwkJcGxhbmUgPSBfX3BsYW5lOwo+ID4gKwkJcGxhbmVfc3Rh dGUgPSBfX3BsYW5lX3N0YXRlOwo+ID4gKwl9Cj4gPiArCj4gPiArCS8qIEZJWE1FOiB3ZSBzdXBw b3J0IHNpbmdsZSBwbGFuZSB1cGRhdGVzIGZvciBub3cgKi8KPiA+ICsJaWYgKCFwbGFuZSB8fCBu X3BsYW5lcyAhPSAxKQo+ID4gKwkJcmV0dXJuIGZhbHNlOwo+ID4gKwo+ID4gKwlmdW5jcyA9IHBs YW5lLT5oZWxwZXJfcHJpdmF0ZTsKPiA+ICsJaWYgKCFmdW5jcy0+YXRvbWljX2FzeW5jX3VwZGF0 ZSkKPiA+ICsJCXJldHVybiBmYWxzZTsKPiA+ICsKPiA+ICsJaWYgKHBsYW5lX3N0YXRlLT5mZW5j ZSkKPiA+ICsJCXJldHVybiBmYWxzZTsKPiA+ICsKPiA+ICsJaWYgKCFwbGFuZS0+c3RhdGUtPmNy dGMgfHwgKHBsYW5lLT5zdGF0ZS0+Y3J0YyAhPSBwbGFuZV9zdGF0ZS0+Y3J0YykpCj4gPiArCQly ZXR1cm4gZmFsc2U7Cj4gPiArCj4gPiArCS8qIE5vIGNvbmZpZ3VyaW5nIG5ldyBzY2FsaW5nIGlu IHRoZSBhc3luYyBwYXRoLiAqLwo+IAo+IFRob3NlIGNoZWNrcyBhcmVuJ3QgcmVhbGx5IGFib3V0 IHNjYWxpbmcuIFdlbGwsIHRoZXkgYXJlIGFsc28gYWJvdXQKPiBzY2FsaW5nLCBidXQgdGhleSdy ZSBtYWlubHkgYWJvdXQgY2hhbmdpbmcgc2l6ZS4KCkkganVzdCBjb3BpZWQgdGhlIGNvbW1lbnQg ZnJvbSB0aGUgcHJldmlvdXMgY29kZSBpbiB0aGUgZHJpdmVycy4uLgpJIGNhbiBmaXggaXQuCgo+ IAo+IFdoYXQgSSBkb24ndCByZWFsbHkgdW5kZXJzdGFuZCBpcyB3aHkgd2UncmUgZW5mb3JjaW5n IHRoZXNlIHJlc3RyaWN0aW9ucwo+IGluIHRoZSBjb3JlIGJ1dCBsZWF2aW5nIG90aGVyIHJlc3Ry aWN0aW9ucyB1cCB0byB0aGUgZHJpdmVyLiBJIGRvbid0IHNlZQo+IHNpemUgY2hhbmdlcyBhcyBh bnl0aGluZyByZWFsbHkgc3BlY2lhbCBjb21wYXJlZCB0byBtYW55IG9mIHRoZSBvdGhlcgo+IHJl c3RyaWN0aW9ucyB0aGF0IHdvdWxkIG5vdyBiZSB1cCB0byBlYWNoIGRyaXZlci4KCkJlY2F1c2Ug SSBleHRyYWN0ZWQgd2hhdCB3YXMgY29tbW9uIGJldHdlZW4gbXNtLCB2YzQgYW5kIGk5MTUgb24g dGhlaXIKbGVnYWN5IGN1cnNvciB1cGRhdGUgY2FsbHMuIEkgZGlkbid0IHdhbnQgdG8gZW5mb3Jj ZSBhbnl0aGluZyBlbHNlIGluCmNvcmUgZm9yIG5vdy4KCj4gCj4gSWYgeW91J3JlIHJlYWxseSBh ZnRlciBzb21lIGxvd2VzdCBjb21tb24gZGVub21pbmF0b3IgYXMgZmFyIGFzCj4gZXhwb3NlZCBj YXBhYmlsaXRpZXMgYXJlIGNvbmNlcm5lZCB0aGVuIEkgdGhpbmsgdGhlIGNvcmUgc2hvdWxkIGRv Cj4gbW9yZSBjaGVja2luZy4gT1RPSCBpZiB5b3UncmUgbm90IGludGVyZXN0ZWQgbGltaXRpbmcg d2hhdCBlYWNoCj4gZHJpdmVyIGV4cG9zZXMgdGhlbiBJIGRvbid0IHNlZSB3aHkgdGhlIGNvcmUg Y2hlY2tzIGFueXRoaW5nIGF0IGFsbC4KCkkgdGhpbmsgYSBjb21tb24gZGVub21pbmF0b3IgaXMg d2hhdCB3ZSB3YW50IGJ1dCB3ZSBvbmx5IGhhdmUgMyBkcml2ZXJzCnVzaW5nIGl0IGF0IHRoZSBt b21lbnQuIFdlIGNhbiBsb29rIGZvciBtb3JlIGNoZWNrcyB0aGF0IHNob3VkIGJlIGRvbmUKaXMg Y29yZS4gQW55IHN1Z2dlc3Rpb25zPwoKPiAKPiA+ICsJaWYgKHBsYW5lLT5zdGF0ZS0+Y3J0Y193 ICE9IHBsYW5lX3N0YXRlLT5jcnRjX3cgfHwKPiA+ICsJICAgIHBsYW5lLT5zdGF0ZS0+Y3J0Y19o ICE9IHBsYW5lX3N0YXRlLT5jcnRjX2ggfHwKPiA+ICsJICAgIHBsYW5lLT5zdGF0ZS0+c3JjX3cg IT0gcGxhbmVfc3RhdGUtPnNyY193IHx8Cj4gPiArCSAgICBwbGFuZS0+c3RhdGUtPnNyY19oICE9 IHBsYW5lX3N0YXRlLT5zcmNfaCkgewo+ID4gKwkJcmV0dXJuIGZhbHNlOwo+ID4gKwl9Cj4gPiAr Cj4gPiArCXJldHVybiAhZnVuY3MtPmF0b21pY19hc3luY19jaGVjayhwbGFuZSwgcGxhbmVfc3Rh dGUpOwo+ID4gK30KPiA+ICsKPiA+ICBzdGF0aWMgdm9pZCBkcm1fYXRvbWljX2NydGNfcHJpbnRf c3RhdGUoc3RydWN0IGRybV9wcmludGVyICpwLAo+ID4gIAkJY29uc3Qgc3RydWN0IGRybV9jcnRj X3N0YXRlICpzdGF0ZSkKPiA+ICB7Cj4gPHNuaXA+IAo+ID4gIC8qKgo+ID4gZGlmZiAtLWdpdCBh L2luY2x1ZGUvdWFwaS9kcm0vZHJtX21vZGUuaCBiL2luY2x1ZGUvdWFwaS9kcm0vZHJtX21vZGUu aAo+ID4gaW5kZXggOGM2N2ZjMC4uN2MwNjdjYSAxMDA2NDQKPiA+IC0tLSBhL2luY2x1ZGUvdWFw aS9kcm0vZHJtX21vZGUuaAo+ID4gKysrIGIvaW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5oCj4g PiBAQCAtNjQ2LDEzICs2NDYsMTUgQEAgc3RydWN0IGRybV9tb2RlX2Rlc3Ryb3lfZHVtYiB7Cj4g PiAgI2RlZmluZSBEUk1fTU9ERV9BVE9NSUNfVEVTVF9PTkxZIDB4MDEwMAo+ID4gICNkZWZpbmUg RFJNX01PREVfQVRPTUlDX05PTkJMT0NLICAweDAyMDAKPiA+ICAjZGVmaW5lIERSTV9NT0RFX0FU T01JQ19BTExPV19NT0RFU0VUIDB4MDQwMAo+ID4gKyNkZWZpbmUgRFJNX01PREVfQVRPTUlDX0FT WU5DX1VQREFURSAweDA4MDAKPiAKPiBXaGF0IGV4YWN0bHkgaXMgdGhhdCBmbGFnIHN1cHBvc2Vk IHRvIG1lYW4/CgpJIGRvbid0IHRoaW5rIEkgcHJvdmlkZWQgYSBnb29kIGV4cGxhbmF0aW9uIGZv ciBpdCwgc29ycnkuIFRoaXMgZmxhZwp0ZWxscyBjb3JlIHRvIGp1bXAgYWhlYWQgdGhlIHF1ZXVl ZCB1cGRhdGUgaWYgdGhlIGNvbmRpdGlvbnMgaW4gCmRybV9hdG9taWNfYXN5bmNfY2hlY2soKSBh cmUgbWV0LiBVc2VmdWwgZm9yIGN1cnNvcnMgYW5kIGFzeW5jIFBhZ2VGbGlwcwpvdmVyIHRoZSBh dG9taWMgaW9jdGwuCgpHdXN0YXZvCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2RyaS1kZXZlbAo=