From mboxrd@z Thu Jan 1 00:00:00 1970 From: Robert Foss Subject: Re: [RFC v3 7/8] drm/vc4: update cursors asynchronously through atomic Date: Thu, 18 May 2017 18:54:55 -0400 Message-ID: <85b757df-3555-6da6-9a86-f1b84c0aaa00@collabora.com> References: <20170512191054.10074-1-gustavo@padovan.org> <20170512191054.10074-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 E07846E60E for ; Thu, 18 May 2017 22:55:00 +0000 (UTC) In-Reply-To: <20170512191054.10074-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: Gustavo Padovan , dri-devel@lists.freedesktop.org Cc: Gustavo Padovan List-Id: dri-devel@lists.freedesktop.org SGV5LAoKSSBqdXN0IHRlc3RlZCB0aGlzIHBhdGNoIG9uIGEgUlBpMiwgYW5kIHRoZSBjdXJzb3Ig YmVoYXZlcyBjb3JyZWN0bHkgd2l0aCBubyAKdW5leHBlY3RlZCBlcnJvcnMuCgpUZXN0ZWQtYnk6 IFJvYmVydCBGb3NzIDxyb2JlcnQuZm9zc0Bjb2xsYWJvcmEuY29tPgoKT24gMjAxNy0wNS0xMiAw MzoxMCBQTSwgR3VzdGF2byBQYWRvdmFuIHdyb3RlOgo+IEZyb206IEd1c3Rhdm8gUGFkb3ZhbiA8 Z3VzdGF2by5wYWRvdmFuQGNvbGxhYm9yYS5jb20+Cj4gCj4gQWRkIHN1cHBvcnQgdG8gYXN5bmMg dXBkYXRlcyBvZiBjdXJzb3JzIGJ5IHVzaW5nIHRoZSBuZXcgYXRvbWljCj4gaW50ZXJmYWNlIGZv ciB0aGF0LiBCYXNpY2FsbHkgd2hhdCB0aGlzIGNvbW1pdCBkb2VzIGlzIGRvIHdoYXQKPiB2YzRf dXBkYXRlX3BsYW5lKCkgZGlkIGJ1dCB0aHJvdWdoIGF0b21pYy4KPiAKPiB2MzogbW92ZSBzaXpl IGNoZWNrcyBiYWNrIHRvIGRyaXZlcnMgKFZpbGxlIFN5cmrDpGzDpCkKPiAKPiB2MjogbW92ZSBm YiBzZXR0aW5nIHRvIGNvcmUgYW5kIHVzZSBuZXcgc3RhdGUgKEVyaWMgQW5ob2x0KQo+IAo+IENj OiBFcmljIEFuaG9sdCA8ZXJpY0BhbmhvbHQubmV0Pgo+IFNpZ25lZC1vZmYtYnk6IEd1c3Rhdm8g UGFkb3ZhbiA8Z3VzdGF2by5wYWRvdmFuQGNvbGxhYm9yYS5jb20+Cj4gLS0tCj4gICBkcml2ZXJz L2dwdS9kcm0vdmM0L3ZjNF9wbGFuZS5jIHwgOTkgKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KPiAgIDEgZmlsZSBjaGFuZ2VkLCAzNSBpbnNlcnRpb25zKCspLCA2NCBk ZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfcGxh bmUuYyBiL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X3BsYW5lLmMKPiBpbmRleCBkMzRjZDUzLi4w NWU5ZjVmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X3BsYW5lLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9wbGFuZS5jCj4gQEAgLTczNSw3MCArNzM1LDM4 IEBAIHZvaWQgdmM0X3BsYW5lX2FzeW5jX3NldF9mYihzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwg c3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIpCj4gICAJdmM0X3N0YXRlLT5kbGlzdFt2YzRfc3Rh dGUtPnB0cjBfb2Zmc2V0XSA9IGFkZHI7Cj4gICB9Cj4gICAKPiAtc3RhdGljIGNvbnN0IHN0cnVj dCBkcm1fcGxhbmVfaGVscGVyX2Z1bmNzIHZjNF9wbGFuZV9oZWxwZXJfZnVuY3MgPSB7Cj4gLQku YXRvbWljX2NoZWNrID0gdmM0X3BsYW5lX2F0b21pY19jaGVjaywKPiAtCS5hdG9taWNfdXBkYXRl ID0gdmM0X3BsYW5lX2F0b21pY191cGRhdGUsCj4gLX07Cj4gLQo+IC1zdGF0aWMgdm9pZCB2YzRf cGxhbmVfZGVzdHJveShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkKPiAtewo+IC0JZHJtX3BsYW5l X2hlbHBlcl9kaXNhYmxlKHBsYW5lKTsKPiAtCWRybV9wbGFuZV9jbGVhbnVwKHBsYW5lKTsKPiAt fQo+IC0KPiAtLyogSW1wbGVtZW50cyBpbW1lZGlhdGUgKG5vbi12Ymxhbmstc3luY2VkKSB1cGRh dGVzIG9mIHRoZSBjdXJzb3IKPiAtICogcG9zaXRpb24sIG9yIGZhbGxzIGJhY2sgdG8gdGhlIGF0 b21pYyBoZWxwZXIgb3RoZXJ3aXNlLgo+IC0gKi8KPiAtc3RhdGljIGludAo+IC12YzRfdXBkYXRl X3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+IC0JCSBzdHJ1Y3QgZHJtX2NydGMgKmNy dGMsCj4gLQkJIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLAo+IC0JCSBpbnQgY3J0Y194LCBp bnQgY3J0Y195LAo+IC0JCSB1bnNpZ25lZCBpbnQgY3J0Y193LCB1bnNpZ25lZCBpbnQgY3J0Y19o LAo+IC0JCSB1aW50MzJfdCBzcmNfeCwgdWludDMyX3Qgc3JjX3ksCj4gLQkJIHVpbnQzMl90IHNy Y193LCB1aW50MzJfdCBzcmNfaCwKPiAtCQkgc3RydWN0IGRybV9tb2Rlc2V0X2FjcXVpcmVfY3R4 ICpjdHgpCj4gK3N0YXRpYyBpbnQgdmM0X3BsYW5lX2F0b21pY19hc3luY19jaGVjayhzdHJ1Y3Qg ZHJtX3BsYW5lICpwbGFuZSwKPiArCQkJCQlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpzdGF0ZSkK PiAgIHsKPiAtCXN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlOwo+IC0Jc3RydWN0 IHZjNF9wbGFuZV9zdGF0ZSAqdmM0X3N0YXRlOwo+IC0KPiAtCWlmIChwbGFuZSAhPSBjcnRjLT5j dXJzb3IpCj4gLQkJZ290byBvdXQ7Cj4gLQo+IC0JcGxhbmVfc3RhdGUgPSBwbGFuZS0+c3RhdGU7 Cj4gLQl2YzRfc3RhdGUgPSB0b192YzRfcGxhbmVfc3RhdGUocGxhbmVfc3RhdGUpOwo+ICsJaWYg KHBsYW5lICE9IHN0YXRlLT5jcnRjLT5jdXJzb3IpCj4gKwkJcmV0dXJuIC1FSU5WQUw7Cj4gICAK PiAtCWlmICghcGxhbmVfc3RhdGUpCj4gLQkJZ290byBvdXQ7Cj4gKwlpZiAoIXBsYW5lLT5zdGF0 ZSkKPiArCQlyZXR1cm4gLUVJTlZBTDsKPiAgIAo+ICAgCS8qIE5vIGNvbmZpZ3VyaW5nIG5ldyBz Y2FsaW5nIGluIHRoZSBmYXN0IHBhdGguICovCj4gLQlpZiAoY3J0Y193ICE9IHBsYW5lX3N0YXRl LT5jcnRjX3cgfHwKPiAtCSAgICBjcnRjX2ggIT0gcGxhbmVfc3RhdGUtPmNydGNfaCB8fAo+IC0J ICAgIHNyY193ICE9IHBsYW5lX3N0YXRlLT5zcmNfdyB8fAo+IC0JICAgIHNyY19oICE9IHBsYW5l X3N0YXRlLT5zcmNfaCkgewo+IC0JCWdvdG8gb3V0Owo+ICsJaWYgKHN0YXRlLT5jcnRjX3cgIT0g cGxhbmUtPnN0YXRlLT5jcnRjX3cgfHwKPiArCSAgICBzdGF0ZS0+Y3J0Y19oICE9IHBsYW5lLT5z dGF0ZS0+Y3J0Y19oIHx8Cj4gKwkgICAgc3RhdGUtPnNyY193ICE9IHBsYW5lLT5zdGF0ZS0+c3Jj X3cgfHwKPiArCSAgICBzdGF0ZS0+c3JjX2ggIT0gcGxhbmUtPnN0YXRlLT5zcmNfaCkgewo+ICsJ CXJldHVybiAtRUlOVkFMOwo+ICAgCX0KPiAgIAo+IC0JaWYgKGZiICE9IHBsYW5lX3N0YXRlLT5m Yikgewo+IC0JCWRybV9hdG9taWNfc2V0X2ZiX2Zvcl9wbGFuZShwbGFuZS0+c3RhdGUsIGZiKTsK PiAtCQl2YzRfcGxhbmVfYXN5bmNfc2V0X2ZiKHBsYW5lLCBmYik7Cj4gLQl9Cj4gKwlyZXR1cm4g MDsKPiArfQo+ICAgCj4gLQkvKiBTZXQgdGhlIGN1cnNvcidzIHBvc2l0aW9uIG9uIHRoZSBzY3Jl ZW4uICBUaGlzIGlzIHRoZQo+IC0JICogZXhwZWN0ZWQgY2hhbmdlIGZyb20gdGhlIGRybV9tb2Rl X2N1cnNvcl91bml2ZXJzYWwoKQo+IC0JICogaGVscGVyLgo+IC0JICovCj4gLQlwbGFuZV9zdGF0 ZS0+Y3J0Y194ID0gY3J0Y194Owo+IC0JcGxhbmVfc3RhdGUtPmNydGNfeSA9IGNydGNfeTsKPiAr c3RhdGljIHZvaWQgdmM0X3BsYW5lX2F0b21pY19hc3luY191cGRhdGUoc3RydWN0IGRybV9wbGFu ZSAqcGxhbmUsCj4gKwkJCQkJICBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpuZXdfc3RhdGUpCj4g K3sKPiArCXN0cnVjdCB2YzRfcGxhbmVfc3RhdGUgKnZjNF9zdGF0ZSA9IHRvX3ZjNF9wbGFuZV9z dGF0ZShwbGFuZS0+c3RhdGUpOwo+ICAgCj4gLQkvKiBBbGxvdyBjaGFuZ2luZyB0aGUgc3RhcnQg cG9zaXRpb24gd2l0aGluIHRoZSBjdXJzb3IgQk8sIGlmCj4gLQkgKiB0aGF0IG1hdHRlcnMuCj4g LQkgKi8KPiAtCXBsYW5lX3N0YXRlLT5zcmNfeCA9IHNyY194Owo+IC0JcGxhbmVfc3RhdGUtPnNy Y195ID0gc3JjX3k7Cj4gKwlwbGFuZS0+c3RhdGUtPnNyY194ID0gbmV3X3N0YXRlLT5zcmNfeDsK PiArCXBsYW5lLT5zdGF0ZS0+c3JjX3kgPSBuZXdfc3RhdGUtPnNyY195Owo+ICsJcGxhbmUtPnN0 YXRlLT5jcnRjX3ggPSBuZXdfc3RhdGUtPmNydGNfeDsKPiArCXBsYW5lLT5zdGF0ZS0+Y3J0Y195 ID0gbmV3X3N0YXRlLT5jcnRjX3k7Cj4gICAKPiAtCS8qIFVwZGF0ZSB0aGUgZGlzcGxheSBsaXN0 IGJhc2VkIG9uIHRoZSBuZXcgY3J0Y194L3kuICovCj4gLQl2YzRfcGxhbmVfYXRvbWljX2NoZWNr KHBsYW5lLCBwbGFuZV9zdGF0ZSk7Cj4gKwlpZiAocGxhbmUtPnN0YXRlLT5mYiAhPSBuZXdfc3Rh dGUtPmZiKQo+ICsJCXZjNF9wbGFuZV9hc3luY19zZXRfZmIocGxhbmUsIG5ld19zdGF0ZS0+ZmIp Owo+ICAgCj4gICAJLyogTm90ZSB0aGF0IHdlIGNhbid0IGp1c3QgY2FsbCB2YzRfcGxhbmVfd3Jp dGVfZGxpc3QoKQo+ICAgCSAqIGJlY2F1c2UgdGhhdCB3b3VsZCBzbWFzaCB0aGUgY29udGV4dCBk YXRhIHRoYXQgdGhlIEhWUyBpcwo+IEBAIC04MTAsMjAgKzc3OCwyMyBAQCB2YzRfdXBkYXRlX3Bs YW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ICAgCSAgICAgICAmdmM0X3N0YXRlLT5od19k bGlzdFt2YzRfc3RhdGUtPnBvczJfb2Zmc2V0XSk7Cj4gICAJd3JpdGVsKHZjNF9zdGF0ZS0+ZGxp c3RbdmM0X3N0YXRlLT5wdHIwX29mZnNldF0sCj4gICAJICAgICAgICZ2YzRfc3RhdGUtPmh3X2Rs aXN0W3ZjNF9zdGF0ZS0+cHRyMF9vZmZzZXRdKTsKPiArfQo+ICAgCj4gLQlyZXR1cm4gMDsKPiAr c3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfaGVscGVyX2Z1bmNzIHZjNF9wbGFuZV9oZWxw ZXJfZnVuY3MgPSB7Cj4gKwkuYXRvbWljX2NoZWNrID0gdmM0X3BsYW5lX2F0b21pY19jaGVjaywK PiArCS5hdG9taWNfdXBkYXRlID0gdmM0X3BsYW5lX2F0b21pY191cGRhdGUsCj4gKwkuYXRvbWlj X2FzeW5jX2NoZWNrID0gdmM0X3BsYW5lX2F0b21pY19hc3luY19jaGVjaywKPiArCS5hdG9taWNf YXN5bmNfdXBkYXRlID0gdmM0X3BsYW5lX2F0b21pY19hc3luY191cGRhdGUsCj4gK307Cj4gICAK PiAtb3V0Ogo+IC0JcmV0dXJuIGRybV9hdG9taWNfaGVscGVyX3VwZGF0ZV9wbGFuZShwbGFuZSwg Y3J0YywgZmIsCj4gLQkJCQkJICAgICAgY3J0Y194LCBjcnRjX3ksCj4gLQkJCQkJICAgICAgY3J0 Y193LCBjcnRjX2gsCj4gLQkJCQkJICAgICAgc3JjX3gsIHNyY195LAo+IC0JCQkJCSAgICAgIHNy Y193LCBzcmNfaCwKPiAtCQkJCQkgICAgICBjdHgpOwo+ICtzdGF0aWMgdm9pZCB2YzRfcGxhbmVf ZGVzdHJveShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkKPiArewo+ICsJZHJtX3BsYW5lX2hlbHBl cl9kaXNhYmxlKHBsYW5lKTsKPiArCWRybV9wbGFuZV9jbGVhbnVwKHBsYW5lKTsKPiAgIH0KPiAg IAo+ICAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfZnVuY3MgdmM0X3BsYW5lX2Z1bmNz ID0gewo+IC0JLnVwZGF0ZV9wbGFuZSA9IHZjNF91cGRhdGVfcGxhbmUsCj4gKwkudXBkYXRlX3Bs YW5lID0gZHJtX2F0b21pY19oZWxwZXJfdXBkYXRlX3BsYW5lLAo+ICAgCS5kaXNhYmxlX3BsYW5l ID0gZHJtX2F0b21pY19oZWxwZXJfZGlzYWJsZV9wbGFuZSwKPiAgIAkuZGVzdHJveSA9IHZjNF9w bGFuZV9kZXN0cm95LAo+ICAgCS5zZXRfcHJvcGVydHkgPSBOVUxMLAo+IApfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0 CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK