From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Brezillon Subject: Re: [PATCH 4/6] drm/vc4: Rework the async update logic Date: Thu, 15 Nov 2018 22:21:05 +0100 Message-ID: <20181115222105.23b02a96@bbrezillon> References: <20181115103721.25601-1-boris.brezillon@bootlin.com> <20181115103721.25601-5-boris.brezillon@bootlin.com> <87zhua12yg.fsf@anholt.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail.bootlin.com (mail.bootlin.com [62.4.15.54]) by gabe.freedesktop.org (Postfix) with ESMTP id 4ECFC6E647 for ; Thu, 15 Nov 2018 21:21:17 +0000 (UTC) In-Reply-To: <87zhua12yg.fsf@anholt.net> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Eric Anholt Cc: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCAxNSBOb3YgMjAxOCAxMjo0OToxMSAtMDgwMApFcmljIEFuaG9sdCA8ZXJpY0Bhbmhv bHQubmV0PiB3cm90ZToKCj4gQm9yaXMgQnJlemlsbG9uIDxib3Jpcy5icmV6aWxsb25AYm9vdGxp bi5jb20+IHdyaXRlczoKPiAKPiA+IHZjNF9wbGFuZV9hdG9taWNfYXN5bmNfY2hlY2soKSB3YXMg b25seSBiYXNlZCBvbiB0aGUKPiA+IHN0YXRlLT57Y3J0YyxzcmN9X3t3LGh9IHdoaWNoIHdhcyBm aW5lIHNpbmNlIHNjYWxpbmcgd2FzIG5vdCBhbGxvd2VkIG9uCj4gPiB0aGUgY3Vyc29yIHBsYW5l Lgo+ID4KPiA+IFdlIGFyZSBhYm91dCB0byBjaGFuZ2UgdGhhdCB0byBwcm9wZXJseSBzdXBwb3J0 IHVuZGVyc2NhbiwgYW5kLCBpbiBvcmRlcgo+ID4gdG8gbWFrZSB0aGUgYXN5bmMgY2hlY2sgbW9y ZSByZWxpYWJsZSwgd2UgY2FsbCB2YzRfcGxhbmVfbW9kZV9zZXQoKQo+ID4gZnJvbSB0aGVyZSBh bmQgY2hlY2sgdGhhdCBvbmx5IHRoZSBwb3MwLCBwb3MyIGFuZCBwdHIwIGVudHJpZXMgaW4gdGhl Cj4gPiBkbGlzdCBoYXZlIGNoYW5nZWQuCj4gPgo+ID4gSW4gdmM0X3BsYW5lX2F0b21pY19hc3lu Y191cGRhdGUoKSwgd2Ugbm8gbG9uZ2VyIGNhbGwKPiA+IHZjNF9wbGFuZV9hdG9taWNfY2hlY2so KSBzaW5jZSB2YzRfcGxhbmVfbW9kZV9zZXQoKSBoYXMgYWxyZWFkeSBiZWVuCj4gPiBjYWxsZWQg aW4gdmM0X3BsYW5lX2F0b21pY19hc3luY19jaGVjaygpLCBhbmQgd2UgZG9uJ3QgbmVlZCB0byBh bGxvY2F0ZQo+ID4gYSBuZXcgTEJNIHJlZ2lvbiAod2UgcmV1c2UgdGhlIG9uZSBmcm9tIHRoZSBj dXJyZW50IHN0YXRlKS4KPiA+Cj4gPiBOb3RlIHRoYXQgd2Ugbm93IGhhdmUgdG8gbWFudWFsbHkg dXBkYXRlIGVhY2ggZmllbGQgb2YgdGhlIGN1cnJlbnQKPiA+IHBsYW5lIHN0YXRlIHNpbmNlIGl0 J3Mgbm8gbG9uZ2VyIHVwZGF0ZWQgaW4gcGxhY2UgKG5vdCBzdXJlIHdlIGhhdmUKPiA+IHRvIHN5 bmMgYWxsIG9mIHRoZW0sIGJ1dCBpdCdzIGhhcm1sZXNzIGlmIHdlIGRvKS4KPiA+IFdlIGFsc28g ZHJvcCB0aGUgdmM0X3BsYW5lX2FzeW5jX3NldF9mYigpIGNhbGwgKHB0cjAgZGxpc3QgZW50cnkg aGFzCj4gPiBiZWVuIHByb3Blcmx5IHVwZGF0ZWQgaW4gdmM0X3BsYW5lX21vZGVfc2V0KCkpCj4g Pgo+ID4gU2lnbmVkLW9mZi1ieTogQm9yaXMgQnJlemlsbG9uIDxib3Jpcy5icmV6aWxsb25AYm9v dGxpbi5jb20+Cj4gPiAtLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9wbGFuZS5jIHwg ODcgKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tCj4gPiAgMSBmaWxlIGNoYW5nZWQs IDY2IGluc2VydGlvbnMoKyksIDIxIGRlbGV0aW9ucygtKQo+ID4KPiA+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9wbGFuZS5jIGIvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRf cGxhbmUuYwo+ID4gaW5kZXggMDljNzQ3OGIwOTViLi4zMWM3YjYzZGQ3MjMgMTAwNjQ0Cj4gPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9wbGFuZS5jCj4gPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vdmM0L3ZjNF9wbGFuZS5jCj4gPiBAQCAtODk1LDMwICs4OTUsNTAgQEAgc3RhdGljIHZv aWQgdmM0X3BsYW5lX2F0b21pY19hc3luY191cGRhdGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUs Cj4gPiAgewo+ID4gIAlzdHJ1Y3QgdmM0X3BsYW5lX3N0YXRlICp2YzRfc3RhdGUsICpuZXdfdmM0 X3N0YXRlOwo+ID4gIAo+ID4gLQlpZiAocGxhbmUtPnN0YXRlLT5mYiAhPSBzdGF0ZS0+ZmIpIHsK PiA+IC0JCXZjNF9wbGFuZV9hc3luY19zZXRfZmIocGxhbmUsIHN0YXRlLT5mYik7Cj4gPiAtCQlk cm1fYXRvbWljX3NldF9mYl9mb3JfcGxhbmUocGxhbmUtPnN0YXRlLCBzdGF0ZS0+ZmIpOwo+ID4g LQl9Cj4gPiAtCj4gPiAtCS8qIFNldCB0aGUgY3Vyc29yJ3MgcG9zaXRpb24gb24gdGhlIHNjcmVl bi4gIFRoaXMgaXMgdGhlCj4gPiAtCSAqIGV4cGVjdGVkIGNoYW5nZSBmcm9tIHRoZSBkcm1fbW9k ZV9jdXJzb3JfdW5pdmVyc2FsKCkKPiA+IC0JICogaGVscGVyLgo+ID4gLQkgKi8KPiA+ICsJZHJt X2F0b21pY19zZXRfZmJfZm9yX3BsYW5lKHBsYW5lLT5zdGF0ZSwgc3RhdGUtPmZiKTsKPiA+ICAJ cGxhbmUtPnN0YXRlLT5jcnRjX3ggPSBzdGF0ZS0+Y3J0Y194Owo+ID4gIAlwbGFuZS0+c3RhdGUt PmNydGNfeSA9IHN0YXRlLT5jcnRjX3k7Cj4gPiAtCj4gPiAtCS8qIEFsbG93IGNoYW5naW5nIHRo ZSBzdGFydCBwb3NpdGlvbiB3aXRoaW4gdGhlIGN1cnNvciBCTywgaWYKPiA+IC0JICogdGhhdCBt YXR0ZXJzLgo+ID4gLQkgKi8KPiA+ICsJcGxhbmUtPnN0YXRlLT5jcnRjX3cgPSBzdGF0ZS0+Y3J0 Y193Owo+ID4gKwlwbGFuZS0+c3RhdGUtPmNydGNfaCA9IHN0YXRlLT5jcnRjX2g7Cj4gPiAgCXBs YW5lLT5zdGF0ZS0+c3JjX3ggPSBzdGF0ZS0+c3JjX3g7Cj4gPiAgCXBsYW5lLT5zdGF0ZS0+c3Jj X3kgPSBzdGF0ZS0+c3JjX3k7Cj4gPiAtCj4gPiAtCS8qIFVwZGF0ZSB0aGUgZGlzcGxheSBsaXN0 IGJhc2VkIG9uIHRoZSBuZXcgY3J0Y194L3kuICovCj4gPiAtCXZjNF9wbGFuZV9hdG9taWNfY2hl Y2socGxhbmUsIHN0YXRlKTsKPiA+ICsJcGxhbmUtPnN0YXRlLT5zcmNfdyA9IHN0YXRlLT5zcmNf dzsKPiA+ICsJcGxhbmUtPnN0YXRlLT5zcmNfaCA9IHN0YXRlLT5zcmNfaDsKPiA+ICsJcGxhbmUt PnN0YXRlLT5zcmNfaCA9IHN0YXRlLT5zcmNfaDsKPiA+ICsJcGxhbmUtPnN0YXRlLT5hbHBoYSA9 IHN0YXRlLT5hbHBoYTsKPiA+ICsJcGxhbmUtPnN0YXRlLT5waXhlbF9ibGVuZF9tb2RlID0gc3Rh dGUtPnBpeGVsX2JsZW5kX21vZGU7Cj4gPiArCXBsYW5lLT5zdGF0ZS0+cm90YXRpb24gPSBzdGF0 ZS0+cm90YXRpb247Cj4gPiArCXBsYW5lLT5zdGF0ZS0+enBvcyA9IHN0YXRlLT56cG9zOwo+ID4g KwlwbGFuZS0+c3RhdGUtPm5vcm1hbGl6ZWRfenBvcyA9IHN0YXRlLT5ub3JtYWxpemVkX3pwb3M7 Cj4gPiArCXBsYW5lLT5zdGF0ZS0+Y29sb3JfZW5jb2RpbmcgPSBzdGF0ZS0+Y29sb3JfZW5jb2Rp bmc7Cj4gPiArCXBsYW5lLT5zdGF0ZS0+Y29sb3JfcmFuZ2UgPSBzdGF0ZS0+Y29sb3JfcmFuZ2U7 Cj4gPiArCXBsYW5lLT5zdGF0ZS0+c3JjID0gc3RhdGUtPnNyYzsKPiA+ICsJcGxhbmUtPnN0YXRl LT5kc3QgPSBzdGF0ZS0+ZHN0Owo+ID4gKwlwbGFuZS0+c3RhdGUtPnZpc2libGUgPSBzdGF0ZS0+ dmlzaWJsZTsKPiA+ICAKPiA+ICAJbmV3X3ZjNF9zdGF0ZSA9IHRvX3ZjNF9wbGFuZV9zdGF0ZShz dGF0ZSk7Cj4gPiAgCXZjNF9zdGF0ZSA9IHRvX3ZjNF9wbGFuZV9zdGF0ZShwbGFuZS0+c3RhdGUp Owo+ID4gIAo+ID4gKwl2YzRfc3RhdGUtPmNydGNfeCA9IG5ld192YzRfc3RhdGUtPmNydGNfeDsK PiA+ICsJdmM0X3N0YXRlLT5jcnRjX3kgPSBuZXdfdmM0X3N0YXRlLT5jcnRjX3k7Cj4gPiArCXZj NF9zdGF0ZS0+Y3J0Y19oID0gbmV3X3ZjNF9zdGF0ZS0+Y3J0Y19oOwo+ID4gKwl2YzRfc3RhdGUt PmNydGNfdyA9IG5ld192YzRfc3RhdGUtPmNydGNfdzsKPiA+ICsJdmM0X3N0YXRlLT5zcmNfeCA9 IG5ld192YzRfc3RhdGUtPnNyY194Owo+ID4gKwl2YzRfc3RhdGUtPnNyY195ID0gbmV3X3ZjNF9z dGF0ZS0+c3JjX3k7Cj4gPiArCW1lbWNweSh2YzRfc3RhdGUtPnNyY193LCBuZXdfdmM0X3N0YXRl LT5zcmNfdywKPiA+ICsJICAgICAgIHNpemVvZih2YzRfc3RhdGUtPnNyY193KSk7Cj4gPiArCW1l bWNweSh2YzRfc3RhdGUtPnNyY19oLCBuZXdfdmM0X3N0YXRlLT5zcmNfaCwKPiA+ICsJICAgICAg IHNpemVvZih2YzRfc3RhdGUtPnNyY19oKSk7Cj4gPiArCW1lbWNweSh2YzRfc3RhdGUtPnhfc2Nh bGluZywgbmV3X3ZjNF9zdGF0ZS0+eF9zY2FsaW5nLAo+ID4gKwkgICAgICAgc2l6ZW9mKHZjNF9z dGF0ZS0+eF9zY2FsaW5nKSk7Cj4gPiArCW1lbWNweSh2YzRfc3RhdGUtPnlfc2NhbGluZywgbmV3 X3ZjNF9zdGF0ZS0+eV9zY2FsaW5nLAo+ID4gKwkgICAgICAgc2l6ZW9mKHZjNF9zdGF0ZS0+eV9z Y2FsaW5nKSk7Cj4gPiArCXZjNF9zdGF0ZS0+aXNfdW5pdHkgPSBuZXdfdmM0X3N0YXRlLT5pc191 bml0eTsKPiA+ICsJdmM0X3N0YXRlLT5pc195dXYgPSBuZXdfdmM0X3N0YXRlLT5pc195dXY7Cj4g PiArCW1lbWNweSh2YzRfc3RhdGUtPm9mZnNldHMsIG5ld192YzRfc3RhdGUtPm9mZnNldHMsCj4g PiArCSAgICAgICBzaXplb2YodmM0X3N0YXRlLT5vZmZzZXRzKSk7Cj4gPiArCXZjNF9zdGF0ZS0+ bmVlZHNfYmdfZmlsbCA9IG5ld192YzRfc3RhdGUtPm5lZWRzX2JnX2ZpbGw7ICAKPiAKPiBUaGlz IGNvcHlpbmcgZmVlbHMgbGlrZSBhIG1haW50ZW5hbmNlIG5pZ2h0bWFyZSB0byBtZSAtLSBub3Ro aW5nJ3MgZ29pbmcKPiB0byBiZSB0ZXN0aW5nIGFzeW5jIHVwZGF0ZXMgb2YgZWFjaCByYW5kb20g Yml0IG9mIHN0YXRlLCBzbyBpZiBzb21ldGhpbmcKPiBuZXcgY291bGQgY2hhbmdlIHdoaWxlIHBh c3NpbmcgYXRvbWljX2FzeW5jX2NoZWNrKCksIHdlJ3JlIGdvaW5nIHRvIGdldAo+IGl0IHdyb25n LgoKWWVhaCwgSSBkb24ndCBsaWtlIGl0IGVpdGhlci4gSSdkIGRlZmluaXRlbHkgcHJlZmVyIGlm IHN0YXRlcyBjb3VsZCBiZQpzd2FwcGVkIHNvbWVob3csIGJ1dCB0aGVuIHlvdSBoYXZlIHRoZSBw cm9ibGVtIG9mIG1pZ3JhdGluZyBzb21lIG9mIHRoZQpyZXNvdXJjZXMgZnJvbSB0aGUgb2xkIHN0 YXRlIHRvIHRoZSBuZXcgb25lICh0aGUgbW9zdCBvYnZpb3VzIG9uZSBiZWluZwp0aGUgTEJNIGRy bV9tbV9ub2RlIG9iamVjdCB3aGljaCBpcyBhbHJlYWR5IGluc2VydGVkIGluIGEgbGlzdCwgYnV0 CkknbSBwcmV0dHkgd2UgaGF2ZSB0aGUgc2FtZSBpc3N1ZSB3aXRoIG90aGVyIGZpZWxkcyB0b28p LgoKPiAKPiBBbnkgaWRlYXMgZm9yIHdoYXQgd2UgY2FuIGRvIHRvIGhhbmRsZSB0aGF0PwoKTm9w ZS4KCj4gCj4gPiArCj4gPiAgCS8qIFVwZGF0ZSB0aGUgY3VycmVudCB2YzRfc3RhdGUgcG9zMCwg cG9zMiBhbmQgcHRyMCBkbGlzdCBlbnRyaWVzLiAqLwo+ID4gIAl2YzRfc3RhdGUtPmRsaXN0W3Zj NF9zdGF0ZS0+cG9zMF9vZmZzZXRdID0KPiA+ICAJCW5ld192YzRfc3RhdGUtPmRsaXN0W3ZjNF9z dGF0ZS0+cG9zMF9vZmZzZXRdOwo+ID4gQEAgLTk0MiwxMyArOTYyLDM4IEBAIHN0YXRpYyB2b2lk IHZjNF9wbGFuZV9hdG9taWNfYXN5bmNfdXBkYXRlKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ ID4gIHN0YXRpYyBpbnQgdmM0X3BsYW5lX2F0b21pY19hc3luY19jaGVjayhzdHJ1Y3QgZHJtX3Bs YW5lICpwbGFuZSwKPiA+ICAJCQkJCXN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnN0YXRlKQo+ID4g IHsKPiA+IC0JLyogTm8gY29uZmlndXJpbmcgbmV3IHNjYWxpbmcgaW4gdGhlIGZhc3QgcGF0aC4g Ki8KPiA+IC0JaWYgKHBsYW5lLT5zdGF0ZS0+Y3J0Y193ICE9IHN0YXRlLT5jcnRjX3cgfHwKPiA+ IC0JICAgIHBsYW5lLT5zdGF0ZS0+Y3J0Y19oICE9IHN0YXRlLT5jcnRjX2ggfHwKPiA+IC0JICAg IHBsYW5lLT5zdGF0ZS0+c3JjX3cgIT0gc3RhdGUtPnNyY193IHx8Cj4gPiAtCSAgICBwbGFuZS0+ c3RhdGUtPnNyY19oICE9IHN0YXRlLT5zcmNfaCkKPiA+ICsJc3RydWN0IHZjNF9wbGFuZV9zdGF0 ZSAqb2xkX3ZjNF9zdGF0ZSwgKm5ld192YzRfc3RhdGU7Cj4gPiArCWludCByZXQ7Cj4gPiArCXUz MiBpOwo+ID4gKwo+ID4gKwlyZXQgPSB2YzRfcGxhbmVfbW9kZV9zZXQocGxhbmUsIHN0YXRlKTsK PiA+ICsJaWYgKHJldCkKPiA+ICsJCXJldHVybiByZXQ7Cj4gPiArCj4gPiArCW9sZF92YzRfc3Rh dGUgPSB0b192YzRfcGxhbmVfc3RhdGUocGxhbmUtPnN0YXRlKTsKPiA+ICsJbmV3X3ZjNF9zdGF0 ZSA9IHRvX3ZjNF9wbGFuZV9zdGF0ZShzdGF0ZSk7Cj4gPiArCWlmIChvbGRfdmM0X3N0YXRlLT5k bGlzdF9jb3VudCAhPSBuZXdfdmM0X3N0YXRlLT5kbGlzdF9jb3VudCB8fAo+ID4gKwkgICAgb2xk X3ZjNF9zdGF0ZS0+cG9zMF9vZmZzZXQgIT0gbmV3X3ZjNF9zdGF0ZS0+cG9zMF9vZmZzZXQgfHwK PiA+ICsJICAgIG9sZF92YzRfc3RhdGUtPnBvczJfb2Zmc2V0ICE9IG5ld192YzRfc3RhdGUtPnBv czJfb2Zmc2V0IHx8Cj4gPiArCSAgICBvbGRfdmM0X3N0YXRlLT5wdHIwX29mZnNldCAhPSBuZXdf dmM0X3N0YXRlLT5wdHIwX29mZnNldCB8fAo+ID4gKwkgICAgdmM0X2xibV9zaXplKHBsYW5lLT5z dGF0ZSkgIT0gdmM0X2xibV9zaXplKHN0YXRlKSkKPiA+ICAJCXJldHVybiAtRUlOVkFMOwo+ID4g IAo+ID4gKwkvKiBPbmx5IHBvczAsIHBvczIgYW5kIHB0cjAgRFdPUkRTIGNhbiBiZSB1cGRhdGVk IGluIGFuIGFzeW5jIHVwZGF0ZQo+ID4gKwkgKiBpZiBhbnl0aGluZyBlbHNlIGhhcyBjaGFuZ2Vk LCBmYWxsYmFjayB0byBhIHN5bmMgdXBkYXRlLgo+ID4gKwkgKi8KPiA+ICsJZm9yIChpID0gMDsg aSA8IG5ld192YzRfc3RhdGUtPmRsaXN0X2NvdW50OyBpKyspIHsKPiA+ICsJCWlmIChpID09IG5l d192YzRfc3RhdGUtPnBvczBfb2Zmc2V0IHx8Cj4gPiArCQkgICAgaSA9PSBuZXdfdmM0X3N0YXRl LT5wb3MyX29mZnNldCB8fAo+ID4gKwkJICAgIGkgPT0gbmV3X3ZjNF9zdGF0ZS0+cHRyMF9vZmZz ZXQgfHwKPiA+ICsJCSAgICAobmV3X3ZjNF9zdGF0ZS0+bGJtX29mZnNldCAmJgo+ID4gKwkJICAg ICBpID09IG5ld192YzRfc3RhdGUtPmxibV9vZmZzZXQpKQo+ID4gKwkJCWNvbnRpbnVlOwo+ID4g Kwo+ID4gKwkJaWYgKG5ld192YzRfc3RhdGUtPmRsaXN0W2ldICE9IG9sZF92YzRfc3RhdGUtPmRs aXN0W2ldKQo+ID4gKwkJCXJldHVybiAtRUlOVkFMOwo+ID4gKwl9Cj4gPiArICAKPiAKPiBJIHJl YWxseSBsaWtlIHRoZXNlIG5ldyBjaGVja3MgZm9yIHdoZXRoZXIgd2UgY2FuIGRvIHRoZSBhc3lu YyB1cGRhdGUsCj4gY29tcGFyZWQgdG8gbXkgb2xkIG9uZXMhCgpZZXMuIEknbSBwcmV0dHkgc3Vy ZSB3ZSBjYW4gYWxsb3cgYXN5bmMgdXBkYXRlcyB3aGVuIG90aGVyIG9mIHRob3NlCmRsaXN0IGVu dHJpZXMgY2hhbmdlLCBidXQgSSB3YW50ZWQgdG8gYmUgb24gdGhlIHNhZmUgc2lkZS4KX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxp bmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==