From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gustavo Padovan Subject: Re: [RFC v2 3/7] drm/i915: update cursors asynchronously through atomic Date: Thu, 27 Apr 2017 16:39:47 -0300 Message-ID: <20170427193947.GC2568@joana> References: <20170427151519.8308-1-gustavo@padovan.org> <20170427151519.8308-4-gustavo@padovan.org> <20170427154100.GP30290@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-qk0-f195.google.com (mail-qk0-f195.google.com [209.85.220.195]) by gabe.freedesktop.org (Postfix) with ESMTPS id E6DB16E137 for ; Thu, 27 Apr 2017 19:39:50 +0000 (UTC) Received: by mail-qk0-f195.google.com with SMTP id a19so6188216qkg.2 for ; Thu, 27 Apr 2017 12:39:50 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20170427154100.GP30290@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+OgoKPiBPbiBUaHUsIEFwciAyNywgMjAxNyBhdCAxMjoxNToxNVBNIC0wMzAw LCBHdXN0YXZvIFBhZG92YW4gd3JvdGU6Cj4gPiBGcm9tOiBHdXN0YXZvIFBhZG92YW4gPGd1c3Rh dm8ucGFkb3ZhbkBjb2xsYWJvcmEuY29tPgo+ID4gCj4gPiBBZGQgc3VwcG9ydCB0byBhc3luYyB1 cGRhdGVzIG9mIGN1cnNvcnMgYnkgdXNpbmcgdGhlIG5ldyBhdG9taWMKPiA+IGludGVyZmFjZSBm b3IgdGhhdC4gQmFzaWNhbGx5IHdoYXQgdGhpcyBjb21taXQgZG9lcyBpcyBkbyB3aGF0Cj4gPiBp bnRlbF9sZWdhY3lfY3Vyc29yX3VwZGF0ZSgpIGRpZCBidXQgdGhyb3VnaCBhdG9taWMuCj4gPiAK PiA+IHYyOiBtb3ZlIGZiIHNldHRpbmcgdG8gY29yZSBhbmQgdXNlIG5ldyBzdGF0ZSAoRXJpYyBB bmhvbHQpCj4gPiAKPiA+IENjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGludGVsLmNv bT4KPiA+IFNpZ25lZC1vZmYtYnk6IEd1c3Rhdm8gUGFkb3ZhbiA8Z3VzdGF2by5wYWRvdmFuQGNv bGxhYm9yYS5jb20+Cj4gPiAtLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdG9t aWNfcGxhbmUuYyB8ICA1MiArKysrKysrKysrKwo+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rpc3BsYXkuYyAgICAgIHwgMTQ3ICsrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ ID4gIDIgZmlsZXMgY2hhbmdlZCwgNzMgaW5zZXJ0aW9ucygrKSwgMTI2IGRlbGV0aW9ucygtKQo+ ID4gCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRvbWljX3Bs YW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdG9taWNfcGxhbmUuYwo+ID4gaW5k ZXggY2ZiNDcyOS4uYzVkMDU5NiAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2F0b21pY19wbGFuZS5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9hdG9taWNfcGxhbmUuYwo+ID4gQEAgLTI0NiwxMSArMjQ2LDYzIEBAIHN0YXRpYyB2b2lkIGlu dGVsX3BsYW5lX2F0b21pY191cGRhdGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gPiAgCX0K PiA+ICB9Cj4gPiAgCj4gPiArc3RhdGljIGludCBpbnRlbF9wbGFuZV9hdG9taWNfYXN5bmNfY2hl Y2soc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gPiArCQkJCQkgIHN0cnVjdCBkcm1fcGxhbmVf c3RhdGUgKnN0YXRlKQo+ID4gK3sKPiA+ICsJc3RydWN0IGRybV9jcnRjICpjcnRjID0gcGxhbmUt PnN0YXRlLT5jcnRjOwo+ID4gKwlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUgPSBj cnRjLT5zdGF0ZTsKPiA+ICsKPiA+ICsJaWYgKHBsYW5lLT50eXBlICE9IERSTV9QTEFORV9UWVBF X0NVUlNPUikKPiA+ICsJCXJldHVybiAtRUlOVkFMOwo+ID4gKwo+ID4gKwkvKgo+ID4gKwkgKiBX aGVuIGNydGMgaXMgaW5hY3RpdmUgb3IgdGhlcmUgaXMgYSBtb2Rlc2V0IHBlbmRpbmcsCj4gPiAr CSAqIHdhaXQgZm9yIGl0IHRvIGNvbXBsZXRlIGluIHRoZSBzbG93cGF0aAo+ID4gKwkgKi8KPiA+ ICsJaWYgKCFjcnRjX3N0YXRlLT5hY3RpdmUgfHwgdG9faW50ZWxfY3J0Y19zdGF0ZShjcnRjX3N0 YXRlKS0+dXBkYXRlX3BpcGUpCj4gPiArCQlyZXR1cm4gLUVJTlZBTDsKPiA+ICsKPiA+ICsJLyog T25seSBjaGFuZ2luZyBmYiBzaG91bGQgYmUgaW4gdGhlIGZhc3RwYXRoLiAgKi8KPiAKPiBObywg d2Ugd2FudCBjdXJzb3IgbW92ZW1lbnQgdGhlcmUgYXMgd2VsbC4gSXQncyBzb21ld2hhdCBpbXBv c3NpYmxlCj4gdG8gc2VlIGZyb20gdGhpcyBjb2RlIG5vdyB0aGF0IHRoZSBjb3JlIGhhcyB0aGUg c2l6ZSBjaGVja3MuIEJ1dCBldmVuCj4gc28gdGhlIGNvbW1lbnQgc2hvdWxkIG5vdCBsaWUuCgpT dXJlLCBJJ2xsIGZpeCB0aGUgY29tbWVudC4KCj4gCj4gPiArCWlmICghcGxhbmUtPnN0YXRlLT5m YiAhPSAhc3RhdGUtPmZiKQo+ID4gKwkJcmV0dXJuIC1FSU5WQUw7Cj4gPiArCj4gPiArCXJldHVy biAwOwo+ID4gK30KPiA+ICsKPiA+ICtzdGF0aWMgdm9pZCBpbnRlbF9wbGFuZV9hdG9taWNfYXN5 bmNfdXBkYXRlKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ID4gKwkJCQkJICAgIHN0cnVjdCBk cm1fcGxhbmVfc3RhdGUgKm5ld19zdGF0ZSkKPiA+ICt7Cj4gPiArCXN0cnVjdCBpbnRlbF9wbGFu ZSAqaW50ZWxfcGxhbmUgPSB0b19pbnRlbF9wbGFuZShwbGFuZSk7Cj4gPiArCXN0cnVjdCBkcm1f Y3J0YyAqY3J0YyA9IHBsYW5lLT5zdGF0ZS0+Y3J0YzsKPiA+ICsKPiA+ICsJaTkxNV9nZW1fdHJh Y2tfZmIoaW50ZWxfZmJfb2JqKHBsYW5lLT5zdGF0ZS0+ZmIpLAo+ID4gKwkJCSAgaW50ZWxfZmJf b2JqKG5ld19zdGF0ZS0+ZmIpLAo+ID4gKwkJCSAgaW50ZWxfcGxhbmUtPmZyb250YnVmZmVyX2Jp dCk7Cj4gPiArCj4gPiArCSp0b19pbnRlbF9wbGFuZV9zdGF0ZShwbGFuZS0+c3RhdGUpID0gKnRv X2ludGVsX3BsYW5lX3N0YXRlKG5ld19zdGF0ZSk7Cj4gPiArCXRvX2ludGVsX3BsYW5lX3N0YXRl KG5ld19zdGF0ZSktPnZtYSA9Cj4gPiArCQkJCQl0b19pbnRlbF9wbGFuZV9zdGF0ZShwbGFuZS0+ c3RhdGUpLT52bWE7Cj4gPiArCj4gPiArCXBsYW5lLT5zdGF0ZS0+dmlzaWJsZSA9IG5ld19zdGF0 ZS0+dmlzaWJsZTsKPiA+ICsKPiA+ICsJaWYgKHBsYW5lLT5zdGF0ZS0+dmlzaWJsZSkgewo+ID4g KwkJdHJhY2VfaW50ZWxfdXBkYXRlX3BsYW5lKHBsYW5lLCB0b19pbnRlbF9jcnRjKGNydGMpKTsK PiA+ICsJCWludGVsX3BsYW5lLT51cGRhdGVfcGxhbmUocGxhbmUsCj4gPiArCQkJCQkgIHRvX2lu dGVsX2NydGNfc3RhdGUoY3J0Yy0+c3RhdGUpLAo+ID4gKwkJCQkJICB0b19pbnRlbF9wbGFuZV9z dGF0ZShuZXdfc3RhdGUpKTsKPiA+ICsJfSBlbHNlIHsKPiA+ICsJCXRyYWNlX2ludGVsX2Rpc2Fi bGVfcGxhbmUocGxhbmUsIHRvX2ludGVsX2NydGMoY3J0YykpOwo+ID4gKwkJaW50ZWxfcGxhbmUt PmRpc2FibGVfcGxhbmUocGxhbmUsIGNydGMpOwo+ID4gKwl9Cj4gPiArfQo+ID4gKwo+ID4gIGNv bnN0IHN0cnVjdCBkcm1fcGxhbmVfaGVscGVyX2Z1bmNzIGludGVsX3BsYW5lX2hlbHBlcl9mdW5j cyA9IHsKPiA+ICAJLnByZXBhcmVfZmIgPSBpbnRlbF9wcmVwYXJlX3BsYW5lX2ZiLAo+ID4gIAku Y2xlYW51cF9mYiA9IGludGVsX2NsZWFudXBfcGxhbmVfZmIsCj4gPiAgCS5hdG9taWNfY2hlY2sg PSBpbnRlbF9wbGFuZV9hdG9taWNfY2hlY2ssCj4gPiAgCS5hdG9taWNfdXBkYXRlID0gaW50ZWxf cGxhbmVfYXRvbWljX3VwZGF0ZSwKPiA+ICsJLmF0b21pY19hc3luY19jaGVjayA9IGludGVsX3Bs YW5lX2F0b21pY19hc3luY19jaGVjaywKPiA+ICsJLmF0b21pY19hc3luY191cGRhdGUgPSBpbnRl bF9wbGFuZV9hdG9taWNfYXN5bmNfdXBkYXRlLAo+IAo+IE5BSy4gV2UgZG9uJ3Qgd2FudCB0aGVz ZSAiYXN5bmMiIHVwZGF0ZXMgZm9yIGFueXRoaW5nIGJ1dCBjdXJzb3JzLgoKWWVzLCB3ZSBkby4g QXN5bmMgUGFnZUZsaXBzIHdpbGwgZ28gdGhyb3VnaCBoZXJlIGFzIHdlbGwuIFRoYXQgc2VlbXMg YQpWUiByZXF1aXJlbWVudCBhcyB3ZWxsLgoKR3VzdGF2bwoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2 ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==