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:55:56 -0400 Message-ID: <02b5158f-3724-e7b7-7aea-bb951e0adcb8@collabora.com> References: <20170410002448.12460-1-gustavo@padovan.org> <20170410002448.12460-8-gustavo@padovan.org> <73d8ae61-e560-c20c-ce31-c833cd905bfb@collabora.com> 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 8174988FA0 for ; Thu, 18 May 2017 22:56:00 +0000 (UTC) In-Reply-To: <73d8ae61-e560-c20c-ce31-c833cd905bfb@collabora.com> 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 U29ycnkgYWJvdXQgdGhlIHNwYW0sIGJ1dCB0aGUgcHJldmlvdXMgcmVwbHkgd2FzIGludGVuZGVk IGZvcgpbUkZDIHYzIDcvOF0gZHJtL3ZjNDogdXBkYXRlIGN1cnNvcnMgYXN5bmNocm9ub3VzbHkg dGhyb3VnaCBhdG9taWMKCgpPbiAyMDE3LTA1LTE4IDA2OjUyIFBNLCBSb2JlcnQgRm9zcyB3cm90 ZToKPiBIZXksCj4gCj4gSSByYW4gdGhlIHNlcmllcyBvbiBhIFJQaTIgYW5kIHRoZSBjdXJzb3Ig c2VlbXMgdG8gYmVoYXZlIGNvcnJlY3RseS4KPiAKPiBUZXN0ZWQtYnk6IFJvYmVydCBGb3NzIDxy b2JlcnQuZm9zc0Bjb2xsYWJvcmEuY29tPgo+IAo+IE9uIDIwMTctMDQtMDkgMDg6MjQgUE0sIEd1 c3Rhdm8gUGFkb3ZhbiB3cm90ZToKPj4gRnJvbTogR3VzdGF2byBQYWRvdmFuIDxndXN0YXZvLnBh ZG92YW5AY29sbGFib3JhLmNvbT4KPj4KPj4gQWRkIHN1cHBvcnQgdG8gYXN5bmMgdXBkYXRlcyBv ZiBjdXJzb3JzIGJ5IHVzaW5nIHRoZSBuZXcgYXRvbWljCj4+IGludGVyZmFjZSBmb3IgdGhhdC4g QmFzaWNhbGx5IHdoYXQgdGhpcyBjb21taXQgZG9lcyBpcyBkbyB3aGF0Cj4+IHZjNF91cGRhdGVf cGxhbmUoKSBkaWQgYnV0IHRocm91Z2ggYXRvbWljLgo+Pgo+PiBDYzogRXJpYyBBbmhvbHQgPGVy aWNAYW5ob2x0Lm5ldD4KPj4gU2lnbmVkLW9mZi1ieTogR3VzdGF2byBQYWRvdmFuIDxndXN0YXZv LnBhZG92YW5AY29sbGFib3JhLmNvbT4KPj4gLS0tCj4+ICAgZHJpdmVycy9ncHUvZHJtL3ZjNC92 YzRfcGxhbmUuYyB8IDk0ICsrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Cj4+ICAgMSBmaWxlIGNoYW5nZWQsIDI3IGluc2VydGlvbnMoKyksIDY3IGRlbGV0aW9ucygtKQo+ Pgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfcGxhbmUuYyBiL2RyaXZl cnMvZ3B1L2RybS92YzQvdmM0X3BsYW5lLmMKPj4gaW5kZXggZDM0Y2Q1My4uZTMzYzc1YiAxMDA2 NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfcGxhbmUuYwo+PiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vdmM0L3ZjNF9wbGFuZS5jCj4+IEBAIC03MzUsNzAgKzczNSwyNyBAQCB2b2lk IHZjNF9wbGFuZV9hc3luY19zZXRfZmIoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsIAo+PiBzdHJ1 Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYikKPj4gICAgICAgdmM0X3N0YXRlLT5kbGlzdFt2YzRfc3Rh dGUtPnB0cjBfb2Zmc2V0XSA9IGFkZHI7Cj4+ICAgfQo+PiAtc3RhdGljIGNvbnN0IHN0cnVjdCBk cm1fcGxhbmVfaGVscGVyX2Z1bmNzIHZjNF9wbGFuZV9oZWxwZXJfZnVuY3MgPSB7Cj4+IC0gICAg LmF0b21pY19jaGVjayA9IHZjNF9wbGFuZV9hdG9taWNfY2hlY2ssCj4+IC0gICAgLmF0b21pY191 cGRhdGUgPSB2YzRfcGxhbmVfYXRvbWljX3VwZGF0ZSwKPj4gLX07Cj4+IC0KPj4gLXN0YXRpYyB2 b2lkIHZjNF9wbGFuZV9kZXN0cm95KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lKQo+PiAtewo+PiAt ICAgIGRybV9wbGFuZV9oZWxwZXJfZGlzYWJsZShwbGFuZSk7Cj4+IC0gICAgZHJtX3BsYW5lX2Ns ZWFudXAocGxhbmUpOwo+PiAtfQo+PiAtCj4+IC0vKiBJbXBsZW1lbnRzIGltbWVkaWF0ZSAobm9u LXZibGFuay1zeW5jZWQpIHVwZGF0ZXMgb2YgdGhlIGN1cnNvcgo+PiAtICogcG9zaXRpb24sIG9y IGZhbGxzIGJhY2sgdG8gdGhlIGF0b21pYyBoZWxwZXIgb3RoZXJ3aXNlLgo+PiAtICovCj4+IC1z dGF0aWMgaW50Cj4+IC12YzRfdXBkYXRlX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ PiAtICAgICAgICAgc3RydWN0IGRybV9jcnRjICpjcnRjLAo+PiAtICAgICAgICAgc3RydWN0IGRy bV9mcmFtZWJ1ZmZlciAqZmIsCj4+IC0gICAgICAgICBpbnQgY3J0Y194LCBpbnQgY3J0Y195LAo+ PiAtICAgICAgICAgdW5zaWduZWQgaW50IGNydGNfdywgdW5zaWduZWQgaW50IGNydGNfaCwKPj4g LSAgICAgICAgIHVpbnQzMl90IHNyY194LCB1aW50MzJfdCBzcmNfeSwKPj4gLSAgICAgICAgIHVp bnQzMl90IHNyY193LCB1aW50MzJfdCBzcmNfaCwKPj4gLSAgICAgICAgIHN0cnVjdCBkcm1fbW9k ZXNldF9hY3F1aXJlX2N0eCAqY3R4KQo+PiArc3RhdGljIGludCB2YzRfcGxhbmVfYXRvbWljX2Fz eW5jX2NoZWNrKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+PiArICAgICAgICAgICAgICAgICAg ICBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpzdGF0ZSkKPj4gICB7Cj4+IC0gICAgc3RydWN0IGRy bV9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGU7Cj4+IC0gICAgc3RydWN0IHZjNF9wbGFuZV9zdGF0 ZSAqdmM0X3N0YXRlOwo+PiAtCj4+IC0gICAgaWYgKHBsYW5lICE9IGNydGMtPmN1cnNvcikKPj4g LSAgICAgICAgZ290byBvdXQ7Cj4+IC0KPj4gLSAgICBwbGFuZV9zdGF0ZSA9IHBsYW5lLT5zdGF0 ZTsKPj4gLSAgICB2YzRfc3RhdGUgPSB0b192YzRfcGxhbmVfc3RhdGUocGxhbmVfc3RhdGUpOwo+ PiAtCj4+IC0gICAgaWYgKCFwbGFuZV9zdGF0ZSkKPj4gLSAgICAgICAgZ290byBvdXQ7Cj4+ICsg ICAgaWYgKHBsYW5lICE9IHN0YXRlLT5jcnRjLT5jdXJzb3IpCj4+ICsgICAgICAgIHJldHVybiAt RUlOVkFMOwo+PiAtICAgIC8qIE5vIGNvbmZpZ3VyaW5nIG5ldyBzY2FsaW5nIGluIHRoZSBmYXN0 IHBhdGguICovCj4+IC0gICAgaWYgKGNydGNfdyAhPSBwbGFuZV9zdGF0ZS0+Y3J0Y193IHx8Cj4+ IC0gICAgICAgIGNydGNfaCAhPSBwbGFuZV9zdGF0ZS0+Y3J0Y19oIHx8Cj4+IC0gICAgICAgIHNy Y193ICE9IHBsYW5lX3N0YXRlLT5zcmNfdyB8fAo+PiAtICAgICAgICBzcmNfaCAhPSBwbGFuZV9z dGF0ZS0+c3JjX2gpIHsKPj4gLSAgICAgICAgZ290byBvdXQ7Cj4+IC0gICAgfQo+PiArICAgIGlm ICghcGxhbmUtPnN0YXRlKQo+PiArICAgICAgICByZXR1cm4gLUVJTlZBTDsKPj4gLSAgICBpZiAo ZmIgIT0gcGxhbmVfc3RhdGUtPmZiKSB7Cj4+IC0gICAgICAgIGRybV9hdG9taWNfc2V0X2ZiX2Zv cl9wbGFuZShwbGFuZS0+c3RhdGUsIGZiKTsKPj4gLSAgICAgICAgdmM0X3BsYW5lX2FzeW5jX3Nl dF9mYihwbGFuZSwgZmIpOwo+PiAtICAgIH0KPj4gKyAgICByZXR1cm4gMDsKPj4gK30KPj4gLSAg ICAvKiBTZXQgdGhlIGN1cnNvcidzIHBvc2l0aW9uIG9uIHRoZSBzY3JlZW4uICBUaGlzIGlzIHRo ZQo+PiAtICAgICAqIGV4cGVjdGVkIGNoYW5nZSBmcm9tIHRoZSBkcm1fbW9kZV9jdXJzb3JfdW5p dmVyc2FsKCkKPj4gLSAgICAgKiBoZWxwZXIuCj4+IC0gICAgICovCj4+IC0gICAgcGxhbmVfc3Rh dGUtPmNydGNfeCA9IGNydGNfeDsKPj4gLSAgICBwbGFuZV9zdGF0ZS0+Y3J0Y195ID0gY3J0Y195 Owo+PiArc3RhdGljIHZvaWQgdmM0X3BsYW5lX2F0b21pY19hc3luY191cGRhdGUoc3RydWN0IGRy bV9wbGFuZSAqcGxhbmUsCj4+ICsgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGRybV9wbGFu ZV9zdGF0ZSAqbmV3X3N0YXRlKQo+PiArewo+PiArICAgIHN0cnVjdCB2YzRfcGxhbmVfc3RhdGUg KnZjNF9zdGF0ZSA9IHRvX3ZjNF9wbGFuZV9zdGF0ZShwbGFuZS0+c3RhdGUpOwo+PiAtICAgIC8q IEFsbG93IGNoYW5naW5nIHRoZSBzdGFydCBwb3NpdGlvbiB3aXRoaW4gdGhlIGN1cnNvciBCTywg aWYKPj4gLSAgICAgKiB0aGF0IG1hdHRlcnMuCj4+IC0gICAgICovCj4+IC0gICAgcGxhbmVfc3Rh dGUtPnNyY194ID0gc3JjX3g7Cj4+IC0gICAgcGxhbmVfc3RhdGUtPnNyY195ID0gc3JjX3k7Cj4+ ICsgICAgaWYgKHBsYW5lLT5zdGF0ZS0+ZmIgIT0gbmV3X3N0YXRlLT5mYikKPj4gKyAgICAgICAg dmM0X3BsYW5lX2FzeW5jX3NldF9mYihwbGFuZSwgbmV3X3N0YXRlLT5mYik7Cj4+IC0gICAgLyog VXBkYXRlIHRoZSBkaXNwbGF5IGxpc3QgYmFzZWQgb24gdGhlIG5ldyBjcnRjX3gveS4gKi8KPj4g LSAgICB2YzRfcGxhbmVfYXRvbWljX2NoZWNrKHBsYW5lLCBwbGFuZV9zdGF0ZSk7Cj4+ICsgICAg cGxhbmUtPnN0YXRlLT5mYiA9IG5ld19zdGF0ZS0+ZmI7Cj4+ICAgICAgIC8qIE5vdGUgdGhhdCB3 ZSBjYW4ndCBqdXN0IGNhbGwgdmM0X3BsYW5lX3dyaXRlX2RsaXN0KCkKPj4gICAgICAgICogYmVj YXVzZSB0aGF0IHdvdWxkIHNtYXNoIHRoZSBjb250ZXh0IGRhdGEgdGhhdCB0aGUgSFZTIGlzCj4+ IEBAIC04MTAsMjAgKzc2NywyMyBAQCB2YzRfdXBkYXRlX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUg KnBsYW5lLAo+PiAgICAgICAgICAgICAgJnZjNF9zdGF0ZS0+aHdfZGxpc3RbdmM0X3N0YXRlLT5w b3MyX29mZnNldF0pOwo+PiAgICAgICB3cml0ZWwodmM0X3N0YXRlLT5kbGlzdFt2YzRfc3RhdGUt PnB0cjBfb2Zmc2V0XSwKPj4gICAgICAgICAgICAgICZ2YzRfc3RhdGUtPmh3X2RsaXN0W3ZjNF9z dGF0ZS0+cHRyMF9vZmZzZXRdKTsKPj4gK30KPj4gLSAgICByZXR1cm4gMDsKPj4gK3N0YXRpYyBj b25zdCBzdHJ1Y3QgZHJtX3BsYW5lX2hlbHBlcl9mdW5jcyB2YzRfcGxhbmVfaGVscGVyX2Z1bmNz ID0gewo+PiArICAgIC5hdG9taWNfY2hlY2sgPSB2YzRfcGxhbmVfYXRvbWljX2NoZWNrLAo+PiAr ICAgIC5hdG9taWNfdXBkYXRlID0gdmM0X3BsYW5lX2F0b21pY191cGRhdGUsCj4+ICsgICAgLmF0 b21pY19hc3luY19jaGVjayA9IHZjNF9wbGFuZV9hdG9taWNfYXN5bmNfY2hlY2ssCj4+ICsgICAg LmF0b21pY19hc3luY191cGRhdGUgPSB2YzRfcGxhbmVfYXRvbWljX2FzeW5jX3VwZGF0ZSwKPj4g K307Cj4+IC1vdXQ6Cj4+IC0gICAgcmV0dXJuIGRybV9hdG9taWNfaGVscGVyX3VwZGF0ZV9wbGFu ZShwbGFuZSwgY3J0YywgZmIsCj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgIGNydGNfeCwg Y3J0Y195LAo+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICBjcnRjX3csIGNydGNfaCwKPj4g LSAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjX3gsIHNyY195LAo+PiAtICAgICAgICAgICAg ICAgICAgICAgICAgICBzcmNfdywgc3JjX2gsCj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAg IGN0eCk7Cj4+ICtzdGF0aWMgdm9pZCB2YzRfcGxhbmVfZGVzdHJveShzdHJ1Y3QgZHJtX3BsYW5l ICpwbGFuZSkKPj4gK3sKPj4gKyAgICBkcm1fcGxhbmVfaGVscGVyX2Rpc2FibGUocGxhbmUpOwo+ PiArICAgIGRybV9wbGFuZV9jbGVhbnVwKHBsYW5lKTsKPj4gICB9Cj4+ICAgc3RhdGljIGNvbnN0 IHN0cnVjdCBkcm1fcGxhbmVfZnVuY3MgdmM0X3BsYW5lX2Z1bmNzID0gewo+PiAtICAgIC51cGRh dGVfcGxhbmUgPSB2YzRfdXBkYXRlX3BsYW5lLAo+PiArICAgIC51cGRhdGVfcGxhbmUgPSBkcm1f YXRvbWljX2hlbHBlcl91cGRhdGVfcGxhbmUsCj4+ICAgICAgIC5kaXNhYmxlX3BsYW5lID0gZHJt X2F0b21pY19oZWxwZXJfZGlzYWJsZV9wbGFuZSwKPj4gICAgICAgLmRlc3Ryb3kgPSB2YzRfcGxh bmVfZGVzdHJveSwKPj4gICAgICAgLnNldF9wcm9wZXJ0eSA9IE5VTEwsCj4+Cj4gX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBkcmktZGV2ZWwgbWFpbGlu ZyBsaXN0Cj4gZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QK ZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=