From mboxrd@z Thu Jan 1 00:00:00 1970 From: Robert Foss Subject: [PATCH hwc v2 6/6] drm_hwcomposer: Add out-fence support Date: Wed, 27 Sep 2017 13:58:41 +0200 Message-ID: <20170927115841.29134-7-robert.foss@collabora.com> References: <20170927115841.29134-1-robert.foss@collabora.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from bhuna.collabora.co.uk (bhuna.collabora.co.uk [46.235.227.227]) by gabe.freedesktop.org (Postfix) with ESMTPS id DAC0E6E6F8 for ; Wed, 27 Sep 2017 11:59:02 +0000 (UTC) In-Reply-To: <20170927115841.29134-1-robert.foss@collabora.com> 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, robh@kernel.org, salidoa@google.com, seanpaul@chromium.org, zachr@google.com Cc: Robert Foss List-Id: dri-devel@lists.freedesktop.org QWRkIHN1cHBvcnQgZm9yIG91dC1mZW5jZXMgdGhyb3VnaCB0aGUgT1VUX0ZFTkNFX1BUUiBwcm9w ZXJ0eS4KT3V0LWZlbmNlcyBzaWduYWwgd2hlbiB0aGVpciBhc3NvY2lhdGVkIGJ1ZmZlciBtYXkg YmUgcmVhZCBieSBhIGRldmljZS4KClNpZ25lZC1vZmYtYnk6IFJvYmVydCBGb3NzIDxyb2JlcnQu Zm9zc0Bjb2xsYWJvcmEuY29tPgotLS0KCkNoYW5nZXMgc2luY2UgdjE6CiAgU2VyZ2kgR3JhbmVs bAogICAgLSBTZXQgYXRvbWljIHByb3BlcnR5IHRvIGJlIG91dF9mZW5jZXNbY3J0Yy0+cGlwZSgp XSBub3Qgb3V0X2ZlbmNlc1swXQoKIGRybWRpc3BsYXljb21wb3NpdGlvbi5oICB8ICA5ICsrKysr KysrKwogZHJtZGlzcGxheWNvbXBvc2l0b3IuY3BwIHwgMTYgKysrKysrKysrKysrKysrKwogZHJt aHdjdHdvLmNwcCAgICAgICAgICAgIHwgIDkgKystLS0tLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDI3 IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJtZGlzcGxheWNv bXBvc2l0aW9uLmggYi9kcm1kaXNwbGF5Y29tcG9zaXRpb24uaAppbmRleCBiMTY1YWRjLi4wNTg2 ZDU4IDEwMDY0NAotLS0gYS9kcm1kaXNwbGF5Y29tcG9zaXRpb24uaAorKysgYi9kcm1kaXNwbGF5 Y29tcG9zaXRpb24uaApAQCAtMTg5LDYgKzE4OSwxNCBAQCBjbGFzcyBEcm1EaXNwbGF5Q29tcG9z aXRpb24gewogICAgIHJldHVybiBwbGFubmVyXzsKICAgfQogCisgIGludCB0YWtlX291dF9mZW5j ZSgpIHsKKyAgICByZXR1cm4gb3V0X2ZlbmNlXy5SZWxlYXNlKCk7CisgIH0KKworICB2b2lkIHNl dF9vdXRfZmVuY2UoaW50IG91dF9mZW5jZSkgeworICAgIG91dF9mZW5jZV8uU2V0KGR1cChvdXRf ZmVuY2UpKTsKKyAgfQorCiAgIHZvaWQgRHVtcChzdGQ6Om9zdHJpbmdzdHJlYW0gKm91dCkgY29u c3Q7CiAKICBwcml2YXRlOgpAQCAtMjE1LDYgKzIyMyw3IEBAIGNsYXNzIERybURpc3BsYXlDb21w b3NpdGlvbiB7CiAgIGludCB0aW1lbGluZV9jdXJyZW50XyA9IDA7CiAgIGludCB0aW1lbGluZV9z cXVhc2hfZG9uZV8gPSAwOwogICBpbnQgdGltZWxpbmVfcHJlX2NvbXBfZG9uZV8gPSAwOworICBV bmlxdWVGZCBvdXRfZmVuY2VfID0gLTE7CiAKICAgYm9vbCBnZW9tZXRyeV9jaGFuZ2VkXzsKICAg c3RkOjp2ZWN0b3I8RHJtSHdjTGF5ZXI+IGxheWVyc187CmRpZmYgLS1naXQgYS9kcm1kaXNwbGF5 Y29tcG9zaXRvci5jcHAgYi9kcm1kaXNwbGF5Y29tcG9zaXRvci5jcHAKaW5kZXggNzFjMDQ1MS4u YTE0MjdkMyAxMDA2NDQKLS0tIGEvZHJtZGlzcGxheWNvbXBvc2l0b3IuY3BwCisrKyBiL2RybWRp c3BsYXljb21wb3NpdG9yLmNwcApAQCAtNDkyLDYgKzQ5Miw3IEBAIGludCBEcm1EaXNwbGF5Q29t cG9zaXRvcjo6Q29tbWl0RnJhbWUoRHJtRGlzcGxheUNvbXBvc2l0aW9uICpkaXNwbGF5X2NvbXAs CiAgICAgICBkaXNwbGF5X2NvbXAtPmNvbXBvc2l0aW9uX3BsYW5lcygpOwogICBzdGQ6OnZlY3Rv cjxEcm1Db21wb3NpdGlvblJlZ2lvbj4gJnByZV9jb21wX3JlZ2lvbnMgPQogICAgICAgZGlzcGxh eV9jb21wLT5wcmVfY29tcF9yZWdpb25zKCk7CisgIHVpbnQ2NF90IG91dF9mZW5jZXNbZHJtXy0+ R2V0Q3J0Y0NvdW50KCldOwogCiAgIERybUNvbm5lY3RvciAqY29ubmVjdG9yID0gZHJtXy0+R2V0 Q29ubmVjdG9yRm9yRGlzcGxheShkaXNwbGF5Xyk7CiAgIGlmICghY29ubmVjdG9yKSB7CkBAIC01 MTAsNiArNTExLDE2IEBAIGludCBEcm1EaXNwbGF5Q29tcG9zaXRvcjo6Q29tbWl0RnJhbWUoRHJt RGlzcGxheUNvbXBvc2l0aW9uICpkaXNwbGF5X2NvbXAsCiAgICAgcmV0dXJuIC1FTk9NRU07CiAg IH0KIAorICBpZiAoY3J0Yy0+b3V0X2ZlbmNlX3B0cl9wcm9wZXJ0eSgpLmlkKCkgIT0gMCkgewor ICAgIHJldCA9IGRybU1vZGVBdG9taWNBZGRQcm9wZXJ0eShwc2V0LCBjcnRjLT5pZCgpLCBjcnRj LT5vdXRfZmVuY2VfcHRyX3Byb3BlcnR5KCkuaWQoKSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKHVpbnQ2NF90KSAmb3V0X2ZlbmNlc1tjcnRjLT5waXBlKCldKTsKKyAgICBp ZiAocmV0IDwgMCkgeworICAgICAgQUxPR0UoIkZhaWxlZCB0byBhZGQgT1VUX0ZFTkNFX1BUUiBw cm9wZXJ0eSB0byBwc2V0OiAlZCIsIHJldCk7CisgICAgICBkcm1Nb2RlQXRvbWljRnJlZShwc2V0 KTsKKyAgICAgIHJldHVybiByZXQ7CisgICAgfQorICB9CisKICAgaWYgKG1vZGVfLm5lZWRzX21v ZGVzZXQpIHsKICAgICByZXQgPSBkcm1Nb2RlQXRvbWljQWRkUHJvcGVydHkocHNldCwgY3J0Yy0+ aWQoKSwgY3J0Yy0+bW9kZV9wcm9wZXJ0eSgpLmlkKCksCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIG1vZGVfLmJsb2JfaWQpIDwgMCB8fApAQCAtNzA4LDYgKzcxOSwxMSBAQCBv dXQ6CiAgICAgbW9kZV8ubmVlZHNfbW9kZXNldCA9IGZhbHNlOwogICB9CiAKKyAgaWYgKGNydGMt Pm91dF9mZW5jZV9wdHJfcHJvcGVydHkoKS5pZCgpKSB7CisgICAgZGlzcGxheV9jb21wLT5zZXRf b3V0X2ZlbmNlKChpbnQpIG91dF9mZW5jZXNbY3J0Yy0+cGlwZSgpXSk7CisgICAgY2xvc2UoKGlu dCkgb3V0X2ZlbmNlc1tjcnRjLT5waXBlKCldKTsKKyAgfQorCiAgIHJldHVybiByZXQ7CiB9CiAK ZGlmZiAtLWdpdCBhL2RybWh3Y3R3by5jcHAgYi9kcm1od2N0d28uY3BwCmluZGV4IDc2MmVlOGMu Ljg5Mzk5YmYgMTAwNjQ0Ci0tLSBhL2RybWh3Y3R3by5jcHAKKysrIGIvZHJtaHdjdHdvLmNwcApA QCAtNTU3LDE5ICs1NTcsMTQgQEAgSFdDMjo6RXJyb3IgRHJtSHdjVHdvOjpId2NEaXNwbGF5OjpQ cmVzZW50RGlzcGxheShpbnQzMl90ICpyZXRpcmVfZmVuY2UpIHsKICAgICBpID0gb3ZlcmxheV9w bGFuZXMuZXJhc2UoaSk7CiAgIH0KIAorICBBZGRGZW5jZVRvUmV0aXJlRmVuY2UoY29tcG9zaXRp b24tPnRha2Vfb3V0X2ZlbmNlKCkpOworCiAgIHJldCA9IGNvbXBvc2l0b3JfLkFwcGx5Q29tcG9z aXRpb24oc3RkOjptb3ZlKGNvbXBvc2l0aW9uKSk7CiAgIGlmIChyZXQpIHsKICAgICBBTE9HRSgi RmFpbGVkIHRvIGFwcGx5IHRoZSBmcmFtZSBjb21wb3NpdGlvbiByZXQ9JWQiLCByZXQpOwogICAg IHJldHVybiBIV0MyOjpFcnJvcjo6QmFkUGFyYW1ldGVyOwogICB9CiAKLSAgLy8gTm93IHRoYXQg dGhlIHJlbGVhc2UgZmVuY2VzIGhhdmUgYmVlbiBnZW5lcmF0ZWQgYnkgdGhlIGNvbXBvc2l0b3Is IG1ha2UKLSAgLy8gc3VyZSB0aGV5J3JlIG1hbmFnZWQgcHJvcGVybHkKLSAgZm9yIChzdGQ6OnBh aXI8Y29uc3QgdWludDMyX3QsIERybUh3Y1R3bzo6SHdjTGF5ZXIgKj4gJmwgOiB6X21hcCkgewot ICAgIGwuc2Vjb25kLT5tYW5hZ2VfcmVsZWFzZV9mZW5jZSgpOwotICAgIEFkZEZlbmNlVG9SZXRp cmVGZW5jZShsLnNlY29uZC0+cmVsZWFzZV9mZW5jZSgpKTsKLSAgfQotCiAgIC8vIFRoZSByZXRp cmUgZmVuY2UgcmV0dXJuZWQgaGVyZSBpcyBmb3IgdGhlIGxhc3QgZnJhbWUsIHNvIHJldHVybiBp dCBhbmQKICAgLy8gcHJvbW90ZSB0aGUgbmV4dCByZXRpcmUgZmVuY2UKICAgKnJldGlyZV9mZW5j ZSA9IHJldGlyZV9mZW5jZV8uUmVsZWFzZSgpOwotLSAKMi4xMS4wCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRy aS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK