From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: Re: [PATCH 1/3] drm: Add a new connector atomic property for link status Date: Thu, 1 Dec 2016 14:05:08 -0500 Message-ID: References: <1480491033-1923-1-git-send-email-manasi.d.navare@intel.com> <20161201185811.GA3778@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20161201185811.GA3778@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Manasi Navare Cc: Intel Graphics Development , dri-devel , Daniel Vetter List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCBEZWMgMSwgMjAxNiBhdCAxOjU4IFBNLCBNYW5hc2kgTmF2YXJlIDxtYW5hc2kuZC5u YXZhcmVAaW50ZWwuY29tPiB3cm90ZToKPiBTZWFuLCBjb3VsZCB5b3UgcGxlYXNlIHJldmlldyB0 aGlzIHBhdGNoLCBJIGhhdmUgdHJpZWQgdG8gYWRkcmVzcwo+IGFsbCB0aGUgY29tbWVudHMgZnJv bSB5b3UuCj4KCkNvbW1lbnRzIGxvb2sgZ29vZCB0byBtZS4KClJldmlld2VkLWJ5OiBTZWFuIFBh dWwgPHNlYW5wYXVsQGNocm9taXVtLm9yZz4KClNlYW4KCj4gUmVnYXJkcwo+IE1hbmFzaQo+Cj4g T24gVHVlLCBOb3YgMjksIDIwMTYgYXQgMTE6MzA6MzFQTSAtMDgwMCwgTWFuYXNpIE5hdmFyZSB3 cm90ZToKPj4gQXQgdGhlIHRpbWUgdXNlcnNwYWNlIGRvZXMgc2V0Y3J0Yywgd2UndmUgYWxyZWFk eSBwcm9taXNlZCB0aGUgbW9kZQo+PiB3b3VsZCB3b3JrLiBUaGUgcHJvbWlzZSBpcyBiYXNlZCBv biB0aGUgdGhlb3JldGljYWwgY2FwYWJpbGl0aWVzIG9mCj4+IHRoZSBsaW5rLCBidXQgaXQncyBw b3NzaWJsZSB3ZSBjYW4ndCByZWFjaCB0aGlzIGluIHByYWN0aWNlLiBUaGUgRFAKPj4gc3BlYyBk ZXNjcmliZXMgaG93IHRoZSBsaW5rIHNob3VsZCBiZSByZWR1Y2VkLCBidXQgd2UgY2FuJ3QgcmVk dWNlCj4+IHRoZSBsaW5rIGJlbG93IHRoZSByZXF1aXJlbWVudHMgb2YgdGhlIG1vZGUuIEJsYWNr IHNjcmVlbiBmb2xsb3dzLgo+Pgo+PiBPbmUgaWRlYSB3b3VsZCBiZSB0byBoYXZlIHNldGNydGMg cmV0dXJuIGEgZmFpbHVyZS4gSG93ZXZlciwgaXQKPj4gYWxyZWFkeSBzaG91bGQgbm90IGZhaWwg YXMgdGhlIGF0b21pYyBjaGVja3MgaGF2ZSBwYXNzZWQuIEl0IHdvdWxkCj4+IGFsc28gY29uZmxp Y3Qgd2l0aCB0aGUgaWRlYSBvZiBtYWtpbmcgc2V0Y3J0YyBhc3luY2hyb25vdXMgaW4gdGhlCj4+ IGZ1dHVyZSwgcmV0dXJuaW5nIGJlZm9yZSB0aGUgYWN0dWFsIG1vZGUgc2V0dGluZyBhbmQgbGlu ayB0cmFpbmluZy4KPj4KPj4gQW5vdGhlciBpZGVhIGlzIHRvIHRyYWluIHRoZSBsaW5rICJ1cGZy b250IiBhdCBob3RwbHVnIHRpbWUsIGJlZm9yZQo+PiBwcnVuaW5nIHRoZSBtb2RlIGxpc3QsIHNv IHRoYXQgd2UgY2FuIGRvIHRoZSBwcnVuaW5nIGJhc2VkIG9uCj4+IHByYWN0aWNhbCBub3QgdGhl b3JldGljYWwgY2FwYWJpbGl0aWVzLiBIb3dldmVyLCB0aGUgY2hhbmdlcyBmb3IgbGluawo+PiB0 cmFpbmluZyBhcmUgcHJldHR5IGRyYXN0aWMsIGFsbCBmb3IgdGhlIHNha2Ugb2YgZXJyb3IgaGFu ZGxpbmcgYW5kCj4+IERQIGNvbXBsaWFuY2UsIHdoZW4gdGhlIG1vc3QgY29tbW9uIGhhcHB5IGRh eSBzY2VuYXJpbyBpcyB0aGUgY3VycmVudAo+PiBhcHByb2FjaCBvZiBsaW5rIHRyYWluaW5nIGF0 IG1vZGUgc2V0dGluZyB0aW1lLCB1c2luZyB0aGUgb3B0aW1hbAo+PiBwYXJhbWV0ZXJzIGZvciB0 aGUgbW9kZS4gSXQgaXMgYWxzbyBub3QgY2VydGFpbiBhbGwgaGFyZHdhcmUgY291bGQgZG8KPj4g dGhpcyB3aXRob3V0IHRoZSBwaXBlIG9uOyBub3QgZXZlbiBhbGwgb3VyIGhhcmR3YXJlIGNhbiBk byB0aGlzLiBTb21lCj4+IG9mIHRoaXMgY2FuIGJlIHNvbHZlZCwgYnV0IG5vdCB0cml2aWFsbHku Cj4+Cj4+IEJvdGggb2YgdGhlIGFib3ZlIGlkZWFzIGFsc28gZmFpbCB0byBhZGRyZXNzIGxpbmsg ZGVncmFkYXRpb24gKmR1cmluZyoKPj4gb3BlcmF0aW9uLgo+Pgo+PiBUaGUgc29sdXRpb24gaXMg dG8gYWRkIGEgbmV3ICJsaW5rLXN0YXR1cyIgY29ubmVjdG9yIHByb3BlcnR5IGluIG9yZGVyCj4+ IHRvIGFkZHJlc3MgbGluayB0cmFpbmluZyBmYWlsdXJlIGluIGEgd2F5IHRoYXQ6Cj4+IGEpIGNo YW5nZXMgdGhlIGN1cnJlbnQgaGFwcHkgZGF5IHNjZW5hcmlvIGFzIGxpdHRsZSBhcyBwb3NzaWJs ZSwgdG8KPj4gYXZvaWQgcmVncmVzc2lvbnMsIGIpIGNhbiBiZSBpbXBsZW1lbnRlZCB0aGUgc2Ft ZSB3YXkgYnkgYWxsIGRybQo+PiBkcml2ZXJzLCBjKSBpcyBzdGlsbCBvcHQtaW4gZm9yIHRoZSBk cml2ZXJzIGFuZCB1c2Vyc3BhY2UsIGFuZCBvcHRpbmcKPj4gb3V0IGRvZXNuJ3QgcmVncmVzcyB0 aGUgdXNlciBleHBlcmllbmNlLCBkKSBkb2Vzbid0IHByZXZlbnQgZHJpdmVycwo+PiBmcm9tIGlt cGxlbWVudGluZyBiZXR0ZXIgb3IgYWx0ZXJuYXRlIGFwcHJvYWNoZXMsIHBvc3NpYmx5IHdpdGhv dXQKPj4gdXNlcnNwYWNlIGludm9sdmVtZW50LiBBbmQsIG9mIGNvdXJzZSwgaGFuZGxlcyBhbGwg dGhlIGlzc3VlcyBwcmVzZW50ZWQuCj4+IEluIHRoZSB1c3VhbCBoYXBweSBkYXkgc2NlbmFyaW8s IHRoaXMgaXMgYWx3YXlzICJnb29kIi4gSWYgc29tZXRoaW5nCj4+IGZhaWxzIGR1cmluZyBvciBh ZnRlciBhIG1vZGUgc2V0LCB0aGUga2VybmVsIGRyaXZlciBjYW4gc2V0IHRoZSBsaW5rCj4+IHN0 YXR1cyB0byAiYmFkIiBhbmQgaXNzdWUgYSBob3RwbHVnIHVldmVudCBmb3IgdXNlcnNwYWNlIHRv IGhhdmUgaXQKPj4gcmUtY2hlY2sgdGhlIHZhbGlkIG1vZGVzIHRocm91Z2ggR0VUX0NPTk5FQ1RP UiBJT0NUTCwgYW5kIHRyeSBtb2Rlc2V0Cj4+IGFnYWluLiBJZiB0aGUgdGhlb3JldGljYWwgY2Fw YWJpbGl0aWVzIG9mIHRoZSBsaW5rIGNhbid0IGJlIHJlYWNoZWQsCj4+IHRoZSBtb2RlIGxpc3Qg aXMgdHJpbW1lZCBiYXNlZCBvbiB0aGF0Lgo+Pgo+PiB2NDoKPj4gKiBBZGQgY29tbWVudHMgaW4g a2VybmVsLWRvYyBmb3JtYXQgKERhbmllbCBWZXR0ZXIpCj4+ICogVXBkYXRlIHRoZSBrZXJuZWwt ZG9jIGZvciBsaW5rLXN0YXR1cyAoU2VhbiBQYXVsKQo+PiB2MzoKPj4gKiBGaXhlZCBhIGJ1aWxk IGVycm9yIChKYW5pIFNhYXJpbmVuKQo+PiB2MjoKPj4gKiBSZW1vdmVkIGNvbm5lY3Rvci0+bGlu a19zdGF0dXMgKERhbmllbCBWZXR0ZXIpCj4+ICogU2V0IGNvbm5lY3Rvci0+c3RhdGUtPmxpbmtf c3RhdHVzIGluIGRybV9tb2RlX2Nvbm5lY3Rvcl9zZXRfbGlua19zdGF0dXNfcHJvcGVydHkKPj4g KERhbmllbCBWZXR0ZXIpCj4+ICogU2V0IHRoZSBjb25uZWN0b3JfY2hhbmdlZCBmbGFnIHRvIHRy dWUgaWYgY29ubmVjdG9yLT5zdGF0ZS0+bGlua19zdGF0dXMgY2hhbmdlZC4KPj4gKiBSZXNldCBs aW5rX3N0YXR1cyB0byBHT09EIGluIHVwZGF0ZV9vdXRwdXRfc3RhdGUgKERhbmllbCBWZXR0ZXIp Cj4+ICogTmV2ZXIgYWxsb3cgdXNlcnNwYWNlIHRvIHNldCBsaW5rIHN0YXR1cyBmcm9tIEdvb2Qg VG8gQmFkIChEYW5pZWwgVmV0dGVyKQo+Pgo+PiBBY2tlZC1ieTogVG9ueSBDaGVuZyA8dG9ueS5j aGVuZ0BhbWQuY29tPgo+PiBBY2tlZC1ieTogSGFycnkgV2VudGxhbmQgPGhhcnJ5LndlbnRsYW5k QGFtZC5jb20+Cj4+IENjOiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAbGludXguaW50ZWwuY29t Pgo+PiBDYzogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBpbnRlbC5jb20+Cj4+IENjOiBW aWxsZSBTeXJqYWxhIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPj4gQ2M6IENocmlz IFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+PiBDYzogU2VhbiBQYXVsIDxzZWFu cGF1bEBjaHJvbWl1bS5vcmc+Cj4+IFNpZ25lZC1vZmYtYnk6IE1hbmFzaSBOYXZhcmUgPG1hbmFz aS5kLm5hdmFyZUBpbnRlbC5jb20+Cj4+IC0tLQo+PiAgZHJpdmVycy9ncHUvZHJtL2RybV9hdG9t aWMuYyAgICAgICAgfCAxMCArKysrKysrCj4+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19o ZWxwZXIuYyB8ICA4ICsrKysrKwo+PiAgZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYyAg ICAgfCA1NCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCj4+ICBpbmNsdWRl L2RybS9kcm1fY29ubmVjdG9yLmggICAgICAgICB8IDE5ICsrKysrKysrKysrKysKPj4gIGluY2x1 ZGUvZHJtL2RybV9tb2RlX2NvbmZpZy5oICAgICAgIHwgIDUgKysrKwo+PiAgaW5jbHVkZS91YXBp L2RybS9kcm1fbW9kZS5oICAgICAgICAgfCAgNCArKysKPj4gIDYgZmlsZXMgY2hhbmdlZCwgOTkg aW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQo+Pgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2RybV9hdG9taWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKPj4gaW5k ZXggODk3MzdlNC4uOTkwZjAxMyAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9h dG9taWMuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCj4+IEBAIC0xMDg3 LDYgKzEwODcsMTQgQEAgaW50IGRybV9hdG9taWNfY29ubmVjdG9yX3NldF9wcm9wZXJ0eShzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+PiAgICAgICAgICAgICAgICAqIG5vdz8pIGF0 b21pYyB3cml0ZXMgdG8gRFBNUyBwcm9wZXJ0eToKPj4gICAgICAgICAgICAgICAgKi8KPj4gICAg ICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKPj4gKyAgICAgfSBlbHNlIGlmIChwcm9wZXJ0eSA9 PSBjb25maWctPmxpbmtfc3RhdHVzX3Byb3BlcnR5KSB7Cj4+ICsgICAgICAgICAgICAgLyogTmV2 ZXIgZG93bmdyYWRlIGZyb20gR09PRCB0byBCQUQgb24gdXNlcnNwYWNlJ3MgcmVxdWVzdCBoZXJl LAo+PiArICAgICAgICAgICAgICAqIG9ubHkgaHcgaXNzdWVzIGNhbiBkbyB0aGF0Lgo+PiArICAg ICAgICAgICAgICAqLwo+PiArICAgICAgICAgICAgIGlmIChzdGF0ZS0+bGlua19zdGF0dXMgPT0g RFJNX0xJTktfU1RBVFVTX0dPT0QpCj4+ICsgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsK Pj4gKyAgICAgICAgICAgICBzdGF0ZS0+bGlua19zdGF0dXMgPSB2YWw7Cj4+ICsgICAgICAgICAg ICAgcmV0dXJuIDA7Cj4+ICAgICAgIH0gZWxzZSBpZiAoY29ubmVjdG9yLT5mdW5jcy0+YXRvbWlj X3NldF9wcm9wZXJ0eSkgewo+PiAgICAgICAgICAgICAgIHJldHVybiBjb25uZWN0b3ItPmZ1bmNz LT5hdG9taWNfc2V0X3Byb3BlcnR5KGNvbm5lY3RvciwKPj4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc3RhdGUsIHByb3BlcnR5LCB2YWwpOwo+PiBAQCAtMTEzNSw2ICsxMTQzLDggQEAg c3RhdGljIHZvaWQgZHJtX2F0b21pY19jb25uZWN0b3JfcHJpbnRfc3RhdGUoc3RydWN0IGRybV9w cmludGVyICpwLAo+PiAgICAgICAgICAgICAgICp2YWwgPSAoc3RhdGUtPmNydGMpID8gc3RhdGUt PmNydGMtPmJhc2UuaWQgOiAwOwo+PiAgICAgICB9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbmZp Zy0+ZHBtc19wcm9wZXJ0eSkgewo+PiAgICAgICAgICAgICAgICp2YWwgPSBjb25uZWN0b3ItPmRw bXM7Cj4+ICsgICAgIH0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT5saW5rX3N0YXR1c19w cm9wZXJ0eSkgewo+PiArICAgICAgICAgICAgICp2YWwgPSBzdGF0ZS0+bGlua19zdGF0dXM7Cj4+ ICAgICAgIH0gZWxzZSBpZiAoY29ubmVjdG9yLT5mdW5jcy0+YXRvbWljX2dldF9wcm9wZXJ0eSkg ewo+PiAgICAgICAgICAgICAgIHJldHVybiBjb25uZWN0b3ItPmZ1bmNzLT5hdG9taWNfZ2V0X3By b3BlcnR5KGNvbm5lY3RvciwKPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUs IHByb3BlcnR5LCB2YWwpOwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9t aWNfaGVscGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwo+PiBpbmRl eCA0OTQ2ODBjLi45NjJlZDY2IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0 b21pY19oZWxwZXIuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIu Ywo+PiBAQCAtNTE5LDYgKzUxOSwxMyBAQCBzdGF0aWMgaW50IGhhbmRsZV9jb25mbGljdGluZ19l bmNvZGVycyhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4+ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbm5lY3Rvcl9zdGF0ZSk7Cj4+ICAgICAg ICAgICAgICAgaWYgKHJldCkKPj4gICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXQ7Cj4+ ICsgICAgICAgICAgICAgaWYgKGNvbm5lY3Rvci0+c3RhdGUtPmNydGMpIHsKPj4gKyAgICAgICAg ICAgICAgICAgICAgIGNydGNfc3RhdGUgPSBkcm1fYXRvbWljX2dldF9leGlzdGluZ19jcnRjX3N0 YXRlKHN0YXRlLAo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29ubmVjdG9yLT5zdGF0ZS0+Y3J0Yyk7Cj4+ICsg ICAgICAgICAgICAgICAgICAgICBpZiAoY29ubmVjdG9yLT5zdGF0ZS0+bGlua19zdGF0dXMgIT0K Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25uZWN0b3Jfc3RhdGUtPmxpbmtfc3RhdHVz KQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcnRjX3N0YXRlLT5jb25uZWN0b3Jz X2NoYW5nZWQgPSB0cnVlOwo+PiArICAgICAgICAgICAgIH0KPj4gICAgICAgfQo+Pgo+PiAgICAg ICAvKgo+PiBAQCAtMjI1OCw2ICsyMjY1LDcgQEAgc3RhdGljIGludCB1cGRhdGVfb3V0cHV0X3N0 YXRlKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKPj4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKPj4gICAg ICAgICAgICAgICAgICAgICAgIGlmIChyZXQpCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHJldHVybiByZXQ7Cj4+ICsgICAgICAgICAgICAgICAgICAgICBjb25uX3N0YXRlLT5saW5r X3N0YXR1cyA9IERSTV9MSU5LX1NUQVRVU19HT09EOwo+PiAgICAgICAgICAgICAgIH0KPj4gICAg ICAgfQo+Pgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYyBi L2RyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMKPj4gaW5kZXggNWE0NTI2Mi4uODkwMjM2 NyAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYwo+PiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jCj4+IEBAIC0yNDMsNiArMjQzLDEwIEBA IGludCBkcm1fY29ubmVjdG9yX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPj4gICAgICAg ZHJtX29iamVjdF9hdHRhY2hfcHJvcGVydHkoJmNvbm5lY3Rvci0+YmFzZSwKPj4gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnLT5kcG1zX3Byb3BlcnR5LCAwKTsKPj4K Pj4gKyAgICAgZHJtX29iamVjdF9hdHRhY2hfcHJvcGVydHkoJmNvbm5lY3Rvci0+YmFzZSwKPj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnLT5saW5rX3N0YXR1c19wcm9w ZXJ0eSwKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCk7Cj4+ICsKPj4gICAg ICAgaWYgKGRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfQVRPTUlDKSkgewo+PiAg ICAgICAgICAgICAgIGRybV9vYmplY3RfYXR0YWNoX3Byb3BlcnR5KCZjb25uZWN0b3ItPmJhc2Us IGNvbmZpZy0+cHJvcF9jcnRjX2lkLCAwKTsKPj4gICAgICAgfQo+PiBAQCAtNTA2LDYgKzUxMCwx MiBAQCBjb25zdCBjaGFyICpkcm1fZ2V0X3N1YnBpeGVsX29yZGVyX25hbWUoZW51bSBzdWJwaXhl bF9vcmRlciBvcmRlcikKPj4gIH07Cj4+ICBEUk1fRU5VTV9OQU1FX0ZOKGRybV9nZXRfZHBtc19u YW1lLCBkcm1fZHBtc19lbnVtX2xpc3QpCj4+Cj4+ICtzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9w cm9wX2VudW1fbGlzdCBkcm1fbGlua19zdGF0dXNfZW51bV9saXN0W10gPSB7Cj4+ICsgICAgIHsg RFJNX01PREVfTElOS19TVEFUVVNfR09PRCwgIkdvb2QiIH0sCj4+ICsgICAgIHsgRFJNX01PREVf TElOS19TVEFUVVNfQkFELCAiQmFkIiB9LAo+PiArfTsKPj4gK0RSTV9FTlVNX05BTUVfRk4oZHJt X2dldF9saW5rX3N0YXR1c19uYW1lLCBkcm1fbGlua19zdGF0dXNfZW51bV9saXN0KQo+PiArCj4+ ICAvKioKPj4gICAqIGRybV9kaXNwbGF5X2luZm9fc2V0X2J1c19mb3JtYXRzIC0gc2V0IHRoZSBz dXBwb3J0ZWQgYnVzIGZvcm1hdHMKPj4gICAqIEBpbmZvOiBkaXNwbGF5IGluZm8gdG8gc3RvcmUg YnVzIGZvcm1hdHMgaW4KPj4gQEAgLTYyNSw3ICs2MzUsMTEgQEAgaW50IGRybV9kaXNwbGF5X2lu Zm9fc2V0X2J1c19mb3JtYXRzKHN0cnVjdCBkcm1fZGlzcGxheV9pbmZvICppbmZvLAo+PiAgICog ICB0aWxpbmcgYW5kIHZpcnR1YWxpemUgYm90aCAmZHJtX2NydGMgYW5kICZkcm1fcGxhbmUgaWYg bmVlZGVkLiBEcml2ZXJzCj4+ICAgKiAgIHNob3VsZCB1cGRhdGUgdGhpcyB2YWx1ZSB1c2luZyBk cm1fbW9kZV9jb25uZWN0b3Jfc2V0X3RpbGVfcHJvcGVydHkoKS4KPj4gICAqICAgVXNlcnNwYWNl IGNhbm5vdCBjaGFuZ2UgdGhpcyBwcm9wZXJ0eS4KPj4gLSAqCj4+ICsgKiBsaW5rLXN0YXR1czoK Pj4gKyAqICAgICAgQ29ubmVjdG9yIGxpbmstc3RhdHVzIHByb3BlcnR5IHRvIGluZGljYXRlIHRo ZSBzdGF0dXMgb2YgbGluay4gVGhlIGRlZmF1bHQKPj4gKyAqICAgICAgdmFsdWUgb2YgbGluay1z dGF0dXMgaXMgIkdPT0QiLiBJZiBzb21ldGhpbmcgZmFpbHMgZHVyaW5nIG9yIGFmdGVyIG1vZGVz ZXQsCj4+ICsgKiAgICAgIHRoZSBrZXJuZWwgZHJpdmVyIG1heSBzZXQgdGhpcyB0byAiQkFEIiBh bmQgaXNzdWUgYSBob3RwbHVnIHVldmVudC4gRHJpdmVycwo+PiArICogICAgICBzaG91bGQgdXBk YXRlIHRoaXMgdmFsdWUgdXNpbmcgZHJtX21vZGVfY29ubmVjdG9yX3NldF9saW5rX3N0YXR1c19w cm9wZXJ0eSgpLgo+PiAgICogQ29ubmVjdG9ycyBhbHNvIGhhdmUgb25lIHN0YW5kYXJkaXplZCBh dG9taWMgcHJvcGVydHk6Cj4+ICAgKgo+PiAgICogQ1JUQ19JRDoKPj4gQEAgLTY2Niw2ICs2ODAs MTMgQEAgaW50IGRybV9jb25uZWN0b3JfY3JlYXRlX3N0YW5kYXJkX3Byb3BlcnRpZXMoc3RydWN0 IGRybV9kZXZpY2UgKmRldikKPj4gICAgICAgICAgICAgICByZXR1cm4gLUVOT01FTTsKPj4gICAg ICAgZGV2LT5tb2RlX2NvbmZpZy50aWxlX3Byb3BlcnR5ID0gcHJvcDsKPj4KPj4gKyAgICAgcHJv cCA9IGRybV9wcm9wZXJ0eV9jcmVhdGVfZW51bShkZXYsIDAsICJsaW5rLXN0YXR1cyIsCj4+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJtX2xpbmtfc3RhdHVzX2VudW1f bGlzdCwKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUlJBWV9TSVpF KGRybV9saW5rX3N0YXR1c19lbnVtX2xpc3QpKTsKPj4gKyAgICAgaWYgKCFwcm9wKQo+PiArICAg ICAgICAgICAgIHJldHVybiAtRU5PTUVNOwo+PiArICAgICBkZXYtPm1vZGVfY29uZmlnLmxpbmtf c3RhdHVzX3Byb3BlcnR5ID0gcHJvcDsKPj4gKwo+PiAgICAgICByZXR1cm4gMDsKPj4gIH0KPj4K Pj4gQEAgLTk5NSw2ICsxMDE2LDM3IEBAIGludCBkcm1fbW9kZV9jb25uZWN0b3JfdXBkYXRlX2Vk aWRfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPj4gIH0KPj4gIEVY UE9SVF9TWU1CT0woZHJtX21vZGVfY29ubmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5KTsKPj4K Pj4gKy8qKgo+PiArICogZHJtX21vZGVfY29ubmVjdG9yX3NldF9saW5rX3N0YXR1c19wcm9wZXJ0 eSAtIFNldCBsaW5rIHN0YXR1cyBwcm9wZXJ0eSBvZiBhIGNvbm5lY3Rvcgo+PiArICogQGNvbm5l Y3RvcjogZHJtIGNvbm5lY3Rvcgo+PiArICogQGxpbmtfc3RhdHVzOiBuZXcgdmFsdWUgb2YgbGlu ayBzdGF0dXMgcHJvcGVydHkgKDA6IEdvb2QsIDE6IEJhZCkKPj4gKyAqCj4+ICsgKiBJbiB1c3Vh bCB3b3JraW5nIHNjZW5hcmlvLCB0aGlzIGxpbmsgc3RhdHVzIHByb3BlcnR5IHdpbGwgYWx3YXlz IGJlIHNldCB0bwo+PiArICogIkdPT0QiLiBJZiBzb21ldGhpbmcgZmFpbHMgZHVyaW5nIG9yIGFm dGVyIGEgbW9kZSBzZXQsIHRoZSBrZXJuZWwgZHJpdmVyCj4+ICsgKiBtYXkgc2V0IHRoaXMgbGlu ayBzdGF0dXMgcHJvcGVydHkgdG8gIkJBRCIuIFRoZSBjYWxsZXIgdGhlbiBuZWVkcyB0byBzZW5k IGEKPj4gKyAqIGhvdHBsdWcgdWV2ZW50IGZvciB1c2Vyc3BhY2UgdG8gcmUtY2hlY2sgdGhlIHZh bGlkIG1vZGVzIHRocm91Z2gKPj4gKyAqIEdFVF9DT05ORUNUT1JfSU9DVEwgYW5kIHJldHJ5IG1v ZGVzZXQuCj4+ICsgKgo+PiArICogTm90ZTogRHJpdmVycyBjYW5ub3QgcmVseSBvbiB1c2Vyc3Bh Y2UgdG8gc3VwcG9ydCB0aGlzIHByb3BlcnR5IGFuZAo+PiArICogaXNzdWUgYSBtb2Rlc2V0LiBB cyBzdWNoLCB0aGV5IG1heSBjaG9vc2UgdG8gaGFuZGxlIGlzc3VlcyAobGlrZQo+PiArICogcmUt dHJhaW5pbmcgYSBsaW5rKSB3aXRob3V0IHVzZXJzcGFjZSdzIGludGVydmVudGlvbi4KPj4gKyAq Cj4+ICsgKiBUaGUgcmVhc29uIGZvciBhZGRpbmcgdGhpcyBwcm9wZXJ0eSBpcyB0byBoYW5kbGUg bGluayB0cmFpbmluZyBmYWlsdXJlcywgYnV0Cj4+ICsgKiBpdCBpcyBub3QgbGltaXRlZCB0byBE UCBvciBsaW5rIHRyYWluaW5nLiBGb3IgZXhhbXBsZSwgaWYgd2UgaW1wbGVtZW50Cj4+ICsgKiBh c3luY2hyb25vdXMgc2V0Y3J0YywgdGhpcyBwcm9wZXJ0eSBjYW4gYmUgdXNlZCB0byByZXBvcnQg YW55IGZhaWx1cmVzIGluIHRoYXQuCj4+ICsgKi8KPj4gK3ZvaWQgZHJtX21vZGVfY29ubmVjdG9y X3NldF9saW5rX3N0YXR1c19wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9y LAo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2 NF90IGxpbmtfc3RhdHVzKQo+PiArewo+PiArICAgICBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0g Y29ubmVjdG9yLT5kZXY7Cj4+ICsKPj4gKyAgICAgZHJtX21vZGVzZXRfbG9jaygmZGV2LT5tb2Rl X2NvbmZpZy5jb25uZWN0aW9uX211dGV4LCBOVUxMKTsKPj4gKyAgICAgY29ubmVjdG9yLT5zdGF0 ZS0+bGlua19zdGF0dXMgPSBsaW5rX3N0YXR1czsKPj4gKyAgICAgZHJtX21vZGVzZXRfdW5sb2Nr KCZkZXYtPm1vZGVfY29uZmlnLmNvbm5lY3Rpb25fbXV0ZXgpOwo+PiArCj4+ICt9Cj4+ICtFWFBP UlRfU1lNQk9MKGRybV9tb2RlX2Nvbm5lY3Rvcl9zZXRfbGlua19zdGF0dXNfcHJvcGVydHkpOwo+ PiArCj4+ICBpbnQgZHJtX21vZGVfY29ubmVjdG9yX3NldF9vYmpfcHJvcChzdHJ1Y3QgZHJtX21v ZGVfb2JqZWN0ICpvYmosCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1 Y3QgZHJtX3Byb3BlcnR5ICpwcm9wZXJ0eSwKPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHVpbnQ2NF90IHZhbHVlKQo+PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2Nv bm5lY3Rvci5oIGIvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oCj4+IGluZGV4IDM0Zjk3NDEu LjUzYzVmNzAgMTAwNjQ0Cj4+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaAo+PiAr KysgYi9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKPj4gQEAgLTkwLDYgKzkwLDE3IEBAIGVu dW0gc3VicGl4ZWxfb3JkZXIgewo+PiAgfTsKPj4KPj4gIC8qKgo+PiArICogZW51bSBkcm1fbGlu a19zdGF0dXMgLSBjb25uZWN0b3IncyBsaW5rX3N0YXR1cyBwcm9wZXJ0eSB2YWx1ZQo+PiArICoK Pj4gKyAqIFRoaXMgZW51bSBpcyB1c2VkIGFzIHRoZSBjb25uZWN0b3IncyBsaW5rIHN0YXR1cyBw cm9wZXJ0eSB2YWx1ZS4KPj4gKyAqIEl0IGlzIHNldCB0byB0aGUgdmFsdWVzIGRlZmluZWQgaW4g dWFwaS4KPj4gKyAqLwo+PiArZW51bSBkcm1fbGlua19zdGF0dXMgewo+PiArICAgICBEUk1fTElO S19TVEFUVVNfR09PRCA9IERSTV9NT0RFX0xJTktfU1RBVFVTX0dPT0QsCj4+ICsgICAgIERSTV9M SU5LX1NUQVRVU19CQUQgPSBEUk1fTU9ERV9MSU5LX1NUQVRVU19CQUQsCj4+ICt9Owo+PiArCj4+ ICsvKioKPj4gICAqIHN0cnVjdCBkcm1fZGlzcGxheV9pbmZvIC0gcnVudGltZSBkYXRhIGFib3V0 IHRoZSBjb25uZWN0ZWQgc2luawo+PiAgICoKPj4gICAqIERlc2NyaWJlcyBhIGdpdmVuIGRpc3Bs YXkgKGUuZy4gQ1JUIG9yIGZsYXQgcGFuZWwpIGFuZCBpdHMgbGltaXRhdGlvbnMuIEZvcgo+PiBA QCAtMjEzLDYgKzIyNCwxMiBAQCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSB7Cj4+Cj4+ICAg ICAgIHN0cnVjdCBkcm1fZW5jb2RlciAqYmVzdF9lbmNvZGVyOwo+Pgo+PiArICAgICAvKioKPj4g KyAgICAgICogQGxpbmtfc3RhdHVzOiBDb25uZWN0b3IgbGlua19zdGF0dXMgdG8ga2VlcCB0cmFj ayBvZiB3aGV0aGVyIGxpbmsgaXMKPj4gKyAgICAgICogR09PRCBvciBCQUQgdG8gbm90aWZ5IHVz ZXJzcGFjZSBpZiByZXRyYWluaW5nIGlzIG5lY2Vzc2FyeS4KPj4gKyAgICAgICovCj4+ICsgICAg IGVudW0gZHJtX2xpbmtfc3RhdHVzIGxpbmtfc3RhdHVzOwo+PiArCj4+ICAgICAgIHN0cnVjdCBk cm1fYXRvbWljX3N0YXRlICpzdGF0ZTsKPj4gIH07Cj4+Cj4+IEBAIC03NzMsNiArNzkwLDggQEAg aW50IGRybV9tb2RlX2Nvbm5lY3Rvcl9zZXRfcGF0aF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5l Y3RvciAqY29ubmVjdG9yLAo+PiAgaW50IGRybV9tb2RlX2Nvbm5lY3Rvcl9zZXRfdGlsZV9wcm9w ZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKPj4gIGludCBkcm1fbW9kZV9j b25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5l Y3RvciwKPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg c3RydWN0IGVkaWQgKmVkaWQpOwo+PiArdm9pZCBkcm1fbW9kZV9jb25uZWN0b3Jfc2V0X2xpbmtf c3RhdHVzX3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDY0X3QgbGlua19z dGF0dXMpOwo+Pgo+PiAgLyoqCj4+ICAgKiBzdHJ1Y3QgZHJtX3RpbGVfZ3JvdXAgLSBUaWxlIGdy b3VwIG1ldGFkYXRhCj4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fbW9kZV9jb25maWcu aCBiL2luY2x1ZGUvZHJtL2RybV9tb2RlX2NvbmZpZy5oCj4+IGluZGV4IGJmOTk5MWIuLjg2ZmFl ZTQgMTAwNjQ0Cj4+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9tb2RlX2NvbmZpZy5oCj4+ICsrKyBi L2luY2x1ZGUvZHJtL2RybV9tb2RlX2NvbmZpZy5oCj4+IEBAIC00MzEsNiArNDMxLDExIEBAIHN0 cnVjdCBkcm1fbW9kZV9jb25maWcgewo+PiAgICAgICAgKi8KPj4gICAgICAgc3RydWN0IGRybV9w cm9wZXJ0eSAqdGlsZV9wcm9wZXJ0eTsKPj4gICAgICAgLyoqCj4+ICsgICAgICAqIEBsaW5rX3N0 YXR1c19wcm9wZXJ0eTogRGVmYXVsdCBjb25uZWN0b3IgcHJvcGVydHkgZm9yIGxpbmsgc3RhdHVz Cj4+ICsgICAgICAqIG9mIGEgY29ubmVjdG9yCj4+ICsgICAgICAqLwo+PiArICAgICBzdHJ1Y3Qg ZHJtX3Byb3BlcnR5ICpsaW5rX3N0YXR1c19wcm9wZXJ0eTsKPj4gKyAgICAgLyoqCj4+ICAgICAg ICAqIEBwbGFuZV90eXBlX3Byb3BlcnR5OiBEZWZhdWx0IHBsYW5lIHByb3BlcnR5IHRvIGRpZmZl cmVudGlhdGUKPj4gICAgICAgICogQ1VSU09SLCBQUklNQVJZIGFuZCBPVkVSTEFZIGxlZ2FjeSB1 c2VzIG9mIHBsYW5lcy4KPj4gICAgICAgICovCj4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkv ZHJtL2RybV9tb2RlLmggYi9pbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmgKPj4gaW5kZXggNzI4 NzkwYi4uMzA5YzQ3OCAxMDA2NDQKPj4gLS0tIGEvaW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5o Cj4+ICsrKyBiL2luY2x1ZGUvdWFwaS9kcm0vZHJtX21vZGUuaAo+PiBAQCAtMTIzLDYgKzEyMywx MCBAQAo+PiAgI2RlZmluZSBEUk1fTU9ERV9ESVJUWV9PTiAgICAgICAxCj4+ICAjZGVmaW5lIERS TV9NT0RFX0RJUlRZX0FOTk9UQVRFIDIKPj4KPj4gKy8qIExpbmsgU3RhdHVzIG9wdGlvbnMgKi8K Pj4gKyNkZWZpbmUgRFJNX01PREVfTElOS19TVEFUVVNfR09PRCAgICAwCj4+ICsjZGVmaW5lIERS TV9NT0RFX0xJTktfU1RBVFVTX0JBRCAgICAgMQo+PiArCj4+ICBzdHJ1Y3QgZHJtX21vZGVfbW9k ZWluZm8gewo+PiAgICAgICBfX3UzMiBjbG9jazsKPj4gICAgICAgX191MTYgaGRpc3BsYXk7Cj4+ IC0tCj4+IDEuOS4xCj4+Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVs LWdmeAo=