From mboxrd@z Thu Jan 1 00:00:00 1970 From: Robert Foss Subject: Re: [RFC 7/7] drm/vc4: update cursors asynchronously through atomic Date: Thu, 18 May 2017 18:52:49 -0400 Message-ID: <73d8ae61-e560-c20c-ce31-c833cd905bfb@collabora.com> References: <20170410002448.12460-1-gustavo@padovan.org> <20170410002448.12460-8-gustavo@padovan.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from bhuna.collabora.co.uk (bhuna.collabora.co.uk [IPv6:2a00:1098:0:82:1000:25:2eeb:e3e3]) by gabe.freedesktop.org (Postfix) with ESMTPS id EE0766E00F for ; Thu, 18 May 2017 22:52:55 +0000 (UTC) In-Reply-To: <20170410002448.12460-8-gustavo@padovan.org> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org SGV5LAoKSSByYW4gdGhlIHNlcmllcyBvbiBhIFJQaTIgYW5kIHRoZSBjdXJzb3Igc2VlbXMgdG8g YmVoYXZlIGNvcnJlY3RseS4KClRlc3RlZC1ieTogUm9iZXJ0IEZvc3MgPHJvYmVydC5mb3NzQGNv bGxhYm9yYS5jb20+CgpPbiAyMDE3LTA0LTA5IDA4OjI0IFBNLCBHdXN0YXZvIFBhZG92YW4gd3Jv dGU6Cj4gRnJvbTogR3VzdGF2byBQYWRvdmFuIDxndXN0YXZvLnBhZG92YW5AY29sbGFib3JhLmNv bT4KPiAKPiBBZGQgc3VwcG9ydCB0byBhc3luYyB1cGRhdGVzIG9mIGN1cnNvcnMgYnkgdXNpbmcg dGhlIG5ldyBhdG9taWMKPiBpbnRlcmZhY2UgZm9yIHRoYXQuIEJhc2ljYWxseSB3aGF0IHRoaXMg Y29tbWl0IGRvZXMgaXMgZG8gd2hhdAo+IHZjNF91cGRhdGVfcGxhbmUoKSBkaWQgYnV0IHRocm91 Z2ggYXRvbWljLgo+IAo+IENjOiBFcmljIEFuaG9sdCA8ZXJpY0BhbmhvbHQubmV0Pgo+IFNpZ25l ZC1vZmYtYnk6IEd1c3Rhdm8gUGFkb3ZhbiA8Z3VzdGF2by5wYWRvdmFuQGNvbGxhYm9yYS5jb20+ Cj4gLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9wbGFuZS5jIHwgOTQgKysrKysrKysr KysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgIDEgZmlsZSBjaGFuZ2VkLCAyNyBp bnNlcnRpb25zKCspLCA2NyBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL3ZjNC92YzRfcGxhbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X3BsYW5lLmMK PiBpbmRleCBkMzRjZDUzLi5lMzNjNzViIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS92 YzQvdmM0X3BsYW5lLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9wbGFuZS5jCj4g QEAgLTczNSw3MCArNzM1LDI3IEBAIHZvaWQgdmM0X3BsYW5lX2FzeW5jX3NldF9mYihzdHJ1Y3Qg ZHJtX3BsYW5lICpwbGFuZSwgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIpCj4gICAJdmM0X3N0 YXRlLT5kbGlzdFt2YzRfc3RhdGUtPnB0cjBfb2Zmc2V0XSA9IGFkZHI7Cj4gICB9Cj4gICAKPiAt c3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfaGVscGVyX2Z1bmNzIHZjNF9wbGFuZV9oZWxw ZXJfZnVuY3MgPSB7Cj4gLQkuYXRvbWljX2NoZWNrID0gdmM0X3BsYW5lX2F0b21pY19jaGVjaywK PiAtCS5hdG9taWNfdXBkYXRlID0gdmM0X3BsYW5lX2F0b21pY191cGRhdGUsCj4gLX07Cj4gLQo+ IC1zdGF0aWMgdm9pZCB2YzRfcGxhbmVfZGVzdHJveShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkK PiAtewo+IC0JZHJtX3BsYW5lX2hlbHBlcl9kaXNhYmxlKHBsYW5lKTsKPiAtCWRybV9wbGFuZV9j bGVhbnVwKHBsYW5lKTsKPiAtfQo+IC0KPiAtLyogSW1wbGVtZW50cyBpbW1lZGlhdGUgKG5vbi12 Ymxhbmstc3luY2VkKSB1cGRhdGVzIG9mIHRoZSBjdXJzb3IKPiAtICogcG9zaXRpb24sIG9yIGZh bGxzIGJhY2sgdG8gdGhlIGF0b21pYyBoZWxwZXIgb3RoZXJ3aXNlLgo+IC0gKi8KPiAtc3RhdGlj IGludAo+IC12YzRfdXBkYXRlX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+IC0JCSBz dHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gLQkJIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLAo+ IC0JCSBpbnQgY3J0Y194LCBpbnQgY3J0Y195LAo+IC0JCSB1bnNpZ25lZCBpbnQgY3J0Y193LCB1 bnNpZ25lZCBpbnQgY3J0Y19oLAo+IC0JCSB1aW50MzJfdCBzcmNfeCwgdWludDMyX3Qgc3JjX3ks Cj4gLQkJIHVpbnQzMl90IHNyY193LCB1aW50MzJfdCBzcmNfaCwKPiAtCQkgc3RydWN0IGRybV9t b2Rlc2V0X2FjcXVpcmVfY3R4ICpjdHgpCj4gK3N0YXRpYyBpbnQgdmM0X3BsYW5lX2F0b21pY19h c3luY19jaGVjayhzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiArCQkJCQlzdHJ1Y3QgZHJtX3Bs YW5lX3N0YXRlICpzdGF0ZSkKPiAgIHsKPiAtCXN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnBsYW5l X3N0YXRlOwo+IC0Jc3RydWN0IHZjNF9wbGFuZV9zdGF0ZSAqdmM0X3N0YXRlOwo+IC0KPiAtCWlm IChwbGFuZSAhPSBjcnRjLT5jdXJzb3IpCj4gLQkJZ290byBvdXQ7Cj4gLQo+IC0JcGxhbmVfc3Rh dGUgPSBwbGFuZS0+c3RhdGU7Cj4gLQl2YzRfc3RhdGUgPSB0b192YzRfcGxhbmVfc3RhdGUocGxh bmVfc3RhdGUpOwo+IC0KPiAtCWlmICghcGxhbmVfc3RhdGUpCj4gLQkJZ290byBvdXQ7Cj4gKwlp ZiAocGxhbmUgIT0gc3RhdGUtPmNydGMtPmN1cnNvcikKPiArCQlyZXR1cm4gLUVJTlZBTDsKPiAg IAo+IC0JLyogTm8gY29uZmlndXJpbmcgbmV3IHNjYWxpbmcgaW4gdGhlIGZhc3QgcGF0aC4gKi8K PiAtCWlmIChjcnRjX3cgIT0gcGxhbmVfc3RhdGUtPmNydGNfdyB8fAo+IC0JICAgIGNydGNfaCAh PSBwbGFuZV9zdGF0ZS0+Y3J0Y19oIHx8Cj4gLQkgICAgc3JjX3cgIT0gcGxhbmVfc3RhdGUtPnNy Y193IHx8Cj4gLQkgICAgc3JjX2ggIT0gcGxhbmVfc3RhdGUtPnNyY19oKSB7Cj4gLQkJZ290byBv dXQ7Cj4gLQl9Cj4gKwlpZiAoIXBsYW5lLT5zdGF0ZSkKPiArCQlyZXR1cm4gLUVJTlZBTDsKPiAg IAo+IC0JaWYgKGZiICE9IHBsYW5lX3N0YXRlLT5mYikgewo+IC0JCWRybV9hdG9taWNfc2V0X2Zi X2Zvcl9wbGFuZShwbGFuZS0+c3RhdGUsIGZiKTsKPiAtCQl2YzRfcGxhbmVfYXN5bmNfc2V0X2Zi KHBsYW5lLCBmYik7Cj4gLQl9Cj4gKwlyZXR1cm4gMDsKPiArfQo+ICAgCj4gLQkvKiBTZXQgdGhl IGN1cnNvcidzIHBvc2l0aW9uIG9uIHRoZSBzY3JlZW4uICBUaGlzIGlzIHRoZQo+IC0JICogZXhw ZWN0ZWQgY2hhbmdlIGZyb20gdGhlIGRybV9tb2RlX2N1cnNvcl91bml2ZXJzYWwoKQo+IC0JICog aGVscGVyLgo+IC0JICovCj4gLQlwbGFuZV9zdGF0ZS0+Y3J0Y194ID0gY3J0Y194Owo+IC0JcGxh bmVfc3RhdGUtPmNydGNfeSA9IGNydGNfeTsKPiArc3RhdGljIHZvaWQgdmM0X3BsYW5lX2F0b21p Y19hc3luY191cGRhdGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gKwkJCQkJICBzdHJ1Y3Qg ZHJtX3BsYW5lX3N0YXRlICpuZXdfc3RhdGUpCj4gK3sKPiArCXN0cnVjdCB2YzRfcGxhbmVfc3Rh dGUgKnZjNF9zdGF0ZSA9IHRvX3ZjNF9wbGFuZV9zdGF0ZShwbGFuZS0+c3RhdGUpOwo+ICAgCj4g LQkvKiBBbGxvdyBjaGFuZ2luZyB0aGUgc3RhcnQgcG9zaXRpb24gd2l0aGluIHRoZSBjdXJzb3Ig Qk8sIGlmCj4gLQkgKiB0aGF0IG1hdHRlcnMuCj4gLQkgKi8KPiAtCXBsYW5lX3N0YXRlLT5zcmNf eCA9IHNyY194Owo+IC0JcGxhbmVfc3RhdGUtPnNyY195ID0gc3JjX3k7Cj4gKwlpZiAocGxhbmUt PnN0YXRlLT5mYiAhPSBuZXdfc3RhdGUtPmZiKQo+ICsJCXZjNF9wbGFuZV9hc3luY19zZXRfZmIo cGxhbmUsIG5ld19zdGF0ZS0+ZmIpOwo+ICAgCj4gLQkvKiBVcGRhdGUgdGhlIGRpc3BsYXkgbGlz dCBiYXNlZCBvbiB0aGUgbmV3IGNydGNfeC95LiAqLwo+IC0JdmM0X3BsYW5lX2F0b21pY19jaGVj ayhwbGFuZSwgcGxhbmVfc3RhdGUpOwo+ICsJcGxhbmUtPnN0YXRlLT5mYiA9IG5ld19zdGF0ZS0+ ZmI7Cj4gICAKPiAgIAkvKiBOb3RlIHRoYXQgd2UgY2FuJ3QganVzdCBjYWxsIHZjNF9wbGFuZV93 cml0ZV9kbGlzdCgpCj4gICAJICogYmVjYXVzZSB0aGF0IHdvdWxkIHNtYXNoIHRoZSBjb250ZXh0 IGRhdGEgdGhhdCB0aGUgSFZTIGlzCj4gQEAgLTgxMCwyMCArNzY3LDIzIEBAIHZjNF91cGRhdGVf cGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gICAJICAgICAgICZ2YzRfc3RhdGUtPmh3 X2RsaXN0W3ZjNF9zdGF0ZS0+cG9zMl9vZmZzZXRdKTsKPiAgIAl3cml0ZWwodmM0X3N0YXRlLT5k bGlzdFt2YzRfc3RhdGUtPnB0cjBfb2Zmc2V0XSwKPiAgIAkgICAgICAgJnZjNF9zdGF0ZS0+aHdf ZGxpc3RbdmM0X3N0YXRlLT5wdHIwX29mZnNldF0pOwo+ICt9Cj4gICAKPiAtCXJldHVybiAwOwo+ ICtzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9wbGFuZV9oZWxwZXJfZnVuY3MgdmM0X3BsYW5lX2hl bHBlcl9mdW5jcyA9IHsKPiArCS5hdG9taWNfY2hlY2sgPSB2YzRfcGxhbmVfYXRvbWljX2NoZWNr LAo+ICsJLmF0b21pY191cGRhdGUgPSB2YzRfcGxhbmVfYXRvbWljX3VwZGF0ZSwKPiArCS5hdG9t aWNfYXN5bmNfY2hlY2sgPSB2YzRfcGxhbmVfYXRvbWljX2FzeW5jX2NoZWNrLAo+ICsJLmF0b21p Y19hc3luY191cGRhdGUgPSB2YzRfcGxhbmVfYXRvbWljX2FzeW5jX3VwZGF0ZSwKPiArfTsKPiAg IAo+IC1vdXQ6Cj4gLQlyZXR1cm4gZHJtX2F0b21pY19oZWxwZXJfdXBkYXRlX3BsYW5lKHBsYW5l LCBjcnRjLCBmYiwKPiAtCQkJCQkgICAgICBjcnRjX3gsIGNydGNfeSwKPiAtCQkJCQkgICAgICBj cnRjX3csIGNydGNfaCwKPiAtCQkJCQkgICAgICBzcmNfeCwgc3JjX3ksCj4gLQkJCQkJICAgICAg c3JjX3csIHNyY19oLAo+IC0JCQkJCSAgICAgIGN0eCk7Cj4gK3N0YXRpYyB2b2lkIHZjNF9wbGFu ZV9kZXN0cm95KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lKQo+ICt7Cj4gKwlkcm1fcGxhbmVfaGVs cGVyX2Rpc2FibGUocGxhbmUpOwo+ICsJZHJtX3BsYW5lX2NsZWFudXAocGxhbmUpOwo+ICAgfQo+ ICAgCj4gICBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9wbGFuZV9mdW5jcyB2YzRfcGxhbmVfZnVu Y3MgPSB7Cj4gLQkudXBkYXRlX3BsYW5lID0gdmM0X3VwZGF0ZV9wbGFuZSwKPiArCS51cGRhdGVf cGxhbmUgPSBkcm1fYXRvbWljX2hlbHBlcl91cGRhdGVfcGxhbmUsCj4gICAJLmRpc2FibGVfcGxh bmUgPSBkcm1fYXRvbWljX2hlbHBlcl9kaXNhYmxlX3BsYW5lLAo+ICAgCS5kZXN0cm95ID0gdmM0 X3BsYW5lX2Rlc3Ryb3ksCj4gICAJLnNldF9wcm9wZXJ0eSA9IE5VTEwsCj4gCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxp c3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=