From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: Re: [PATCH hwc v2 09/18] drm_hwcomposer: Handle writeback connectors Date: Tue, 17 Apr 2018 11:45:30 -0400 Message-ID: <20180417154530.GE73214@art_vandelay> References: <1523460149-1740-1-git-send-email-alexandru-cosmin.gheorghe@arm.com> <1523460149-1740-10-git-send-email-alexandru-cosmin.gheorghe@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-yb0-x242.google.com (mail-yb0-x242.google.com [IPv6:2607:f8b0:4002:c09::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0559489911 for ; Tue, 17 Apr 2018 15:45:33 +0000 (UTC) Received: by mail-yb0-x242.google.com with SMTP id z5-v6so8697050ybo.10 for ; Tue, 17 Apr 2018 08:45:32 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1523460149-1740-10-git-send-email-alexandru-cosmin.gheorghe@arm.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Alexandru Gheorghe Cc: ayan.halder@arm.com, liviu.dudau@arm.com, dri-devel@lists.freedesktop.org, nd@arm.com List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCBBcHIgMTEsIDIwMTggYXQgMDQ6MjI6MjBQTSArMDEwMCwgQWxleGFuZHJ1IEdoZW9y Z2hlIHdyb3RlOgo+IFdoZW4gd3JpdGViYWNrIGNvbm5lY3RvcnMgYXJlIGF2YWlsYWJsZSBhc3Np Z24gdGhlbSB0byBkaXNwbGF5cywgaW4KPiBvcmRlciB0byBiZSBhYmxlIHRvIHVzZSB0aGVtIGZv ciBmbGF0dGVuaW5nIG9mIHRoZSBjdXJyZW50IGRpc3BsYXllZAo+IHNjZW5lLiBUaGUgcGlwZWxp bmUgZm9yIGVhY2ggZGlzcGxheSB3aWxsIGxvb2sgbGlrZSB0aGlzOgo+IAo+IENSVEMgLS0tLSBl bmNvZGVyIC0tLS0tLS0tLS0tLSBkaXNwbGF5IGNvbm5lY3Rvci4KPiAgfC0tLS0tLS0gd3JpdGVi YWNrIGVuYyAtLS0tLS0gd3JpdGViYWNrIGNvbm5lY3Rvci4KPiAKPiBIb3dldmVyLCB0aGUgd3Jp dGViYWNrIGNvbm5lY3RvciB3aWxsIGJlIGxhdGVyIHVzZWQvZW5hYmxlZCBvbmx5IGlmCj4gb25l IG9mIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0Ogo+ICAtIENvdWxkIGJlIGEgY2xv bmUgb2YgdGhlIGRpc3BsYXkgY29ubmVjdG9yLCBhcyBwb2ludGVkIGJ5IHRoZQo+ICAgIHBvc3Np YmxlX2Nsb25lcyBwcm9wZXJ0eS4KPiAgLSBUaGUgZGlzcGxheV9jb25uZWN0b3IgaXMgZGlzY29u bmVjdGVkLCBzbyB3ZSBhcmUgc2FmZSB0byB1c2UgaXQgZm9yCj4gICAgZmxhdHRlbmluZyB0aGUg c2NlbmUgdGhhdCdzIGFscmVhZHkgcHJlc2VudGVkIG9uIGFub3RoZXIgZGlzcGxheS4KPiAKPiBT aWduZWQtb2ZmLWJ5OiBBbGV4YW5kcnUgR2hlb3JnaGUgPGFsZXhhbmRydS1jb3NtaW4uZ2hlb3Jn aGVAYXJtLmNvbT4KPiAtLS0KPiAgZHJtcmVzb3VyY2VzLmNwcCB8IDYyICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tCj4gIGRybXJlc291cmNl cy5oICAgfCAgMyArKysKPiAgMiBmaWxlcyBjaGFuZ2VkLCA2MyBpbnNlcnRpb25zKCspLCAyIGRl bGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcm1yZXNvdXJjZXMuY3BwIGIvZHJtcmVzb3Vy Y2VzLmNwcAo+IGluZGV4IDM5ZjUwYmUuLmZlZjY4MzUgMTAwNjQ0Cj4gLS0tIGEvZHJtcmVzb3Vy Y2VzLmNwcAo+ICsrKyBiL2RybXJlc291cmNlcy5jcHAKPiBAQCAtNjQsNiArNjQsMTQgQEAgaW50 IERybVJlc291cmNlczo6SW5pdChSZXNvdXJjZU1hbmFnZXIgKnJlc291cmNlX21hbmFnZXIsIGNo YXIgKnBhdGgsCj4gICAgICByZXR1cm4gcmV0Owo+ICAgIH0KPiAgCj4gKyNpZmRlZiBEUk1fQ0xJ RU5UX0NBUF9XUklURUJBQ0tfQ09OTkVDVE9SUwo+ICsgIHJldCA9IGRybVNldENsaWVudENhcChm ZCgpLCBEUk1fQ0xJRU5UX0NBUF9XUklURUJBQ0tfQ09OTkVDVE9SUywgMSk7Cj4gKyAgaWYgKHJl dCkgewo+ICsgICAgQUxPR0koIkZhaWxlZCB0byBzZXQgd3JpdGViYWNrIGNhcCAlZCIsIHJldCk7 Cj4gKyAgICByZXQgPSAwOwo+ICsgIH0KPiArI2VuZGlmCj4gKwo+ICAgIGRybU1vZGVSZXNQdHIg cmVzID0gZHJtTW9kZUdldFJlc291cmNlcyhmZCgpKTsKPiAgICBpZiAoIXJlcykgewo+ICAgICAg QUxPR0UoIkZhaWxlZCB0byBnZXQgRHJtUmVzb3VyY2VzIHJlc291cmNlcyIpOwo+IEBAIC0xNjks NyArMTc3LDcgQEAgaW50IERybVJlc291cmNlczo6SW5pdChSZXNvdXJjZU1hbmFnZXIgKnJlc291 cmNlX21hbmFnZXIsIGNoYXIgKnBhdGgsCj4gICAgICAgIGNvbm4tPnNldF9kaXNwbGF5KDApOwo+ ICAgICAgICBkaXNwbGF5c19bMF0gPSAwOwo+ICAgICAgICBmb3VuZF9wcmltYXJ5ID0gdHJ1ZTsK PiAtICAgIH0gZWxzZSB7Cj4gKyAgICB9IGVsc2UgaWYgKGNvbm4tPmV4dGVybmFsKCkpIHsKPiAg ICAgICAgY29ubi0+c2V0X2Rpc3BsYXkoZGlzcGxheV9udW0pOwo+ICAgICAgICBkaXNwbGF5c19b ZGlzcGxheV9udW1dID0gZGlzcGxheV9udW07Cj4gICAgICAgICsrZGlzcGxheV9udW07Cj4gQEAg LTIzMCw2ICsyMzgsOCBAQCBpbnQgRHJtUmVzb3VyY2VzOjpJbml0KFJlc291cmNlTWFuYWdlciAq cmVzb3VyY2VfbWFuYWdlciwgY2hhciAqcGF0aCwKPiAgICB9Cj4gIAo+ICAgIGZvciAoYXV0byAm Y29ubiA6IGNvbm5lY3RvcnNfKSB7Cj4gKyAgICBpZiAoY29ubi0+d3JpdGViYWNrKCkpCj4gKyAg ICAgIGNvbnRpbnVlOwo+ICAgICAgcmV0ID0gQ3JlYXRlRGlzcGxheVBpcGUoY29ubi5nZXQoKSk7 Cj4gICAgICBpZiAocmV0KSB7Cj4gICAgICAgIEFMT0dFKCJGYWlsZWQgQ3JlYXRlRGlzcGxheVBp cGUgJWQgd2l0aCAlZCIsIGNvbm4tPmlkKCksIHJldCk7Cj4gQEAgLTI0NSw3ICsyNTUsMTUgQEAg Ym9vbCBEcm1SZXNvdXJjZXM6OkhhbmRsZXNEaXNwbGF5KGludCBkaXNwbGF5KSBjb25zdCB7Cj4g IAo+ICBEcm1Db25uZWN0b3IgKkRybVJlc291cmNlczo6R2V0Q29ubmVjdG9yRm9yRGlzcGxheShp bnQgZGlzcGxheSkgY29uc3Qgewo+ICAgIGZvciAoYXV0byAmY29ubiA6IGNvbm5lY3RvcnNfKSB7 Cj4gLSAgICBpZiAoY29ubi0+ZGlzcGxheSgpID09IGRpc3BsYXkpCj4gKyAgICBpZiAoY29ubi0+ ZGlzcGxheSgpID09IGRpc3BsYXkgJiYgIWNvbm4tPndyaXRlYmFjaygpKQo+ICsgICAgICByZXR1 cm4gY29ubi5nZXQoKTsKPiArICB9Cj4gKyAgcmV0dXJuIE5VTEw7Cj4gK30KPiArCj4gK0RybUNv bm5lY3RvciAqRHJtUmVzb3VyY2VzOjpHZXRXcml0ZWJhY2tDb25uZWN0b3JGb3JEaXNwbGF5KGlu dCBkaXNwbGF5KSBjb25zdCB7Cj4gKyAgZm9yIChhdXRvICZjb25uIDogY29ubmVjdG9yc18pIHsK PiArICAgIGlmIChjb25uLT5kaXNwbGF5KCkgPT0gZGlzcGxheSAmJiBjb25uLT53cml0ZWJhY2so KSkKPiAgICAgICAgcmV0dXJuIGNvbm4uZ2V0KCk7Cj4gICAgfQo+ICAgIHJldHVybiBOVUxMOwo+ IEBAIC0yODAsNiArMjk4LDcgQEAgaW50IERybVJlc291cmNlczo6VHJ5RW5jb2RlckZvckRpc3Bs YXkoaW50IGRpc3BsYXksIERybUVuY29kZXIgKmVuYykgewo+ICAgIERybUNydGMgKmNydGMgPSBl bmMtPmNydGMoKTsKPiAgICBpZiAoY3J0YyAmJiBjcnRjLT5jYW5fYmluZChkaXNwbGF5KSkgewo+ ICAgICAgY3J0Yy0+c2V0X2Rpc3BsYXkoZGlzcGxheSk7Cj4gKyAgICBlbmMtPnNldF9kaXNwbGF5 KGRpc3BsYXkpOwo+ICAgICAgcmV0dXJuIDA7Cj4gICAgfQo+ICAKPiBAQCAtMzA2LDYgKzMyNSw3 IEBAIGludCBEcm1SZXNvdXJjZXM6OkNyZWF0ZURpc3BsYXlQaXBlKERybUNvbm5lY3RvciAqY29u bmVjdG9yKSB7Cj4gICAgaWYgKGNvbm5lY3Rvci0+ZW5jb2RlcigpKSB7Cj4gICAgICBpbnQgcmV0 ID0gVHJ5RW5jb2RlckZvckRpc3BsYXkoZGlzcGxheSwgY29ubmVjdG9yLT5lbmNvZGVyKCkpOwo+ ICAgICAgaWYgKCFyZXQpIHsKPiArICAgICAgQXR0YWNoV3JpdGViYWNrKGNvbm5lY3Rvcik7CgpB dHRhY2hXcml0ZWJhY2sgcmV0dXJucyBpbnQsIGJ1dCB5b3UgdGhyb3cgaXQgYXdheSBoZXJlLiBB ZGRpdGlvbmFsbHksCkF0dGFjaFdyaXRlYmFjayBhbHdheXMgZm9sbG93cyBhIHN1Y2Nlc3NmdWwg VHJ5RW5jb2RlckZvckRpc3BsYXksIHNvIGl0IG1ha2VzCnNlbnNlIHRvIGp1c3QgY2FsbCBpdCBm cm9tIHRoZXJlLgoKPiAgICAgICAgcmV0dXJuIDA7Cj4gICAgICB9IGVsc2UgaWYgKHJldCAhPSAt RUFHQUlOKSB7Cj4gICAgICAgIEFMT0dFKCJDb3VsZCBub3Qgc2V0IG1vZGUgJWQvJWQiLCBkaXNw bGF5LCByZXQpOwo+IEBAIC0zMTcsNiArMzM3LDcgQEAgaW50IERybVJlc291cmNlczo6Q3JlYXRl RGlzcGxheVBpcGUoRHJtQ29ubmVjdG9yICpjb25uZWN0b3IpIHsKPiAgICAgIGludCByZXQgPSBU cnlFbmNvZGVyRm9yRGlzcGxheShkaXNwbGF5LCBlbmMpOwo+ICAgICAgaWYgKCFyZXQpIHsKPiAg ICAgICAgY29ubmVjdG9yLT5zZXRfZW5jb2RlcihlbmMpOwo+ICsgICAgICBBdHRhY2hXcml0ZWJh Y2soY29ubmVjdG9yKTsKPiAgICAgICAgcmV0dXJuIDA7Cj4gICAgICB9IGVsc2UgaWYgKHJldCAh PSAtRUFHQUlOKSB7Cj4gICAgICAgIEFMT0dFKCJDb3VsZCBub3Qgc2V0IG1vZGUgJWQvJWQiLCBk aXNwbGF5LCByZXQpOwo+IEBAIC0zMjgsNiArMzQ5LDQzIEBAIGludCBEcm1SZXNvdXJjZXM6OkNy ZWF0ZURpc3BsYXlQaXBlKERybUNvbm5lY3RvciAqY29ubmVjdG9yKSB7Cj4gICAgcmV0dXJuIC1F Tk9ERVY7Cj4gIH0KPiAgCj4gKy8qCj4gKyAqIEF0dGFjaCB3cml0ZWJhY2sgY29ubmVjdG9yIHRv IHRoZSBDUlRDIGxpbmtlZCB0byB0aGUgZGlzcGxheV9jb25uCj4gKyAqCj4gKyAqLwo+ICtpbnQg RHJtUmVzb3VyY2VzOjpBdHRhY2hXcml0ZWJhY2soRHJtQ29ubmVjdG9yICpkaXNwbGF5X2Nvbm4p IHsKPiArICBpbnQgcmV0ID0gLUVJTlZBTDsKClRoaXMgaXNuJ3QgcmVhbGx5IHVzZWQsIGp1c3Qg cmV0dXJuIHRoZSBlcnJvciBjb2RlIGRpcmVjdGx5IGF0IHRoZSBib3R0b20uCgo+ICsgIGlmIChk aXNwbGF5X2Nvbm4tPndyaXRlYmFjaygpKQo+ICsgICAgcmV0dXJuIC1FSU5WQUw7CgpUaGlzIGNv bmRpdGlvbiB3b3VsZCBiZW5lZml0IGZyb20gYSBsb2cKCj4gKyAgRHJtRW5jb2RlciAqZGlzcGxh eV9lbmMgPSBkaXNwbGF5X2Nvbm4tPmVuY29kZXIoKTsKPiArICBpZiAoIWRpc3BsYXlfZW5jKQo+ ICsgICAgcmV0dXJuIC1FSU5WQUw7Cj4gKyAgRHJtQ3J0YyAqZGlzcGxheV9jcnRjID0gZGlzcGxh eV9lbmMtPmNydGMoKTsKPiArICBpZiAoIWRpc3BsYXlfY3J0YykKPiArICAgIHJldHVybiAtRUlO VkFMOwoKQXJlIHRoZXNlIHBvc3NpYmxlIGdpdmVuIHRoaXMgaXMgb25seSBjYWxsZWQgYWZ0ZXIg YSBzdWNjZXNzZnVsClRyeUVuY29kZXJGb3JEaXNwbGF5KCk/Cgo+ICsgIGlmIChHZXRXcml0ZWJh Y2tDb25uZWN0b3JGb3JEaXNwbGF5KGRpc3BsYXlfY3J0Yy0+ZGlzcGxheSgpKSAhPSBOVUxMKQo+ ICsgICAgcmV0dXJuIC1FSU5WQUw7CgpBZ2FpbiwgbG9nZ2luZyB3b3VsZCBiZSB1c2VmdWwuCgo+ ICsgIGZvciAoYXV0byAmd3JpdGViYWNrX2Nvbm4gOiBjb25uZWN0b3JzXykgewo+ICsgICAgaWYg KHdyaXRlYmFja19jb25uLT5kaXNwbGF5KCkgPj0gMCB8fCAhd3JpdGViYWNrX2Nvbm4tPndyaXRl YmFjaygpKQoKVGhlcmUgZG9lc24ndCBzZWVtIHRvIGJlIGFueSBzaXR1YXRpb24gd2hlcmUgeW91 IGl0ZXJhdGUgdGhyb3VnaCBjb25uZWN0b3JzXyBhbmQKeW91IGRvbid0IGhhdmUgc29tZSB0eXBl IG9mIHdyaXRlYmFjaygpIGNoZWNrLiBTbyBpdCBzZWVtcyBsaWtlIGl0J2QgbWFrZSBzZW5zZQp0 byB0cmFjayB0aGVzZSBpbiBkaWZmZXJlbnQgdmVjdG9ycy4KCj4gKyAgICAgIGNvbnRpbnVlOwo+ ICsgICAgZm9yIChEcm1FbmNvZGVyICp3cml0ZWJhY2tfZW5jIDogd3JpdGViYWNrX2Nvbm4tPnBv c3NpYmxlX2VuY29kZXJzKCkpIHsKPiArICAgICAgZm9yIChEcm1DcnRjICpwb3NzaWJsZV9jcnRj IDogd3JpdGViYWNrX2VuYy0+cG9zc2libGVfY3J0Y3MoKSkgewo+ICsgICAgICAgIGlmIChwb3Nz aWJsZV9jcnRjICE9IGRpc3BsYXlfY3J0YykKPiArICAgICAgICAgIGNvbnRpbnVlOwo+ICsgICAg ICAgIC8vIFVzZSBqdXN0IGVuY29kZXJzIHdoaWNoIGhhZCBub3QgYmVlbiBib3VuZCBhbHJlYWR5 Cj4gKyAgICAgICAgaWYgKHdyaXRlYmFja19lbmMtPmNhbl9iaW5kKGRpc3BsYXlfY3J0Yy0+ZGlz cGxheSgpKSkgewo+ICsgICAgICAgICAgd3JpdGViYWNrX2VuYy0+c2V0X2NydGMoZGlzcGxheV9j cnRjKTsKPiArICAgICAgICAgIHdyaXRlYmFja19jb25uLT5zZXRfZW5jb2Rlcih3cml0ZWJhY2tf ZW5jKTsKPiArICAgICAgICAgIHdyaXRlYmFja19jb25uLT5zZXRfZGlzcGxheShkaXNwbGF5X2Ny dGMtPmRpc3BsYXkoKSk7Cj4gKyAgICAgICAgICB3cml0ZWJhY2tfY29ubi0+VXBkYXRlTW9kZXMo KTsKPiArICAgICAgICAgIHJldHVybiAwOwo+ICsgICAgICAgIH0KPiArICAgICAgfQo+ICsgICAg fQo+ICsgIH0KPiArICByZXR1cm4gcmV0Owo+ICt9Cj4gKwo+ICBpbnQgRHJtUmVzb3VyY2VzOjpD cmVhdGVQcm9wZXJ0eUJsb2Iodm9pZCAqZGF0YSwgc2l6ZV90IGxlbmd0aCwKPiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICpibG9iX2lkKSB7Cj4gICAgc3Ry dWN0IGRybV9tb2RlX2NyZWF0ZV9ibG9iIGNyZWF0ZV9ibG9iOwo+IGRpZmYgLS1naXQgYS9kcm1y ZXNvdXJjZXMuaCBiL2RybXJlc291cmNlcy5oCj4gaW5kZXggNGNkY2Q4Ny4uNGZiMTdmYyAxMDA2 NDQKPiAtLS0gYS9kcm1yZXNvdXJjZXMuaAo+ICsrKyBiL2RybXJlc291cmNlcy5oCj4gQEAgLTU5 LDYgKzU5LDggQEAgY2xhc3MgRHJtUmVzb3VyY2VzIHsKPiAgICB9Cj4gIAo+ICAgIERybUNvbm5l Y3RvciAqR2V0Q29ubmVjdG9yRm9yRGlzcGxheShpbnQgZGlzcGxheSkgY29uc3Q7Cj4gKyAgRHJt Q29ubmVjdG9yICpHZXRXcml0ZWJhY2tDb25uZWN0b3JGb3JEaXNwbGF5KGludCBkaXNwbGF5KSBj b25zdDsKPiArICBEcm1Db25uZWN0b3IgKkZpbmRXcml0ZWJhY2tDb25uZWN0b3IoaW50IGRpc3Bs YXkpIGNvbnN0Owo+ICAgIERybUNydGMgKkdldENydGNGb3JEaXNwbGF5KGludCBkaXNwbGF5KSBj b25zdDsKPiAgICBEcm1QbGFuZSAqR2V0UGxhbmUodWludDMyX3QgaWQpIGNvbnN0Owo+ICAgIERy bUV2ZW50TGlzdGVuZXIgKmV2ZW50X2xpc3RlbmVyKCk7Cj4gQEAgLTg0LDYgKzg2LDcgQEAgY2xh c3MgRHJtUmVzb3VyY2VzIHsKPiAgICAgICAgICAgICAgICAgICAgRHJtUHJvcGVydHkgKnByb3Bl cnR5KTsKPiAgCj4gICAgaW50IENyZWF0ZURpc3BsYXlQaXBlKERybUNvbm5lY3RvciAqY29ubmVj dG9yKTsKPiArICBpbnQgQXR0YWNoV3JpdGViYWNrKERybUNvbm5lY3RvciAqZGlzcGxheV9jb25u KTsKPiAgCj4gICAgVW5pcXVlRmQgZmRfOwo+ICAgIHVpbnQzMl90IG1vZGVfaWRfID0gMDsKPiAt LSAKPiAyLjcuNAo+IAoKLS0gClNlYW4gUGF1bCwgU29mdHdhcmUgRW5naW5lZXIsIEdvb2dsZSAv IENocm9taXVtIE9TCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZl bAo=