From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH v4 1/4] drm: Add a new connector atomic property for link status Date: Thu, 08 Dec 2016 17:05:54 +0200 Message-ID: <87y3zqv4tp.fsf@intel.com> References: <1480984058-552-2-git-send-email-manasi.d.navare@intel.com> <1481040432-3031-1-git-send-email-manasi.d.navare@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1481040432-3031-1-git-send-email-manasi.d.navare@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 , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Cc: Daniel Vetter List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCAwNiBEZWMgMjAxNiwgTWFuYXNpIE5hdmFyZSA8bWFuYXNpLmQubmF2YXJlQGludGVs LmNvbT4gd3JvdGU6Cj4gQXQgdGhlIHRpbWUgdXNlcnNwYWNlIGRvZXMgc2V0Y3J0Yywgd2UndmUg YWxyZWFkeSBwcm9taXNlZCB0aGUgbW9kZQo+IHdvdWxkIHdvcmsuIFRoZSBwcm9taXNlIGlzIGJh c2VkIG9uIHRoZSB0aGVvcmV0aWNhbCBjYXBhYmlsaXRpZXMgb2YKPiB0aGUgbGluaywgYnV0IGl0 J3MgcG9zc2libGUgd2UgY2FuJ3QgcmVhY2ggdGhpcyBpbiBwcmFjdGljZS4gVGhlIERQCj4gc3Bl YyBkZXNjcmliZXMgaG93IHRoZSBsaW5rIHNob3VsZCBiZSByZWR1Y2VkLCBidXQgd2UgY2FuJ3Qg cmVkdWNlCj4gdGhlIGxpbmsgYmVsb3cgdGhlIHJlcXVpcmVtZW50cyBvZiB0aGUgbW9kZS4gQmxh Y2sgc2NyZWVuIGZvbGxvd3MuCj4KPiBPbmUgaWRlYSB3b3VsZCBiZSB0byBoYXZlIHNldGNydGMg cmV0dXJuIGEgZmFpbHVyZS4gSG93ZXZlciwgaXQKPiBhbHJlYWR5IHNob3VsZCBub3QgZmFpbCBh cyB0aGUgYXRvbWljIGNoZWNrcyBoYXZlIHBhc3NlZC4gSXQgd291bGQKPiBhbHNvIGNvbmZsaWN0 IHdpdGggdGhlIGlkZWEgb2YgbWFraW5nIHNldGNydGMgYXN5bmNocm9ub3VzIGluIHRoZQo+IGZ1 dHVyZSwgcmV0dXJuaW5nIGJlZm9yZSB0aGUgYWN0dWFsIG1vZGUgc2V0dGluZyBhbmQgbGluayB0 cmFpbmluZy4KPgo+IEFub3RoZXIgaWRlYSBpcyB0byB0cmFpbiB0aGUgbGluayAidXBmcm9udCIg YXQgaG90cGx1ZyB0aW1lLCBiZWZvcmUKPiBwcnVuaW5nIHRoZSBtb2RlIGxpc3QsIHNvIHRoYXQg d2UgY2FuIGRvIHRoZSBwcnVuaW5nIGJhc2VkIG9uCj4gcHJhY3RpY2FsIG5vdCB0aGVvcmV0aWNh bCBjYXBhYmlsaXRpZXMuIEhvd2V2ZXIsIHRoZSBjaGFuZ2VzIGZvciBsaW5rCj4gdHJhaW5pbmcg YXJlIHByZXR0eSBkcmFzdGljLCBhbGwgZm9yIHRoZSBzYWtlIG9mIGVycm9yIGhhbmRsaW5nIGFu ZAo+IERQIGNvbXBsaWFuY2UsIHdoZW4gdGhlIG1vc3QgY29tbW9uIGhhcHB5IGRheSBzY2VuYXJp byBpcyB0aGUgY3VycmVudAo+IGFwcHJvYWNoIG9mIGxpbmsgdHJhaW5pbmcgYXQgbW9kZSBzZXR0 aW5nIHRpbWUsIHVzaW5nIHRoZSBvcHRpbWFsCj4gcGFyYW1ldGVycyBmb3IgdGhlIG1vZGUuIEl0 IGlzIGFsc28gbm90IGNlcnRhaW4gYWxsIGhhcmR3YXJlIGNvdWxkIGRvCj4gdGhpcyB3aXRob3V0 IHRoZSBwaXBlIG9uOyBub3QgZXZlbiBhbGwgb3VyIGhhcmR3YXJlIGNhbiBkbyB0aGlzLiBTb21l Cj4gb2YgdGhpcyBjYW4gYmUgc29sdmVkLCBidXQgbm90IHRyaXZpYWxseS4KPgo+IEJvdGggb2Yg dGhlIGFib3ZlIGlkZWFzIGFsc28gZmFpbCB0byBhZGRyZXNzIGxpbmsgZGVncmFkYXRpb24gKmR1 cmluZyoKPiBvcGVyYXRpb24uCj4KPiBUaGUgc29sdXRpb24gaXMgdG8gYWRkIGEgbmV3ICJsaW5r LXN0YXR1cyIgY29ubmVjdG9yIHByb3BlcnR5IGluIG9yZGVyCj4gdG8gYWRkcmVzcyBsaW5rIHRy YWluaW5nIGZhaWx1cmUgaW4gYSB3YXkgdGhhdDoKPiBhKSBjaGFuZ2VzIHRoZSBjdXJyZW50IGhh cHB5IGRheSBzY2VuYXJpbyBhcyBsaXR0bGUgYXMgcG9zc2libGUsIHRvCj4gYXZvaWQgcmVncmVz c2lvbnMsIGIpIGNhbiBiZSBpbXBsZW1lbnRlZCB0aGUgc2FtZSB3YXkgYnkgYWxsIGRybQo+IGRy aXZlcnMsIGMpIGlzIHN0aWxsIG9wdC1pbiBmb3IgdGhlIGRyaXZlcnMgYW5kIHVzZXJzcGFjZSwg YW5kIG9wdGluZwo+IG91dCBkb2Vzbid0IHJlZ3Jlc3MgdGhlIHVzZXIgZXhwZXJpZW5jZSwgZCkg ZG9lc24ndCBwcmV2ZW50IGRyaXZlcnMKPiBmcm9tIGltcGxlbWVudGluZyBiZXR0ZXIgb3IgYWx0 ZXJuYXRlIGFwcHJvYWNoZXMsIHBvc3NpYmx5IHdpdGhvdXQKPiB1c2Vyc3BhY2UgaW52b2x2ZW1l bnQuIEFuZCwgb2YgY291cnNlLCBoYW5kbGVzIGFsbCB0aGUgaXNzdWVzIHByZXNlbnRlZC4KPiBJ biB0aGUgdXN1YWwgaGFwcHkgZGF5IHNjZW5hcmlvLCB0aGlzIGlzIGFsd2F5cyAiZ29vZCIuIElm IHNvbWV0aGluZwo+IGZhaWxzIGR1cmluZyBvciBhZnRlciBhIG1vZGUgc2V0LCB0aGUga2VybmVs IGRyaXZlciBjYW4gc2V0IHRoZSBsaW5rCj4gc3RhdHVzIHRvICJiYWQiIGFuZCBpc3N1ZSBhIGhv dHBsdWcgdWV2ZW50IGZvciB1c2Vyc3BhY2UgdG8gaGF2ZSBpdAo+IHJlLWNoZWNrIHRoZSB2YWxp ZCBtb2RlcyB0aHJvdWdoIEdFVF9DT05ORUNUT1IgSU9DVEwsIGFuZCB0cnkgbW9kZXNldAo+IGFn YWluLiBJZiB0aGUgdGhlb3JldGljYWwgY2FwYWJpbGl0aWVzIG9mIHRoZSBsaW5rIGNhbid0IGJl IHJlYWNoZWQsCj4gdGhlIG1vZGUgbGlzdCBpcyB0cmltbWVkIGJhc2VkIG9uIHRoYXQuCj4KPiB2 NDoKPiAqIEFkZCBjb21tZW50cyBpbiBrZXJuZWwtZG9jIGZvcm1hdCAoRGFuaWVsIFZldHRlcikK PiAqIFVwZGF0ZSB0aGUga2VybmVsLWRvYyBmb3IgbGluay1zdGF0dXMgKFNlYW4gUGF1bCkKPiB2 MzoKPiAqIEZpeGVkIGEgYnVpbGQgZXJyb3IgKEphbmkgU2FhcmluZW4pCj4gdjI6Cj4gKiBSZW1v dmVkIGNvbm5lY3Rvci0+bGlua19zdGF0dXMgKERhbmllbCBWZXR0ZXIpCj4gKiBTZXQgY29ubmVj dG9yLT5zdGF0ZS0+bGlua19zdGF0dXMgaW4gZHJtX21vZGVfY29ubmVjdG9yX3NldF9saW5rX3N0 YXR1c19wcm9wZXJ0eQo+IChEYW5pZWwgVmV0dGVyKQo+ICogU2V0IHRoZSBjb25uZWN0b3JfY2hh bmdlZCBmbGFnIHRvIHRydWUgaWYgY29ubmVjdG9yLT5zdGF0ZS0+bGlua19zdGF0dXMgY2hhbmdl ZC4KPiAqIFJlc2V0IGxpbmtfc3RhdHVzIHRvIEdPT0QgaW4gdXBkYXRlX291dHB1dF9zdGF0ZSAo RGFuaWVsIFZldHRlcikKPiAqIE5ldmVyIGFsbG93IHVzZXJzcGFjZSB0byBzZXQgbGluayBzdGF0 dXMgZnJvbSBHb29kIFRvIEJhZCAoRGFuaWVsIFZldHRlcikKPgo+IFJldmlld2VkLWJ5OiBTZWFu IFBhdWwgPHNlYW5wYXVsQGNocm9taXVtLm9yZz4KPiBSZXZpZXdlZC1ieTogRGFuaWVsIFZldHRl ciAgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+Cj4gQWNrZWQtYnk6IFRvbnkgQ2hlbmcgPHRvbnku Y2hlbmdAYW1kLmNvbT4KPiBBY2tlZC1ieTogSGFycnkgV2VudGxhbmQgPGhhcnJ5LndlbnRsYW5k QGFtZC5jb20+Cj4gQ2M6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBsaW51eC5pbnRlbC5jb20+ Cj4gQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAaW50ZWwuY29tPgo+IENjOiBWaWxs ZSBTeXJqYWxhIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiBDYzogQ2hyaXMgV2ls c29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Cj4gQ2M6IFNlYW4gUGF1bCA8c2VhbnBhdWxA Y2hyb21pdW0ub3JnPgo+IFNpZ25lZC1vZmYtYnk6IE1hbmFzaSBOYXZhcmUgPG1hbmFzaS5kLm5h dmFyZUBpbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMgICAg ICAgIHwgMTAgKysrKysrKwo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYyB8 IDE1ICsrKysrKysrKysrCj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMgICAgIHwg NTMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICBpbmNsdWRlL2RybS9k cm1fY29ubmVjdG9yLmggICAgICAgICB8IDE5ICsrKysrKysrKysrKysKPiAgaW5jbHVkZS9kcm0v ZHJtX21vZGVfY29uZmlnLmggICAgICAgfCAgNSArKysrCj4gIGluY2x1ZGUvdWFwaS9kcm0vZHJt X21vZGUuaCAgICAgICAgIHwgIDQgKysrCj4gIDYgZmlsZXMgY2hhbmdlZCwgMTA2IGluc2VydGlv bnMoKykKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jIGIvZHJp dmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwo+IGluZGV4IDE5ZDdiY2IuLjcwYTUxNTIgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9kcm1fYXRvbWljLmMKPiBAQCAtMTA4Nyw2ICsxMDg3LDE0IEBAIGludCBkcm1fYXRvbWlj X2Nvbm5lY3Rvcl9zZXRfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwK PiAgCQkgKiBub3c/KSBhdG9taWMgd3JpdGVzIHRvIERQTVMgcHJvcGVydHk6Cj4gIAkJICovCj4g IAkJcmV0dXJuIC1FSU5WQUw7Cj4gKwl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbmZpZy0+bGlu a19zdGF0dXNfcHJvcGVydHkpIHsKPiArCQkvKiBOZXZlciBkb3duZ3JhZGUgZnJvbSBHT09EIHRv IEJBRCBvbiB1c2Vyc3BhY2UncyByZXF1ZXN0IGhlcmUsCj4gKwkJICogb25seSBodyBpc3N1ZXMg Y2FuIGRvIHRoYXQuCj4gKwkJICovCj4gKwkJaWYgKHN0YXRlLT5saW5rX3N0YXR1cyA9PSBEUk1f TElOS19TVEFUVVNfR09PRCkKPiArCQkJcmV0dXJuIDA7CgpJcyBpdCBjb25jZWl2YWJsZSB3ZSdk IHdhbnQgdG8gc3VwcG9ydCB0aGUgdXNlcnNwYWNlIHJlcXVlc3RpbmcgdGhlCmNoYW5nZSBmcm9t IEdPT0QgdG8gQkFEIGF0IGEgbGF0ZXIgcG9pbnQgaW4gdGltZT8gSWYgeWVzLCBwZXJoYXBzIHRo ZQpyaWdodCBhbnN3ZXIgaGVyZSBpcyB0byByZXR1cm4gYW4gZXJyb3Igb24gR09PRC0+QkFEIHRy YW5zaXRpb24sIHNvIHRoZQp1c2Vyc3BhY2UgY2FuIGRpc3Rpbmd1aXNoIGJldHdlZW4gdGhlIGtl cm5lbCByZWplY3RpbmcgdnMuIGFjY2VwdGluZyB0aGUKcHJvcGVydHkgc2V0PwoKQlIsCkphbmku CgoKPiArCQlzdGF0ZS0+bGlua19zdGF0dXMgPSB2YWw7Cj4gKwkJcmV0dXJuIDA7Cj4gIAl9IGVs c2UgaWYgKGNvbm5lY3Rvci0+ZnVuY3MtPmF0b21pY19zZXRfcHJvcGVydHkpIHsKPiAgCQlyZXR1 cm4gY29ubmVjdG9yLT5mdW5jcy0+YXRvbWljX3NldF9wcm9wZXJ0eShjb25uZWN0b3IsCj4gIAkJ CQlzdGF0ZSwgcHJvcGVydHksIHZhbCk7Cj4gQEAgLTExMzUsNiArMTE0Myw4IEBAIHN0YXRpYyB2 b2lkIGRybV9hdG9taWNfY29ubmVjdG9yX3ByaW50X3N0YXRlKHN0cnVjdCBkcm1fcHJpbnRlciAq cCwKPiAgCQkqdmFsID0gKHN0YXRlLT5jcnRjKSA/IHN0YXRlLT5jcnRjLT5iYXNlLmlkIDogMDsK PiAgCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT5kcG1zX3Byb3BlcnR5KSB7Cj4gIAkJ KnZhbCA9IGNvbm5lY3Rvci0+ZHBtczsKPiArCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmln LT5saW5rX3N0YXR1c19wcm9wZXJ0eSkgewo+ICsJCSp2YWwgPSBzdGF0ZS0+bGlua19zdGF0dXM7 Cj4gIAl9IGVsc2UgaWYgKGNvbm5lY3Rvci0+ZnVuY3MtPmF0b21pY19nZXRfcHJvcGVydHkpIHsK PiAgCQlyZXR1cm4gY29ubmVjdG9yLT5mdW5jcy0+YXRvbWljX2dldF9wcm9wZXJ0eShjb25uZWN0 b3IsCj4gIAkJCQlzdGF0ZSwgcHJvcGVydHksIHZhbCk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNf aGVscGVyLmMKPiBpbmRleCA0OTQ2ODBjLi4zZDZjMWNlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9h dG9taWNfaGVscGVyLmMKPiBAQCAtNTE5LDYgKzUxOSwxMyBAQCBzdGF0aWMgaW50IGhhbmRsZV9j b25mbGljdGluZ19lbmNvZGVycyhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4gIAkJ CQkJICAgICAgIGNvbm5lY3Rvcl9zdGF0ZSk7Cj4gIAkJaWYgKHJldCkKPiAgCQkJcmV0dXJuIHJl dDsKPiArCQlpZiAoY29ubmVjdG9yLT5zdGF0ZS0+Y3J0Yykgewo+ICsJCQljcnRjX3N0YXRlID0g ZHJtX2F0b21pY19nZXRfZXhpc3RpbmdfY3J0Y19zdGF0ZShzdGF0ZSwKPiArCQkJCQkJCQkJY29u bmVjdG9yLT5zdGF0ZS0+Y3J0Yyk7Cj4gKwkJCWlmIChjb25uZWN0b3ItPnN0YXRlLT5saW5rX3N0 YXR1cyAhPQo+ICsJCQkgICAgY29ubmVjdG9yX3N0YXRlLT5saW5rX3N0YXR1cykKPiArCQkJCWNy dGNfc3RhdGUtPmNvbm5lY3RvcnNfY2hhbmdlZCA9IHRydWU7Cj4gKwkJfQo+ICAJfQo+ICAKPiAg CS8qCj4gQEAgLTIyNTgsNiArMjI2NSw4IEBAIHN0YXRpYyBpbnQgdXBkYXRlX291dHB1dF9zdGF0 ZShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4gIAkJCQkJCQkJTlVMTCk7Cj4gIAkJ CWlmIChyZXQpCj4gIAkJCQlyZXR1cm4gcmV0Owo+ICsJCQkvKiBNYWtlIHN1cmUgbGVnYWN5IHNl dENydGMgYWx3YXlzIHJlLXRyYWlucyAqLwo+ICsJCQljb25uX3N0YXRlLT5saW5rX3N0YXR1cyA9 IERSTV9MSU5LX1NUQVRVU19HT09EOwo+ICAJCX0KPiAgCX0KPiAgCj4gQEAgLTIzMDEsNiArMjMx MCwxMiBAQCBzdGF0aWMgaW50IHVwZGF0ZV9vdXRwdXRfc3RhdGUoc3RydWN0IGRybV9hdG9taWNf c3RhdGUgKnN0YXRlLAo+ICAgKgo+ICAgKiBQcm92aWRlcyBhIGRlZmF1bHQgY3J0YyBzZXRfY29u ZmlnIGhhbmRsZXIgdXNpbmcgdGhlIGF0b21pYyBkcml2ZXIgaW50ZXJmYWNlLgo+ICAgKgo+ICsg KiBOT1RFOiBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgd2l0aCBvbGQgdXNlcnNwYWNlIHRo aXMgYXV0b21hdGljYWxseQo+ICsgKiByZXNldHMgdGhlICJsaW5rLXN0YXR1cyIgcHJvcGVydHkg dG8gR09PRCwgdG8gZm9yY2UgYW55IGxpbmsKPiArICogcmUtdHJhaW5pbmcuIFRoZSBTRVRDUlRD IGlvY3RsIGRvZXMgbm90IGRlZmluZSB3aGV0aGVyIGFuIHVwZGF0ZSBkb2VzCj4gKyAqIG5lZWQg YSBmdWxsIG1vZGVzZXQgb3IganVzdCBhIHBsYW5lIHVwZGF0ZSwgaGVuY2Ugd2UncmUgYWxsb3dl ZCB0byBkbwo+ICsgKiB0aGF0LiBTZWUgYWxzbyBkcm1fbW9kZV9jb25uZWN0b3Jfc2V0X2xpbmtf c3RhdHVzX3Byb3BlcnR5KCkuCj4gKyAqCj4gICAqIFJldHVybnM6Cj4gICAqIFJldHVybnMgMCBv biBzdWNjZXNzLCBuZWdhdGl2ZSBlcnJubyBudW1iZXJzIG9uIGZhaWx1cmUuCj4gICAqLwo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jIGIvZHJpdmVycy9ncHUv ZHJtL2RybV9jb25uZWN0b3IuYwo+IGluZGV4IDVhNDUyNjIuLmVlZTAzOGEgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fY29ubmVjdG9yLmMKPiBAQCAtMjQzLDYgKzI0MywxMCBAQCBpbnQgZHJtX2Nvbm5lY3Rv cl9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAlkcm1fb2JqZWN0X2F0dGFjaF9wcm9w ZXJ0eSgmY29ubmVjdG9yLT5iYXNlLAo+ICAJCQkJICAgICAgY29uZmlnLT5kcG1zX3Byb3BlcnR5 LCAwKTsKPiAgCj4gKwlkcm1fb2JqZWN0X2F0dGFjaF9wcm9wZXJ0eSgmY29ubmVjdG9yLT5iYXNl LAo+ICsJCQkJICAgY29uZmlnLT5saW5rX3N0YXR1c19wcm9wZXJ0eSwKPiArCQkJCSAgIDApOwo+ ICsKPiAgCWlmIChkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0FUT01JQykpIHsK PiAgCQlkcm1fb2JqZWN0X2F0dGFjaF9wcm9wZXJ0eSgmY29ubmVjdG9yLT5iYXNlLCBjb25maWct PnByb3BfY3J0Y19pZCwgMCk7Cj4gIAl9Cj4gQEAgLTUwNiw2ICs1MTAsMTIgQEAgY29uc3QgY2hh ciAqZHJtX2dldF9zdWJwaXhlbF9vcmRlcl9uYW1lKGVudW0gc3VicGl4ZWxfb3JkZXIgb3JkZXIp Cj4gIH07Cj4gIERSTV9FTlVNX05BTUVfRk4oZHJtX2dldF9kcG1zX25hbWUsIGRybV9kcG1zX2Vu dW1fbGlzdCkKPiAgCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX3Byb3BfZW51bV9saXN0IGRy bV9saW5rX3N0YXR1c19lbnVtX2xpc3RbXSA9IHsKPiArCXsgRFJNX01PREVfTElOS19TVEFUVVNf R09PRCwgIkdvb2QiIH0sCj4gKwl7IERSTV9NT0RFX0xJTktfU1RBVFVTX0JBRCwgIkJhZCIgfSwK PiArfTsKPiArRFJNX0VOVU1fTkFNRV9GTihkcm1fZ2V0X2xpbmtfc3RhdHVzX25hbWUsIGRybV9s aW5rX3N0YXR1c19lbnVtX2xpc3QpCj4gKwo+ICAvKioKPiAgICogZHJtX2Rpc3BsYXlfaW5mb19z ZXRfYnVzX2Zvcm1hdHMgLSBzZXQgdGhlIHN1cHBvcnRlZCBidXMgZm9ybWF0cwo+ICAgKiBAaW5m bzogZGlzcGxheSBpbmZvIHRvIHN0b3JlIGJ1cyBmb3JtYXRzIGluCj4gQEAgLTYyNSw2ICs2MzUs MTEgQEAgaW50IGRybV9kaXNwbGF5X2luZm9fc2V0X2J1c19mb3JtYXRzKHN0cnVjdCBkcm1fZGlz cGxheV9pbmZvICppbmZvLAo+ICAgKiAJdGlsaW5nIGFuZCB2aXJ0dWFsaXplIGJvdGggJmRybV9j cnRjIGFuZCAmZHJtX3BsYW5lIGlmIG5lZWRlZC4gRHJpdmVycwo+ICAgKiAJc2hvdWxkIHVwZGF0 ZSB0aGlzIHZhbHVlIHVzaW5nIGRybV9tb2RlX2Nvbm5lY3Rvcl9zZXRfdGlsZV9wcm9wZXJ0eSgp Lgo+ICAgKiAJVXNlcnNwYWNlIGNhbm5vdCBjaGFuZ2UgdGhpcyBwcm9wZXJ0eS4KPiArICogbGlu ay1zdGF0dXM6Cj4gKyAqICAgICAgQ29ubmVjdG9yIGxpbmstc3RhdHVzIHByb3BlcnR5IHRvIGlu ZGljYXRlIHRoZSBzdGF0dXMgb2YgbGluay4gVGhlIGRlZmF1bHQKPiArICogICAgICB2YWx1ZSBv ZiBsaW5rLXN0YXR1cyBpcyAiR09PRCIuIElmIHNvbWV0aGluZyBmYWlscyBkdXJpbmcgb3IgYWZ0 ZXIgbW9kZXNldCwKPiArICogICAgICB0aGUga2VybmVsIGRyaXZlciBtYXkgc2V0IHRoaXMgdG8g IkJBRCIgYW5kIGlzc3VlIGEgaG90cGx1ZyB1ZXZlbnQuIERyaXZlcnMKPiArICogICAgICBzaG91 bGQgdXBkYXRlIHRoaXMgdmFsdWUgdXNpbmcgZHJtX21vZGVfY29ubmVjdG9yX3NldF9saW5rX3N0 YXR1c19wcm9wZXJ0eSgpLgo+ICAgKgo+ICAgKiBDb25uZWN0b3JzIGFsc28gaGF2ZSBvbmUgc3Rh bmRhcmRpemVkIGF0b21pYyBwcm9wZXJ0eToKPiAgICoKPiBAQCAtNjY2LDYgKzY4MSwxMyBAQCBp bnQgZHJtX2Nvbm5lY3Rvcl9jcmVhdGVfc3RhbmRhcmRfcHJvcGVydGllcyhzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2KQo+ICAJCXJldHVybiAtRU5PTUVNOwo+ICAJZGV2LT5tb2RlX2NvbmZpZy50aWxl X3Byb3BlcnR5ID0gcHJvcDsKPiAgCj4gKwlwcm9wID0gZHJtX3Byb3BlcnR5X2NyZWF0ZV9lbnVt KGRldiwgMCwgImxpbmstc3RhdHVzIiwKPiArCQkJCQlkcm1fbGlua19zdGF0dXNfZW51bV9saXN0 LAo+ICsJCQkJCUFSUkFZX1NJWkUoZHJtX2xpbmtfc3RhdHVzX2VudW1fbGlzdCkpOwo+ICsJaWYg KCFwcm9wKQo+ICsJCXJldHVybiAtRU5PTUVNOwo+ICsJZGV2LT5tb2RlX2NvbmZpZy5saW5rX3N0 YXR1c19wcm9wZXJ0eSA9IHByb3A7Cj4gKwo+ICAJcmV0dXJuIDA7Cj4gIH0KPiAgCj4gQEAgLTk5 NSw2ICsxMDE3LDM3IEBAIGludCBkcm1fbW9kZV9jb25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVy dHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAgfQo+ICBFWFBPUlRfU1lNQk9M KGRybV9tb2RlX2Nvbm5lY3Rvcl91cGRhdGVfZWRpZF9wcm9wZXJ0eSk7Cj4gIAo+ICsvKioKPiAr ICogZHJtX21vZGVfY29ubmVjdG9yX3NldF9saW5rX3N0YXR1c19wcm9wZXJ0eSAtIFNldCBsaW5r IHN0YXR1cyBwcm9wZXJ0eSBvZiBhIGNvbm5lY3Rvcgo+ICsgKiBAY29ubmVjdG9yOiBkcm0gY29u bmVjdG9yCj4gKyAqIEBsaW5rX3N0YXR1czogbmV3IHZhbHVlIG9mIGxpbmsgc3RhdHVzIHByb3Bl cnR5ICgwOiBHb29kLCAxOiBCYWQpCj4gKyAqCj4gKyAqIEluIHVzdWFsIHdvcmtpbmcgc2NlbmFy aW8sIHRoaXMgbGluayBzdGF0dXMgcHJvcGVydHkgd2lsbCBhbHdheXMgYmUgc2V0IHRvCj4gKyAq ICJHT09EIi4gSWYgc29tZXRoaW5nIGZhaWxzIGR1cmluZyBvciBhZnRlciBhIG1vZGUgc2V0LCB0 aGUga2VybmVsIGRyaXZlcgo+ICsgKiBtYXkgc2V0IHRoaXMgbGluayBzdGF0dXMgcHJvcGVydHkg dG8gIkJBRCIuIFRoZSBjYWxsZXIgdGhlbiBuZWVkcyB0byBzZW5kIGEKPiArICogaG90cGx1ZyB1 ZXZlbnQgZm9yIHVzZXJzcGFjZSB0byByZS1jaGVjayB0aGUgdmFsaWQgbW9kZXMgdGhyb3VnaAo+ ICsgKiBHRVRfQ09OTkVDVE9SX0lPQ1RMIGFuZCByZXRyeSBtb2Rlc2V0Lgo+ICsgKgo+ICsgKiBO b3RlOiBEcml2ZXJzIGNhbm5vdCByZWx5IG9uIHVzZXJzcGFjZSB0byBzdXBwb3J0IHRoaXMgcHJv cGVydHkgYW5kCj4gKyAqIGlzc3VlIGEgbW9kZXNldC4gQXMgc3VjaCwgdGhleSBtYXkgY2hvb3Nl IHRvIGhhbmRsZSBpc3N1ZXMgKGxpa2UKPiArICogcmUtdHJhaW5pbmcgYSBsaW5rKSB3aXRob3V0 IHVzZXJzcGFjZSdzIGludGVydmVudGlvbi4KPiArICoKPiArICogVGhlIHJlYXNvbiBmb3IgYWRk aW5nIHRoaXMgcHJvcGVydHkgaXMgdG8gaGFuZGxlIGxpbmsgdHJhaW5pbmcgZmFpbHVyZXMsIGJ1 dAo+ICsgKiBpdCBpcyBub3QgbGltaXRlZCB0byBEUCBvciBsaW5rIHRyYWluaW5nLiBGb3IgZXhh bXBsZSwgaWYgd2UgaW1wbGVtZW50Cj4gKyAqIGFzeW5jaHJvbm91cyBzZXRjcnRjLCB0aGlzIHBy b3BlcnR5IGNhbiBiZSB1c2VkIHRvIHJlcG9ydCBhbnkgZmFpbHVyZXMgaW4gdGhhdC4KPiArICov Cj4gK3ZvaWQgZHJtX21vZGVfY29ubmVjdG9yX3NldF9saW5rX3N0YXR1c19wcm9wZXJ0eShzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ICsJCQkJCQkgdWludDY0X3QgbGlua19zdGF0 dXMpCj4gK3sKPiArCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmRldjsKPiAr Cj4gKwlkcm1fbW9kZXNldF9sb2NrKCZkZXYtPm1vZGVfY29uZmlnLmNvbm5lY3Rpb25fbXV0ZXgs IE5VTEwpOwo+ICsJY29ubmVjdG9yLT5zdGF0ZS0+bGlua19zdGF0dXMgPSBsaW5rX3N0YXR1czsK PiArCWRybV9tb2Rlc2V0X3VubG9jaygmZGV2LT5tb2RlX2NvbmZpZy5jb25uZWN0aW9uX211dGV4 KTsKPiArCj4gK30KPiArRVhQT1JUX1NZTUJPTChkcm1fbW9kZV9jb25uZWN0b3Jfc2V0X2xpbmtf c3RhdHVzX3Byb3BlcnR5KTsKPiArCj4gIGludCBkcm1fbW9kZV9jb25uZWN0b3Jfc2V0X29ial9w cm9wKHN0cnVjdCBkcm1fbW9kZV9vYmplY3QgKm9iaiwKPiAgCQkJCSAgICBzdHJ1Y3QgZHJtX3By b3BlcnR5ICpwcm9wZXJ0eSwKPiAgCQkJCSAgICB1aW50NjRfdCB2YWx1ZSkKPiBkaWZmIC0tZ2l0 IGEvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oIGIvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rv ci5oCj4gaW5kZXggMTIxOGEwYy4uNjRlMDdjNSAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9k cm1fY29ubmVjdG9yLmgKPiArKysgYi9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKPiBAQCAt OTAsNiArOTAsMTcgQEAgZW51bSBzdWJwaXhlbF9vcmRlciB7Cj4gIH07Cj4gIAo+ICAvKioKPiAr ICogZW51bSBkcm1fbGlua19zdGF0dXMgLSBjb25uZWN0b3IncyBsaW5rX3N0YXR1cyBwcm9wZXJ0 eSB2YWx1ZQo+ICsgKgo+ICsgKiBUaGlzIGVudW0gaXMgdXNlZCBhcyB0aGUgY29ubmVjdG9yJ3Mg bGluayBzdGF0dXMgcHJvcGVydHkgdmFsdWUuCj4gKyAqIEl0IGlzIHNldCB0byB0aGUgdmFsdWVz IGRlZmluZWQgaW4gdWFwaS4KPiArICovCj4gK2VudW0gZHJtX2xpbmtfc3RhdHVzIHsKPiArCURS TV9MSU5LX1NUQVRVU19HT09EID0gRFJNX01PREVfTElOS19TVEFUVVNfR09PRCwKPiArCURSTV9M SU5LX1NUQVRVU19CQUQgPSBEUk1fTU9ERV9MSU5LX1NUQVRVU19CQUQsCj4gK307Cj4gKwo+ICsv KioKPiAgICogc3RydWN0IGRybV9kaXNwbGF5X2luZm8gLSBydW50aW1lIGRhdGEgYWJvdXQgdGhl IGNvbm5lY3RlZCBzaW5rCj4gICAqCj4gICAqIERlc2NyaWJlcyBhIGdpdmVuIGRpc3BsYXkgKGUu Zy4gQ1JUIG9yIGZsYXQgcGFuZWwpIGFuZCBpdHMgbGltaXRhdGlvbnMuIEZvcgo+IEBAIC0yMTMs NiArMjI0LDEyIEBAIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlIHsKPiAgCj4gIAlzdHJ1Y3Qg ZHJtX2VuY29kZXIgKmJlc3RfZW5jb2RlcjsKPiAgCj4gKwkvKioKPiArCSAqIEBsaW5rX3N0YXR1 czogQ29ubmVjdG9yIGxpbmtfc3RhdHVzIHRvIGtlZXAgdHJhY2sgb2Ygd2hldGhlciBsaW5rIGlz Cj4gKwkgKiBHT09EIG9yIEJBRCB0byBub3RpZnkgdXNlcnNwYWNlIGlmIHJldHJhaW5pbmcgaXMg bmVjZXNzYXJ5Lgo+ICsJICovCj4gKwllbnVtIGRybV9saW5rX3N0YXR1cyBsaW5rX3N0YXR1czsK PiArCj4gIAlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGU7Cj4gIH07Cj4gIAo+IEBAIC03 NzYsNiArNzkzLDggQEAgaW50IGRybV9tb2RlX2Nvbm5lY3Rvcl9zZXRfcGF0aF9wcm9wZXJ0eShz dHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ICBpbnQgZHJtX21vZGVfY29ubmVjdG9y X3NldF90aWxlX3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpOwo+ICBp bnQgZHJtX21vZGVfY29ubmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5KHN0cnVjdCBkcm1fY29u bmVjdG9yICpjb25uZWN0b3IsCj4gIAkJCQkJICAgIGNvbnN0IHN0cnVjdCBlZGlkICplZGlkKTsK PiArdm9pZCBkcm1fbW9kZV9jb25uZWN0b3Jfc2V0X2xpbmtfc3RhdHVzX3Byb3BlcnR5KHN0cnVj dCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gKwkJCQkJCSB1aW50NjRfdCBsaW5rX3N0YXR1 cyk7Cj4gIAo+ICAvKioKPiAgICogc3RydWN0IGRybV90aWxlX2dyb3VwIC0gVGlsZSBncm91cCBt ZXRhZGF0YQo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fbW9kZV9jb25maWcuaCBiL2lu Y2x1ZGUvZHJtL2RybV9tb2RlX2NvbmZpZy5oCj4gaW5kZXggYmY5OTkxYi4uODZmYWVlNCAxMDA2 NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fbW9kZV9jb25maWcuaAo+ICsrKyBiL2luY2x1ZGUv ZHJtL2RybV9tb2RlX2NvbmZpZy5oCj4gQEAgLTQzMSw2ICs0MzEsMTEgQEAgc3RydWN0IGRybV9t b2RlX2NvbmZpZyB7Cj4gIAkgKi8KPiAgCXN0cnVjdCBkcm1fcHJvcGVydHkgKnRpbGVfcHJvcGVy dHk7Cj4gIAkvKioKPiArCSAqIEBsaW5rX3N0YXR1c19wcm9wZXJ0eTogRGVmYXVsdCBjb25uZWN0 b3IgcHJvcGVydHkgZm9yIGxpbmsgc3RhdHVzCj4gKwkgKiBvZiBhIGNvbm5lY3Rvcgo+ICsJICov Cj4gKwlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpsaW5rX3N0YXR1c19wcm9wZXJ0eTsKPiArCS8qKgo+ ICAJICogQHBsYW5lX3R5cGVfcHJvcGVydHk6IERlZmF1bHQgcGxhbmUgcHJvcGVydHkgdG8gZGlm ZmVyZW50aWF0ZQo+ICAJICogQ1VSU09SLCBQUklNQVJZIGFuZCBPVkVSTEFZIGxlZ2FjeSB1c2Vz IG9mIHBsYW5lcy4KPiAgCSAqLwo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvZHJtL2RybV9t b2RlLmggYi9pbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmgKPiBpbmRleCA3Mjg3OTBiLi4zMDlj NDc4IDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvdWFwaS9kcm0vZHJtX21vZGUuaAo+ICsrKyBiL2lu Y2x1ZGUvdWFwaS9kcm0vZHJtX21vZGUuaAo+IEBAIC0xMjMsNiArMTIzLDEwIEBACj4gICNkZWZp bmUgRFJNX01PREVfRElSVFlfT04gICAgICAgMQo+ICAjZGVmaW5lIERSTV9NT0RFX0RJUlRZX0FO Tk9UQVRFIDIKPiAgCj4gKy8qIExpbmsgU3RhdHVzIG9wdGlvbnMgKi8KPiArI2RlZmluZSBEUk1f TU9ERV9MSU5LX1NUQVRVU19HT09ECTAKPiArI2RlZmluZSBEUk1fTU9ERV9MSU5LX1NUQVRVU19C QUQJMQo+ICsKPiAgc3RydWN0IGRybV9tb2RlX21vZGVpbmZvIHsKPiAgCV9fdTMyIGNsb2NrOwo+ ICAJX191MTYgaGRpc3BsYXk7CgotLSAKSmFuaSBOaWt1bGEsIEludGVsIE9wZW4gU291cmNlIFRl Y2hub2xvZ3kgQ2VudGVyCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVs LWdmeAo=