From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: Re: [Intel-gfx] [PATCH 1/4] drm: Add a new connector atomic property for link status Date: Tue, 6 Dec 2016 07:56:07 -0800 Message-ID: <20161206155606.GA2091@intel.com> References: <1480984058-552-1-git-send-email-manasi.d.navare@intel.com> <1480984058-552-2-git-send-email-manasi.d.navare@intel.com> <20161206072305.mfldb5h3fwms3ifq@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20161206072305.mfldb5h3fwms3ifq@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter Cc: Daniel Vetter , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBEZWMgMDYsIDIwMTYgYXQgMDg6MjM6MDVBTSArMDEwMCwgRGFuaWVsIFZldHRlciB3 cm90ZToKPiBPbiBNb24sIERlYyAwNSwgMjAxNiBhdCAwNDoyNzozNVBNIC0wODAwLCBNYW5hc2kg TmF2YXJlIHdyb3RlOgo+ID4gQXQgdGhlIHRpbWUgdXNlcnNwYWNlIGRvZXMgc2V0Y3J0Yywgd2Un dmUgYWxyZWFkeSBwcm9taXNlZCB0aGUgbW9kZQo+ID4gd291bGQgd29yay4gVGhlIHByb21pc2Ug aXMgYmFzZWQgb24gdGhlIHRoZW9yZXRpY2FsIGNhcGFiaWxpdGllcyBvZgo+ID4gdGhlIGxpbmss IGJ1dCBpdCdzIHBvc3NpYmxlIHdlIGNhbid0IHJlYWNoIHRoaXMgaW4gcHJhY3RpY2UuIFRoZSBE UAo+ID4gc3BlYyBkZXNjcmliZXMgaG93IHRoZSBsaW5rIHNob3VsZCBiZSByZWR1Y2VkLCBidXQg d2UgY2FuJ3QgcmVkdWNlCj4gPiB0aGUgbGluayBiZWxvdyB0aGUgcmVxdWlyZW1lbnRzIG9mIHRo ZSBtb2RlLiBCbGFjayBzY3JlZW4gZm9sbG93cy4KPiA+IAo+ID4gT25lIGlkZWEgd291bGQgYmUg dG8gaGF2ZSBzZXRjcnRjIHJldHVybiBhIGZhaWx1cmUuIEhvd2V2ZXIsIGl0Cj4gPiBhbHJlYWR5 IHNob3VsZCBub3QgZmFpbCBhcyB0aGUgYXRvbWljIGNoZWNrcyBoYXZlIHBhc3NlZC4gSXQgd291 bGQKPiA+IGFsc28gY29uZmxpY3Qgd2l0aCB0aGUgaWRlYSBvZiBtYWtpbmcgc2V0Y3J0YyBhc3lu Y2hyb25vdXMgaW4gdGhlCj4gPiBmdXR1cmUsIHJldHVybmluZyBiZWZvcmUgdGhlIGFjdHVhbCBt b2RlIHNldHRpbmcgYW5kIGxpbmsgdHJhaW5pbmcuCj4gPiAKPiA+IEFub3RoZXIgaWRlYSBpcyB0 byB0cmFpbiB0aGUgbGluayAidXBmcm9udCIgYXQgaG90cGx1ZyB0aW1lLCBiZWZvcmUKPiA+IHBy dW5pbmcgdGhlIG1vZGUgbGlzdCwgc28gdGhhdCB3ZSBjYW4gZG8gdGhlIHBydW5pbmcgYmFzZWQg b24KPiA+IHByYWN0aWNhbCBub3QgdGhlb3JldGljYWwgY2FwYWJpbGl0aWVzLiBIb3dldmVyLCB0 aGUgY2hhbmdlcyBmb3IgbGluawo+ID4gdHJhaW5pbmcgYXJlIHByZXR0eSBkcmFzdGljLCBhbGwg Zm9yIHRoZSBzYWtlIG9mIGVycm9yIGhhbmRsaW5nIGFuZAo+ID4gRFAgY29tcGxpYW5jZSwgd2hl biB0aGUgbW9zdCBjb21tb24gaGFwcHkgZGF5IHNjZW5hcmlvIGlzIHRoZSBjdXJyZW50Cj4gPiBh cHByb2FjaCBvZiBsaW5rIHRyYWluaW5nIGF0IG1vZGUgc2V0dGluZyB0aW1lLCB1c2luZyB0aGUg b3B0aW1hbAo+ID4gcGFyYW1ldGVycyBmb3IgdGhlIG1vZGUuIEl0IGlzIGFsc28gbm90IGNlcnRh aW4gYWxsIGhhcmR3YXJlIGNvdWxkIGRvCj4gPiB0aGlzIHdpdGhvdXQgdGhlIHBpcGUgb247IG5v dCBldmVuIGFsbCBvdXIgaGFyZHdhcmUgY2FuIGRvIHRoaXMuIFNvbWUKPiA+IG9mIHRoaXMgY2Fu IGJlIHNvbHZlZCwgYnV0IG5vdCB0cml2aWFsbHkuCj4gPiAKPiA+IEJvdGggb2YgdGhlIGFib3Zl IGlkZWFzIGFsc28gZmFpbCB0byBhZGRyZXNzIGxpbmsgZGVncmFkYXRpb24gKmR1cmluZyoKPiA+ IG9wZXJhdGlvbi4KPiA+IAo+ID4gVGhlIHNvbHV0aW9uIGlzIHRvIGFkZCBhIG5ldyAibGluay1z dGF0dXMiIGNvbm5lY3RvciBwcm9wZXJ0eSBpbiBvcmRlcgo+ID4gdG8gYWRkcmVzcyBsaW5rIHRy YWluaW5nIGZhaWx1cmUgaW4gYSB3YXkgdGhhdDoKPiA+IGEpIGNoYW5nZXMgdGhlIGN1cnJlbnQg aGFwcHkgZGF5IHNjZW5hcmlvIGFzIGxpdHRsZSBhcyBwb3NzaWJsZSwgdG8KPiA+IGF2b2lkIHJl Z3Jlc3Npb25zLCBiKSBjYW4gYmUgaW1wbGVtZW50ZWQgdGhlIHNhbWUgd2F5IGJ5IGFsbCBkcm0K PiA+IGRyaXZlcnMsIGMpIGlzIHN0aWxsIG9wdC1pbiBmb3IgdGhlIGRyaXZlcnMgYW5kIHVzZXJz cGFjZSwgYW5kIG9wdGluZwo+ID4gb3V0IGRvZXNuJ3QgcmVncmVzcyB0aGUgdXNlciBleHBlcmll bmNlLCBkKSBkb2Vzbid0IHByZXZlbnQgZHJpdmVycwo+ID4gZnJvbSBpbXBsZW1lbnRpbmcgYmV0 dGVyIG9yIGFsdGVybmF0ZSBhcHByb2FjaGVzLCBwb3NzaWJseSB3aXRob3V0Cj4gPiB1c2Vyc3Bh Y2UgaW52b2x2ZW1lbnQuIEFuZCwgb2YgY291cnNlLCBoYW5kbGVzIGFsbCB0aGUgaXNzdWVzIHBy ZXNlbnRlZC4KPiA+IEluIHRoZSB1c3VhbCBoYXBweSBkYXkgc2NlbmFyaW8sIHRoaXMgaXMgYWx3 YXlzICJnb29kIi4gSWYgc29tZXRoaW5nCj4gPiBmYWlscyBkdXJpbmcgb3IgYWZ0ZXIgYSBtb2Rl IHNldCwgdGhlIGtlcm5lbCBkcml2ZXIgY2FuIHNldCB0aGUgbGluawo+ID4gc3RhdHVzIHRvICJi YWQiIGFuZCBpc3N1ZSBhIGhvdHBsdWcgdWV2ZW50IGZvciB1c2Vyc3BhY2UgdG8gaGF2ZSBpdAo+ ID4gcmUtY2hlY2sgdGhlIHZhbGlkIG1vZGVzIHRocm91Z2ggR0VUX0NPTk5FQ1RPUiBJT0NUTCwg YW5kIHRyeSBtb2Rlc2V0Cj4gPiBhZ2Fpbi4gSWYgdGhlIHRoZW9yZXRpY2FsIGNhcGFiaWxpdGll cyBvZiB0aGUgbGluayBjYW4ndCBiZSByZWFjaGVkLAo+ID4gdGhlIG1vZGUgbGlzdCBpcyB0cmlt bWVkIGJhc2VkIG9uIHRoYXQuCj4gPiAKPiA+IHY0Ogo+ID4gKiBBZGQgY29tbWVudHMgaW4ga2Vy bmVsLWRvYyBmb3JtYXQgKERhbmllbCBWZXR0ZXIpCj4gPiAqIFVwZGF0ZSB0aGUga2VybmVsLWRv YyBmb3IgbGluay1zdGF0dXMgKFNlYW4gUGF1bCkKPiA+IHYzOgo+ID4gKiBGaXhlZCBhIGJ1aWxk IGVycm9yIChKYW5pIFNhYXJpbmVuKQo+ID4gdjI6Cj4gPiAqIFJlbW92ZWQgY29ubmVjdG9yLT5s aW5rX3N0YXR1cyAoRGFuaWVsIFZldHRlcikKPiA+ICogU2V0IGNvbm5lY3Rvci0+c3RhdGUtPmxp bmtfc3RhdHVzIGluIGRybV9tb2RlX2Nvbm5lY3Rvcl9zZXRfbGlua19zdGF0dXNfcHJvcGVydHkK PiA+IChEYW5pZWwgVmV0dGVyKQo+ID4gKiBTZXQgdGhlIGNvbm5lY3Rvcl9jaGFuZ2VkIGZsYWcg dG8gdHJ1ZSBpZiBjb25uZWN0b3ItPnN0YXRlLT5saW5rX3N0YXR1cyBjaGFuZ2VkLgo+ID4gKiBS ZXNldCBsaW5rX3N0YXR1cyB0byBHT09EIGluIHVwZGF0ZV9vdXRwdXRfc3RhdGUgKERhbmllbCBW ZXR0ZXIpCj4gPiAqIE5ldmVyIGFsbG93IHVzZXJzcGFjZSB0byBzZXQgbGluayBzdGF0dXMgZnJv bSBHb29kIFRvIEJhZCAoRGFuaWVsIFZldHRlcikKPiA+IAo+ID4gQWNrZWQtYnk6IFRvbnkgQ2hl bmcgPHRvbnkuY2hlbmdAYW1kLmNvbT4KPiA+IEFja2VkLWJ5OiBIYXJyeSBXZW50bGFuZCA8aGFy cnkud2VudGxhbmRAYW1kLmNvbT4KPiA+IENjOiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAbGlu dXguaW50ZWwuY29tPgo+ID4gQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAaW50ZWwu Y29tPgo+ID4gQ2M6IFZpbGxlIFN5cmphbGEgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29t Pgo+ID4gQ2M6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+ID4gQ2M6 IFNlYW4gUGF1bCA8c2VhbnBhdWxAY2hyb21pdW0ub3JnPgo+IAo+IERpZG4ndCBTZWFuIHItYiB0 aGlzIGFscmVhZHk/Cj4gCj4gPiBTaWduZWQtb2ZmLWJ5OiBNYW5hc2kgTmF2YXJlIDxtYW5hc2ku ZC5uYXZhcmVAaW50ZWwuY29tPgo+IAo+IExvb2tzIGFsbCBuaWNlIGFuZCB0aWR5LCBncmVhdCB3 b3JrLgo+IAo+IFJldmlld2VkLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xs LmNoPgo+IAo+IENhbiBiZSBtZXJnZWQgYXMgc29vbiBhcyB3ZSBoYXZlIGFuIGFjayBmcm9tIE1h cnRpbiB0aGF0IHRoZSAtbW9kZXNldHRpbmcKPiBzaWRlIGlzIHJlYWR5IHRvIGdvIHRvby4KPiAt RGFuaWVsCj4KClRoYW5rcyBEYW5pZWwuIApBbmQgeWVzIEkgbWlzc2VkIFNlYW4gUGF1bCdzIHIt Yi4gSSB3aWxsIGFkZCB5b3VycyBhbmQgaGlzIHItYiBhbmQgcmVzdWJtaXQKdGhlIHBhdGNoLgoK TWFuYXNpCgogCj4gPiAtLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jICAgICAg ICB8IDEwICsrKysrKysKPiA+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYyB8 IDE1ICsrKysrKysrKysrCj4gPiAgZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYyAgICAg fCA1MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gPiAgaW5jbHVkZS9k cm0vZHJtX2Nvbm5lY3Rvci5oICAgICAgICAgfCAxOSArKysrKysrKysrKysrCj4gPiAgaW5jbHVk ZS9kcm0vZHJtX21vZGVfY29uZmlnLmggICAgICAgfCAgNSArKysrCj4gPiAgaW5jbHVkZS91YXBp L2RybS9kcm1fbW9kZS5oICAgICAgICAgfCAgNCArKysKPiA+ICA2IGZpbGVzIGNoYW5nZWQsIDEw NiBpbnNlcnRpb25zKCspCj4gPiAKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJt X2F0b21pYy5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwo+ID4gaW5kZXggMTlkN2Jj Yi4uNzBhNTE1MiAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMK PiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKPiA+IEBAIC0xMDg3LDYgKzEw ODcsMTQgQEAgaW50IGRybV9hdG9taWNfY29ubmVjdG9yX3NldF9wcm9wZXJ0eShzdHJ1Y3QgZHJt X2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ID4gIAkJICogbm93PykgYXRvbWljIHdyaXRlcyB0byBE UE1TIHByb3BlcnR5Ogo+ID4gIAkJICovCj4gPiAgCQlyZXR1cm4gLUVJTlZBTDsKPiA+ICsJfSBl bHNlIGlmIChwcm9wZXJ0eSA9PSBjb25maWctPmxpbmtfc3RhdHVzX3Byb3BlcnR5KSB7Cj4gPiAr CQkvKiBOZXZlciBkb3duZ3JhZGUgZnJvbSBHT09EIHRvIEJBRCBvbiB1c2Vyc3BhY2UncyByZXF1 ZXN0IGhlcmUsCj4gPiArCQkgKiBvbmx5IGh3IGlzc3VlcyBjYW4gZG8gdGhhdC4KPiA+ICsJCSAq Lwo+ID4gKwkJaWYgKHN0YXRlLT5saW5rX3N0YXR1cyA9PSBEUk1fTElOS19TVEFUVVNfR09PRCkK PiA+ICsJCQlyZXR1cm4gMDsKPiA+ICsJCXN0YXRlLT5saW5rX3N0YXR1cyA9IHZhbDsKPiA+ICsJ CXJldHVybiAwOwo+ID4gIAl9IGVsc2UgaWYgKGNvbm5lY3Rvci0+ZnVuY3MtPmF0b21pY19zZXRf cHJvcGVydHkpIHsKPiA+ICAJCXJldHVybiBjb25uZWN0b3ItPmZ1bmNzLT5hdG9taWNfc2V0X3By b3BlcnR5KGNvbm5lY3RvciwKPiA+ICAJCQkJc3RhdGUsIHByb3BlcnR5LCB2YWwpOwo+ID4gQEAg LTExMzUsNiArMTE0Myw4IEBAIHN0YXRpYyB2b2lkIGRybV9hdG9taWNfY29ubmVjdG9yX3ByaW50 X3N0YXRlKHN0cnVjdCBkcm1fcHJpbnRlciAqcCwKPiA+ICAJCSp2YWwgPSAoc3RhdGUtPmNydGMp ID8gc3RhdGUtPmNydGMtPmJhc2UuaWQgOiAwOwo+ID4gIAl9IGVsc2UgaWYgKHByb3BlcnR5ID09 IGNvbmZpZy0+ZHBtc19wcm9wZXJ0eSkgewo+ID4gIAkJKnZhbCA9IGNvbm5lY3Rvci0+ZHBtczsK PiA+ICsJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25maWctPmxpbmtfc3RhdHVzX3Byb3BlcnR5 KSB7Cj4gPiArCQkqdmFsID0gc3RhdGUtPmxpbmtfc3RhdHVzOwo+ID4gIAl9IGVsc2UgaWYgKGNv bm5lY3Rvci0+ZnVuY3MtPmF0b21pY19nZXRfcHJvcGVydHkpIHsKPiA+ICAJCXJldHVybiBjb25u ZWN0b3ItPmZ1bmNzLT5hdG9taWNfZ2V0X3Byb3BlcnR5KGNvbm5lY3RvciwKPiA+ICAJCQkJc3Rh dGUsIHByb3BlcnR5LCB2YWwpOwo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1f YXRvbWljX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMKPiA+ IGluZGV4IDQ5NDY4MGMuLjNkNmMxY2UgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v ZHJtX2F0b21pY19oZWxwZXIuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNf aGVscGVyLmMKPiA+IEBAIC01MTksNiArNTE5LDEzIEBAIHN0YXRpYyBpbnQgaGFuZGxlX2NvbmZs aWN0aW5nX2VuY29kZXJzKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKPiA+ICAJCQkJ CSAgICAgICBjb25uZWN0b3Jfc3RhdGUpOwo+ID4gIAkJaWYgKHJldCkKPiA+ICAJCQlyZXR1cm4g cmV0Owo+ID4gKwkJaWYgKGNvbm5lY3Rvci0+c3RhdGUtPmNydGMpIHsKPiA+ICsJCQljcnRjX3N0 YXRlID0gZHJtX2F0b21pY19nZXRfZXhpc3RpbmdfY3J0Y19zdGF0ZShzdGF0ZSwKPiA+ICsJCQkJ CQkJCQljb25uZWN0b3ItPnN0YXRlLT5jcnRjKTsKPiA+ICsJCQlpZiAoY29ubmVjdG9yLT5zdGF0 ZS0+bGlua19zdGF0dXMgIT0KPiA+ICsJCQkgICAgY29ubmVjdG9yX3N0YXRlLT5saW5rX3N0YXR1 cykKPiA+ICsJCQkJY3J0Y19zdGF0ZS0+Y29ubmVjdG9yc19jaGFuZ2VkID0gdHJ1ZTsKPiA+ICsJ CX0KPiA+ICAJfQo+ID4gIAo+ID4gIAkvKgo+ID4gQEAgLTIyNTgsNiArMjI2NSw4IEBAIHN0YXRp YyBpbnQgdXBkYXRlX291dHB1dF9zdGF0ZShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUs Cj4gPiAgCQkJCQkJCQlOVUxMKTsKPiA+ICAJCQlpZiAocmV0KQo+ID4gIAkJCQlyZXR1cm4gcmV0 Owo+ID4gKwkJCS8qIE1ha2Ugc3VyZSBsZWdhY3kgc2V0Q3J0YyBhbHdheXMgcmUtdHJhaW5zICov Cj4gPiArCQkJY29ubl9zdGF0ZS0+bGlua19zdGF0dXMgPSBEUk1fTElOS19TVEFUVVNfR09PRDsK PiA+ICAJCX0KPiA+ICAJfQo+ID4gIAo+ID4gQEAgLTIzMDEsNiArMjMxMCwxMiBAQCBzdGF0aWMg aW50IHVwZGF0ZV9vdXRwdXRfc3RhdGUoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAo+ ID4gICAqCj4gPiAgICogUHJvdmlkZXMgYSBkZWZhdWx0IGNydGMgc2V0X2NvbmZpZyBoYW5kbGVy IHVzaW5nIHRoZSBhdG9taWMgZHJpdmVyIGludGVyZmFjZS4KPiA+ICAgKgo+ID4gKyAqIE5PVEU6 IEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB3aXRoIG9sZCB1c2Vyc3BhY2UgdGhpcyBhdXRv bWF0aWNhbGx5Cj4gPiArICogcmVzZXRzIHRoZSAibGluay1zdGF0dXMiIHByb3BlcnR5IHRvIEdP T0QsIHRvIGZvcmNlIGFueSBsaW5rCj4gPiArICogcmUtdHJhaW5pbmcuIFRoZSBTRVRDUlRDIGlv Y3RsIGRvZXMgbm90IGRlZmluZSB3aGV0aGVyIGFuIHVwZGF0ZSBkb2VzCj4gPiArICogbmVlZCBh IGZ1bGwgbW9kZXNldCBvciBqdXN0IGEgcGxhbmUgdXBkYXRlLCBoZW5jZSB3ZSdyZSBhbGxvd2Vk IHRvIGRvCj4gPiArICogdGhhdC4gU2VlIGFsc28gZHJtX21vZGVfY29ubmVjdG9yX3NldF9saW5r X3N0YXR1c19wcm9wZXJ0eSgpLgo+ID4gKyAqCj4gPiAgICogUmV0dXJuczoKPiA+ICAgKiBSZXR1 cm5zIDAgb24gc3VjY2VzcywgbmVnYXRpdmUgZXJybm8gbnVtYmVycyBvbiBmYWlsdXJlLgo+ID4g ICAqLwo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMgYi9k cml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jCj4gPiBpbmRleCA1YTQ1MjYyLi5lZWUwMzhh IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYwo+ID4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYwo+ID4gQEAgLTI0Myw2ICsyNDMsMTAg QEAgaW50IGRybV9jb25uZWN0b3JfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ID4gIAlk cm1fb2JqZWN0X2F0dGFjaF9wcm9wZXJ0eSgmY29ubmVjdG9yLT5iYXNlLAo+ID4gIAkJCQkgICAg ICBjb25maWctPmRwbXNfcHJvcGVydHksIDApOwo+ID4gIAo+ID4gKwlkcm1fb2JqZWN0X2F0dGFj aF9wcm9wZXJ0eSgmY29ubmVjdG9yLT5iYXNlLAo+ID4gKwkJCQkgICBjb25maWctPmxpbmtfc3Rh dHVzX3Byb3BlcnR5LAo+ID4gKwkJCQkgICAwKTsKPiA+ICsKPiA+ICAJaWYgKGRybV9jb3JlX2No ZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfQVRPTUlDKSkgewo+ID4gIAkJZHJtX29iamVjdF9hdHRh Y2hfcHJvcGVydHkoJmNvbm5lY3Rvci0+YmFzZSwgY29uZmlnLT5wcm9wX2NydGNfaWQsIDApOwo+ ID4gIAl9Cj4gPiBAQCAtNTA2LDYgKzUxMCwxMiBAQCBjb25zdCBjaGFyICpkcm1fZ2V0X3N1YnBp eGVsX29yZGVyX25hbWUoZW51bSBzdWJwaXhlbF9vcmRlciBvcmRlcikKPiA+ICB9Owo+ID4gIERS TV9FTlVNX05BTUVfRk4oZHJtX2dldF9kcG1zX25hbWUsIGRybV9kcG1zX2VudW1fbGlzdCkKPiA+ ICAKPiA+ICtzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9wcm9wX2VudW1fbGlzdCBkcm1fbGlua19z dGF0dXNfZW51bV9saXN0W10gPSB7Cj4gPiArCXsgRFJNX01PREVfTElOS19TVEFUVVNfR09PRCwg Ikdvb2QiIH0sCj4gPiArCXsgRFJNX01PREVfTElOS19TVEFUVVNfQkFELCAiQmFkIiB9LAo+ID4g K307Cj4gPiArRFJNX0VOVU1fTkFNRV9GTihkcm1fZ2V0X2xpbmtfc3RhdHVzX25hbWUsIGRybV9s aW5rX3N0YXR1c19lbnVtX2xpc3QpCj4gPiArCj4gPiAgLyoqCj4gPiAgICogZHJtX2Rpc3BsYXlf aW5mb19zZXRfYnVzX2Zvcm1hdHMgLSBzZXQgdGhlIHN1cHBvcnRlZCBidXMgZm9ybWF0cwo+ID4g ICAqIEBpbmZvOiBkaXNwbGF5IGluZm8gdG8gc3RvcmUgYnVzIGZvcm1hdHMgaW4KPiA+IEBAIC02 MjUsNiArNjM1LDExIEBAIGludCBkcm1fZGlzcGxheV9pbmZvX3NldF9idXNfZm9ybWF0cyhzdHJ1 Y3QgZHJtX2Rpc3BsYXlfaW5mbyAqaW5mbywKPiA+ICAgKiAJdGlsaW5nIGFuZCB2aXJ0dWFsaXpl IGJvdGggJmRybV9jcnRjIGFuZCAmZHJtX3BsYW5lIGlmIG5lZWRlZC4gRHJpdmVycwo+ID4gICAq IAlzaG91bGQgdXBkYXRlIHRoaXMgdmFsdWUgdXNpbmcgZHJtX21vZGVfY29ubmVjdG9yX3NldF90 aWxlX3Byb3BlcnR5KCkuCj4gPiAgICogCVVzZXJzcGFjZSBjYW5ub3QgY2hhbmdlIHRoaXMgcHJv cGVydHkuCj4gPiArICogbGluay1zdGF0dXM6Cj4gPiArICogICAgICBDb25uZWN0b3IgbGluay1z dGF0dXMgcHJvcGVydHkgdG8gaW5kaWNhdGUgdGhlIHN0YXR1cyBvZiBsaW5rLiBUaGUgZGVmYXVs dAo+ID4gKyAqICAgICAgdmFsdWUgb2YgbGluay1zdGF0dXMgaXMgIkdPT0QiLiBJZiBzb21ldGhp bmcgZmFpbHMgZHVyaW5nIG9yIGFmdGVyIG1vZGVzZXQsCj4gPiArICogICAgICB0aGUga2VybmVs IGRyaXZlciBtYXkgc2V0IHRoaXMgdG8gIkJBRCIgYW5kIGlzc3VlIGEgaG90cGx1ZyB1ZXZlbnQu IERyaXZlcnMKPiA+ICsgKiAgICAgIHNob3VsZCB1cGRhdGUgdGhpcyB2YWx1ZSB1c2luZyBkcm1f bW9kZV9jb25uZWN0b3Jfc2V0X2xpbmtfc3RhdHVzX3Byb3BlcnR5KCkuCj4gPiAgICoKPiA+ICAg KiBDb25uZWN0b3JzIGFsc28gaGF2ZSBvbmUgc3RhbmRhcmRpemVkIGF0b21pYyBwcm9wZXJ0eToK PiA+ICAgKgo+ID4gQEAgLTY2Niw2ICs2ODEsMTMgQEAgaW50IGRybV9jb25uZWN0b3JfY3JlYXRl X3N0YW5kYXJkX3Byb3BlcnRpZXMoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiA+ICAJCXJldHVy biAtRU5PTUVNOwo+ID4gIAlkZXYtPm1vZGVfY29uZmlnLnRpbGVfcHJvcGVydHkgPSBwcm9wOwo+ ID4gIAo+ID4gKwlwcm9wID0gZHJtX3Byb3BlcnR5X2NyZWF0ZV9lbnVtKGRldiwgMCwgImxpbmst c3RhdHVzIiwKPiA+ICsJCQkJCWRybV9saW5rX3N0YXR1c19lbnVtX2xpc3QsCj4gPiArCQkJCQlB UlJBWV9TSVpFKGRybV9saW5rX3N0YXR1c19lbnVtX2xpc3QpKTsKPiA+ICsJaWYgKCFwcm9wKQo+ ID4gKwkJcmV0dXJuIC1FTk9NRU07Cj4gPiArCWRldi0+bW9kZV9jb25maWcubGlua19zdGF0dXNf cHJvcGVydHkgPSBwcm9wOwo+ID4gKwo+ID4gIAlyZXR1cm4gMDsKPiA+ICB9Cj4gPiAgCj4gPiBA QCAtOTk1LDYgKzEwMTcsMzcgQEAgaW50IGRybV9tb2RlX2Nvbm5lY3Rvcl91cGRhdGVfZWRpZF9w cm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ID4gIH0KPiA+ICBFWFBP UlRfU1lNQk9MKGRybV9tb2RlX2Nvbm5lY3Rvcl91cGRhdGVfZWRpZF9wcm9wZXJ0eSk7Cj4gPiAg Cj4gPiArLyoqCj4gPiArICogZHJtX21vZGVfY29ubmVjdG9yX3NldF9saW5rX3N0YXR1c19wcm9w ZXJ0eSAtIFNldCBsaW5rIHN0YXR1cyBwcm9wZXJ0eSBvZiBhIGNvbm5lY3Rvcgo+ID4gKyAqIEBj b25uZWN0b3I6IGRybSBjb25uZWN0b3IKPiA+ICsgKiBAbGlua19zdGF0dXM6IG5ldyB2YWx1ZSBv ZiBsaW5rIHN0YXR1cyBwcm9wZXJ0eSAoMDogR29vZCwgMTogQmFkKQo+ID4gKyAqCj4gPiArICog SW4gdXN1YWwgd29ya2luZyBzY2VuYXJpbywgdGhpcyBsaW5rIHN0YXR1cyBwcm9wZXJ0eSB3aWxs IGFsd2F5cyBiZSBzZXQgdG8KPiA+ICsgKiAiR09PRCIuIElmIHNvbWV0aGluZyBmYWlscyBkdXJp bmcgb3IgYWZ0ZXIgYSBtb2RlIHNldCwgdGhlIGtlcm5lbCBkcml2ZXIKPiA+ICsgKiBtYXkgc2V0 IHRoaXMgbGluayBzdGF0dXMgcHJvcGVydHkgdG8gIkJBRCIuIFRoZSBjYWxsZXIgdGhlbiBuZWVk cyB0byBzZW5kIGEKPiA+ICsgKiBob3RwbHVnIHVldmVudCBmb3IgdXNlcnNwYWNlIHRvIHJlLWNo ZWNrIHRoZSB2YWxpZCBtb2RlcyB0aHJvdWdoCj4gPiArICogR0VUX0NPTk5FQ1RPUl9JT0NUTCBh bmQgcmV0cnkgbW9kZXNldC4KPiA+ICsgKgo+ID4gKyAqIE5vdGU6IERyaXZlcnMgY2Fubm90IHJl bHkgb24gdXNlcnNwYWNlIHRvIHN1cHBvcnQgdGhpcyBwcm9wZXJ0eSBhbmQKPiA+ICsgKiBpc3N1 ZSBhIG1vZGVzZXQuIEFzIHN1Y2gsIHRoZXkgbWF5IGNob29zZSB0byBoYW5kbGUgaXNzdWVzIChs aWtlCj4gPiArICogcmUtdHJhaW5pbmcgYSBsaW5rKSB3aXRob3V0IHVzZXJzcGFjZSdzIGludGVy dmVudGlvbi4KPiA+ICsgKgo+ID4gKyAqIFRoZSByZWFzb24gZm9yIGFkZGluZyB0aGlzIHByb3Bl cnR5IGlzIHRvIGhhbmRsZSBsaW5rIHRyYWluaW5nIGZhaWx1cmVzLCBidXQKPiA+ICsgKiBpdCBp cyBub3QgbGltaXRlZCB0byBEUCBvciBsaW5rIHRyYWluaW5nLiBGb3IgZXhhbXBsZSwgaWYgd2Ug aW1wbGVtZW50Cj4gPiArICogYXN5bmNocm9ub3VzIHNldGNydGMsIHRoaXMgcHJvcGVydHkgY2Fu IGJlIHVzZWQgdG8gcmVwb3J0IGFueSBmYWlsdXJlcyBpbiB0aGF0Lgo+ID4gKyAqLwo+ID4gK3Zv aWQgZHJtX21vZGVfY29ubmVjdG9yX3NldF9saW5rX3N0YXR1c19wcm9wZXJ0eShzdHJ1Y3QgZHJt X2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ID4gKwkJCQkJCSB1aW50NjRfdCBsaW5rX3N0YXR1cykK PiA+ICt7Cj4gPiArCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmRldjsKPiA+ ICsKPiA+ICsJZHJtX21vZGVzZXRfbG9jaygmZGV2LT5tb2RlX2NvbmZpZy5jb25uZWN0aW9uX211 dGV4LCBOVUxMKTsKPiA+ICsJY29ubmVjdG9yLT5zdGF0ZS0+bGlua19zdGF0dXMgPSBsaW5rX3N0 YXR1czsKPiA+ICsJZHJtX21vZGVzZXRfdW5sb2NrKCZkZXYtPm1vZGVfY29uZmlnLmNvbm5lY3Rp b25fbXV0ZXgpOwo+ID4gKwo+ID4gK30KPiA+ICtFWFBPUlRfU1lNQk9MKGRybV9tb2RlX2Nvbm5l Y3Rvcl9zZXRfbGlua19zdGF0dXNfcHJvcGVydHkpOwo+ID4gKwo+ID4gIGludCBkcm1fbW9kZV9j b25uZWN0b3Jfc2V0X29ial9wcm9wKHN0cnVjdCBkcm1fbW9kZV9vYmplY3QgKm9iaiwKPiA+ICAJ CQkJICAgIHN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3BlcnR5LAo+ID4gIAkJCQkgICAgdWludDY0 X3QgdmFsdWUpCj4gPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oIGIv aW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oCj4gPiBpbmRleCAxMjE4YTBjLi42NGUwN2M1IDEw MDY0NAo+ID4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oCj4gPiArKysgYi9pbmNs dWRlL2RybS9kcm1fY29ubmVjdG9yLmgKPiA+IEBAIC05MCw2ICs5MCwxNyBAQCBlbnVtIHN1YnBp eGVsX29yZGVyIHsKPiA+ICB9Owo+ID4gIAo+ID4gIC8qKgo+ID4gKyAqIGVudW0gZHJtX2xpbmtf c3RhdHVzIC0gY29ubmVjdG9yJ3MgbGlua19zdGF0dXMgcHJvcGVydHkgdmFsdWUKPiA+ICsgKgo+ ID4gKyAqIFRoaXMgZW51bSBpcyB1c2VkIGFzIHRoZSBjb25uZWN0b3IncyBsaW5rIHN0YXR1cyBw cm9wZXJ0eSB2YWx1ZS4KPiA+ICsgKiBJdCBpcyBzZXQgdG8gdGhlIHZhbHVlcyBkZWZpbmVkIGlu IHVhcGkuCj4gPiArICovCj4gPiArZW51bSBkcm1fbGlua19zdGF0dXMgewo+ID4gKwlEUk1fTElO S19TVEFUVVNfR09PRCA9IERSTV9NT0RFX0xJTktfU1RBVFVTX0dPT0QsCj4gPiArCURSTV9MSU5L X1NUQVRVU19CQUQgPSBEUk1fTU9ERV9MSU5LX1NUQVRVU19CQUQsCj4gPiArfTsKPiA+ICsKPiA+ ICsvKioKPiA+ICAgKiBzdHJ1Y3QgZHJtX2Rpc3BsYXlfaW5mbyAtIHJ1bnRpbWUgZGF0YSBhYm91 dCB0aGUgY29ubmVjdGVkIHNpbmsKPiA+ICAgKgo+ID4gICAqIERlc2NyaWJlcyBhIGdpdmVuIGRp c3BsYXkgKGUuZy4gQ1JUIG9yIGZsYXQgcGFuZWwpIGFuZCBpdHMgbGltaXRhdGlvbnMuIEZvcgo+ ID4gQEAgLTIxMyw2ICsyMjQsMTIgQEAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgewo+ID4g IAo+ID4gIAlzdHJ1Y3QgZHJtX2VuY29kZXIgKmJlc3RfZW5jb2RlcjsKPiA+ICAKPiA+ICsJLyoq Cj4gPiArCSAqIEBsaW5rX3N0YXR1czogQ29ubmVjdG9yIGxpbmtfc3RhdHVzIHRvIGtlZXAgdHJh Y2sgb2Ygd2hldGhlciBsaW5rIGlzCj4gPiArCSAqIEdPT0Qgb3IgQkFEIHRvIG5vdGlmeSB1c2Vy c3BhY2UgaWYgcmV0cmFpbmluZyBpcyBuZWNlc3NhcnkuCj4gPiArCSAqLwo+ID4gKwllbnVtIGRy bV9saW5rX3N0YXR1cyBsaW5rX3N0YXR1czsKPiA+ICsKPiA+ICAJc3RydWN0IGRybV9hdG9taWNf c3RhdGUgKnN0YXRlOwo+ID4gIH07Cj4gPiAgCj4gPiBAQCAtNzc2LDYgKzc5Myw4IEBAIGludCBk cm1fbW9kZV9jb25uZWN0b3Jfc2V0X3BhdGhfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3Ig KmNvbm5lY3RvciwKPiA+ICBpbnQgZHJtX21vZGVfY29ubmVjdG9yX3NldF90aWxlX3Byb3BlcnR5 KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpOwo+ID4gIGludCBkcm1fbW9kZV9jb25u ZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rv ciwKPiA+ICAJCQkJCSAgICBjb25zdCBzdHJ1Y3QgZWRpZCAqZWRpZCk7Cj4gPiArdm9pZCBkcm1f bW9kZV9jb25uZWN0b3Jfc2V0X2xpbmtfc3RhdHVzX3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVj dG9yICpjb25uZWN0b3IsCj4gPiArCQkJCQkJIHVpbnQ2NF90IGxpbmtfc3RhdHVzKTsKPiA+ICAK PiA+ICAvKioKPiA+ICAgKiBzdHJ1Y3QgZHJtX3RpbGVfZ3JvdXAgLSBUaWxlIGdyb3VwIG1ldGFk YXRhCj4gPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX21vZGVfY29uZmlnLmggYi9pbmNs dWRlL2RybS9kcm1fbW9kZV9jb25maWcuaAo+ID4gaW5kZXggYmY5OTkxYi4uODZmYWVlNCAxMDA2 NDQKPiA+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9tb2RlX2NvbmZpZy5oCj4gPiArKysgYi9pbmNs dWRlL2RybS9kcm1fbW9kZV9jb25maWcuaAo+ID4gQEAgLTQzMSw2ICs0MzEsMTEgQEAgc3RydWN0 IGRybV9tb2RlX2NvbmZpZyB7Cj4gPiAgCSAqLwo+ID4gIAlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICp0 aWxlX3Byb3BlcnR5Owo+ID4gIAkvKioKPiA+ICsJICogQGxpbmtfc3RhdHVzX3Byb3BlcnR5OiBE ZWZhdWx0IGNvbm5lY3RvciBwcm9wZXJ0eSBmb3IgbGluayBzdGF0dXMKPiA+ICsJICogb2YgYSBj b25uZWN0b3IKPiA+ICsJICovCj4gPiArCXN0cnVjdCBkcm1fcHJvcGVydHkgKmxpbmtfc3RhdHVz X3Byb3BlcnR5Owo+ID4gKwkvKioKPiA+ICAJICogQHBsYW5lX3R5cGVfcHJvcGVydHk6IERlZmF1 bHQgcGxhbmUgcHJvcGVydHkgdG8gZGlmZmVyZW50aWF0ZQo+ID4gIAkgKiBDVVJTT1IsIFBSSU1B UlkgYW5kIE9WRVJMQVkgbGVnYWN5IHVzZXMgb2YgcGxhbmVzLgo+ID4gIAkgKi8KPiA+IGRpZmYg LS1naXQgYS9pbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmggYi9pbmNsdWRlL3VhcGkvZHJtL2Ry bV9tb2RlLmgKPiA+IGluZGV4IDcyODc5MGIuLjMwOWM0NzggMTAwNjQ0Cj4gPiAtLS0gYS9pbmNs dWRlL3VhcGkvZHJtL2RybV9tb2RlLmgKPiA+ICsrKyBiL2luY2x1ZGUvdWFwaS9kcm0vZHJtX21v ZGUuaAo+ID4gQEAgLTEyMyw2ICsxMjMsMTAgQEAKPiA+ICAjZGVmaW5lIERSTV9NT0RFX0RJUlRZ X09OICAgICAgIDEKPiA+ICAjZGVmaW5lIERSTV9NT0RFX0RJUlRZX0FOTk9UQVRFIDIKPiA+ICAK PiA+ICsvKiBMaW5rIFN0YXR1cyBvcHRpb25zICovCj4gPiArI2RlZmluZSBEUk1fTU9ERV9MSU5L X1NUQVRVU19HT09ECTAKPiA+ICsjZGVmaW5lIERSTV9NT0RFX0xJTktfU1RBVFVTX0JBRAkxCj4g PiArCj4gPiAgc3RydWN0IGRybV9tb2RlX21vZGVpbmZvIHsKPiA+ICAJX191MzIgY2xvY2s7Cj4g PiAgCV9fdTE2IGhkaXNwbGF5Owo+ID4gLS0gCj4gPiAxLjkuMQo+ID4gCj4gPiBfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ID4gSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdAo+ID4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ID4gaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKPiAKPiAtLSAK PiBEYW5pZWwgVmV0dGVyCj4gU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCj4g aHR0cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v ZHJpLWRldmVsCg==