From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH v3 05/14] drm/i915/dp: generate and cache sink rate array for all DP, not just eDP 1.4 Date: Thu, 06 Apr 2017 14:41:26 +0300 Message-ID: <87d1cpzrtl.fsf@intel.com> References: <071bad76467f8ab2e73f3f61ad52d5a468004c71.1490712890.git.jani.nikula@intel.com> <20170405012029.GF2688@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8ECEE6E951 for ; Thu, 6 Apr 2017 11:41:29 +0000 (UTC) In-Reply-To: <20170405012029.GF2688@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-gfx@lists.freedesktop.org, dhinakaran.pandiyan@intel.com List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCAwNSBBcHIgMjAxNywgTWFuYXNpIE5hdmFyZSA8bWFuYXNpLmQubmF2YXJlQGludGVs LmNvbT4gd3JvdGU6Cj4gSSBhZ3JlZSB3aXRoIGRpc2VudGFuZ2xpbmcgdGhlIGZhbGxiYWNrIHJh dGUgbGltaXRpbmcKPiBmcm9tIHNpbmsgcmF0ZXMgYW5kIGluc3RlYWQganVzdCBsaW1pdGluZyB0 aGUgY29tbW9uX3JhdGVzIGFycmF5Cj4gYmFzZWQgb24gbWF4IGxpbmsgcmF0ZS4gCj4KPiBSZXZp ZXdlZC1ieTogPG1hbmFzaS5kLm5hdmFyZUBpbnRlbC5jb20+CgpQdXNoZWQgcGF0Y2hlcyAxLTUg dG8gZHJtLWludGVsLW5leHQtcXVldWVkLCB0aGFua3MgZm9yIHRoZSByZXZpZXcuCgpCUiwKSmFu aS4KCgo+Cj4gTWFuYXNpCj4KPiBPbiBUdWUsIE1hciAyOCwgMjAxNyBhdCAwNTo1OTowNVBNICsw MzAwLCBKYW5pIE5pa3VsYSB3cm90ZToKPj4gVGhlcmUgaXMgc29tZSBjb25mbGF0aW9uIHJlbGF0 ZWQgdG8gc2luayByYXRlcywgbWFraW5nIHRoaXMgY2hhbmdlIG1vcmUKPj4gY29tcGxpY2F0ZWQg dGhhbiBpdCB3b3VsZCBvdGhlcndpc2UgaGF2ZSB0byBiZS4gVGhlcmUgYXJlIHRocmVlIGNoYW5n ZXMKPj4gaGVyZSB0aGF0IGFyZSByYXRoZXIgZGlmZmljdWx0IHRvIHNwbGl0IHVwOgo+PiAKPj4g MSkgVXNlIHRoZSBpbnRlbF9kcC0+c2lua19yYXRlcyBhcnJheSBmb3IgYWxsIERQLCBub3QganVz dCBlRFAgMS40LiBXZQo+PiAgICBpbml0aWFsaXplIGl0IGZyb20gRFBDRCBvbiBlRFAgMS40IGxp a2UgYmVmb3JlLCBidXQgZ2VuZXJhdGUgaXQgYmFzZWQKPj4gICAgb24gRFBfTUFYX0xJTktfUkFU RSBvbiBvdGhlcnMuIFRoaXMgcmVkdWNlcyBjb2RlIGNvbXBsZXhpdHkgd2hlbiB3ZQo+PiAgICBu ZWVkIHRvIHVzZSB0aGUgc2luayByYXRlczsgdGhleSBhcmUgYWxsIGFsd2F5cyBpbiB0aGUgc2lu a19yYXRlcwo+PiAgICBhcnJheS4KPj4gCj4+IDIpIFVwZGF0ZSB0aGUgc2luayByYXRlIGFycmF5 IHdoZW5ldmVyIHdlIHJlYWQgRFBDRCwgYW5kIHVzZSB0aGUKPj4gICAgaW5mb3JtYXRpb24gZnJv bSB0aGVyZS4gVGhpcyBpbmNyZWFzZXMgY29kZSByZWFkYWJpbGl0eSB3aGVuIHdlIG5lZWQKPj4g ICAgdGhlIHNpbmsgcmF0ZXMuCj4+IAo+PiAzKSBEaXNlbnRhbmdsZSBmYWxsYmFjayByYXRlIGxp bWl0aW5nIGZyb20gc2luayByYXRlcy4gSW4gdGhlIGNvZGUsIHRoZQo+PiAgICBtYXggcmF0ZSBp cyBhIGR5bmFtaWMgcHJvcGVydHkgb2YgdGhlICpsaW5rKiwgbm90IG9mIHRoZSAqc2luayouIERv Cj4+ICAgIHRoZSBsaW1pdGluZyBhZnRlciBpbnRlcnNlY3RpbmcgdGhlIHNvdXJjZSBhbmQgc2lu ayByYXRlcywgd2hpY2ggYXJlCj4+ICAgIHN0YXRpYyBwcm9wZXJ0aWVzIG9mIHRoZSBkZXZpY2Vz Lgo+PiAKPj4gVGhpcyBwYXZlcyB0aGUgd2F5IGZvciBmb2xsb3ctdXAgcmVmYWN0b3JpbmcgdGhh dCBJJ3ZlIHJlZnJhaW5lZCBmcm9tCj4+IGRvaW5nIGhlcmUgdG8ga2VlcCB0aGlzIGNoYW5nZSBh cyBzaW1wbGUgYXMgaXQgcG9zc2libHkgY2FuLgo+PiAKPj4gdjI6IGludHJvZHVjZSB1c2VfcmF0 ZV9zZWxlY3QgYW5kIGhhbmRsZSBub24tY29uZmlybWluZyBlRFAgKFZpbGxlKQo+PiAKPj4gdjM6 IGRvbid0IGNsb2JiZXIgY2FjaGVkIGVEUCByYXRlcyBvbiBzaG9ydCBwdWxzZSAoVmlsbGUpCj4+ IAo+PiBDYzogTWFuYXNpIE5hdmFyZSA8bWFuYXNpLmQubmF2YXJlQGludGVsLmNvbT4KPj4gQ2M6 IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4+IFNpZ25l ZC1vZmYtYnk6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBpbnRlbC5jb20+Cj4+IC0tLQo+PiAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyAgICAgICAgICAgICAgIHwgODEgKysrKysr KysrKysrKysrKysrLS0tLS0tLS0tCj4+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9s aW5rX3RyYWluaW5nLmMgfCAgMyArLQo+PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2 LmggICAgICAgICAgICAgIHwgIDUgKy0KPj4gIDMgZmlsZXMgY2hhbmdlZCwgNjEgaW5zZXJ0aW9u cygrKSwgMjggZGVsZXRpb25zKC0pCj4+IAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPj4gaW5k ZXggZTliZDc1ZmYzOTA0Li5iMzhjYmE3ZDVhYmMgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RwLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHAuYwo+PiBAQCAtMTMzLDYgKzEzMywzNCBAQCBzdGF0aWMgdm9pZCB2bHZfc3RlYWxfcG93ZXJf c2VxdWVuY2VyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4+ICAJCQkJICAgICAgZW51bSBwaXBl IHBpcGUpOwo+PiAgc3RhdGljIHZvaWQgaW50ZWxfZHBfdW5zZXRfZWRpZChzdHJ1Y3QgaW50ZWxf ZHAgKmludGVsX2RwKTsKPj4gIAo+PiArc3RhdGljIGludCBpbnRlbF9kcF9udW1fcmF0ZXModTgg bGlua19id19jb2RlKQo+PiArewo+PiArCXN3aXRjaCAobGlua19id19jb2RlKSB7Cj4+ICsJZGVm YXVsdDoKPj4gKwkJV0FSTigxLCAiaW52YWxpZCBtYXggRFAgbGluayBidyB2YWwgJXgsIHVzaW5n IDEuNjJHYnBzXG4iLAo+PiArCQkgICAgIGxpbmtfYndfY29kZSk7Cj4+ICsJY2FzZSBEUF9MSU5L X0JXXzFfNjI6Cj4+ICsJCXJldHVybiAxOwo+PiArCWNhc2UgRFBfTElOS19CV18yXzc6Cj4+ICsJ CXJldHVybiAyOwo+PiArCWNhc2UgRFBfTElOS19CV181XzQ6Cj4+ICsJCXJldHVybiAzOwo+PiAr CX0KPj4gK30KPj4gKwo+PiArLyogdXBkYXRlIHNpbmsgcmF0ZXMgZnJvbSBkcGNkICovCj4+ICtz dGF0aWMgdm9pZCBpbnRlbF9kcF9zZXRfc2lua19yYXRlcyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVs X2RwKQo+PiArewo+PiArCWludCBpLCBudW1fcmF0ZXM7Cj4+ICsKPj4gKwludW1fcmF0ZXMgPSBp bnRlbF9kcF9udW1fcmF0ZXMoaW50ZWxfZHAtPmRwY2RbRFBfTUFYX0xJTktfUkFURV0pOwo+PiAr Cj4+ICsJZm9yIChpID0gMDsgaSA8IG51bV9yYXRlczsgaSsrKQo+PiArCQlpbnRlbF9kcC0+c2lu a19yYXRlc1tpXSA9IGRlZmF1bHRfcmF0ZXNbaV07Cj4+ICsKPj4gKwlpbnRlbF9kcC0+bnVtX3Np bmtfcmF0ZXMgPSBudW1fcmF0ZXM7Cj4+ICt9Cj4+ICsKPj4gIHN0YXRpYyBpbnQKPj4gIGludGVs X2RwX21heF9saW5rX2J3KHN0cnVjdCBpbnRlbF9kcCAgKmludGVsX2RwKQo+PiAgewo+PiBAQCAt MjA1LDE5ICsyMzMsNiBAQCBpbnRlbF9kcF9kb3duc3RyZWFtX21heF9kb3RjbG9jayhzdHJ1Y3Qg aW50ZWxfZHAgKmludGVsX2RwKQo+PiAgCXJldHVybiBtYXhfZG90Y2xrOwo+PiAgfQo+PiAgCj4+ IC1zdGF0aWMgaW50Cj4+IC1pbnRlbF9kcF9zaW5rX3JhdGVzKHN0cnVjdCBpbnRlbF9kcCAqaW50 ZWxfZHAsIGNvbnN0IGludCAqKnNpbmtfcmF0ZXMpCj4+IC17Cj4+IC0JaWYgKGludGVsX2RwLT5u dW1fc2lua19yYXRlcykgewo+PiAtCQkqc2lua19yYXRlcyA9IGludGVsX2RwLT5zaW5rX3JhdGVz Owo+PiAtCQlyZXR1cm4gaW50ZWxfZHAtPm51bV9zaW5rX3JhdGVzOwo+PiAtCX0KPj4gLQo+PiAt CSpzaW5rX3JhdGVzID0gZGVmYXVsdF9yYXRlczsKPj4gLQo+PiAtCXJldHVybiAoaW50ZWxfZHAt Pm1heF9zaW5rX2xpbmtfYncgPj4gMykgKyAxOwo+PiAtfQo+PiAtCj4+ICBzdGF0aWMgdm9pZAo+ PiAgaW50ZWxfZHBfc2V0X3NvdXJjZV9yYXRlcyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ PiAgewo+PiBAQCAtMjg2LDE1ICszMDEsMjIgQEAgc3RhdGljIGludCBpbnRlbF9kcF9yYXRlX2lu ZGV4KGNvbnN0IGludCAqcmF0ZXMsIGludCBsZW4sIGludCByYXRlKQo+PiAgc3RhdGljIGludCBp bnRlbF9kcF9jb21tb25fcmF0ZXMoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKPj4gIAkJCQkg aW50ICpjb21tb25fcmF0ZXMpCj4+ICB7Cj4+IC0JY29uc3QgaW50ICpzaW5rX3JhdGVzOwo+PiAt CWludCBzaW5rX2xlbjsKPj4gKwlpbnQgbWF4X3JhdGUgPSBkcm1fZHBfYndfY29kZV90b19saW5r X3JhdGUoaW50ZWxfZHAtPm1heF9zaW5rX2xpbmtfYncpOwo+PiArCWludCBpLCBjb21tb25fbGVu Owo+PiAgCj4+IC0Jc2lua19sZW4gPSBpbnRlbF9kcF9zaW5rX3JhdGVzKGludGVsX2RwLCAmc2lu a19yYXRlcyk7Cj4+ICsJY29tbW9uX2xlbiA9IGludGVyc2VjdF9yYXRlcyhpbnRlbF9kcC0+c291 cmNlX3JhdGVzLAo+PiArCQkJCSAgICAgaW50ZWxfZHAtPm51bV9zb3VyY2VfcmF0ZXMsCj4+ICsJ CQkJICAgICBpbnRlbF9kcC0+c2lua19yYXRlcywKPj4gKwkJCQkgICAgIGludGVsX2RwLT5udW1f c2lua19yYXRlcywKPj4gKwkJCQkgICAgIGNvbW1vbl9yYXRlcyk7Cj4+ICsKPj4gKwkvKiBMaW1p dCByZXN1bHRzIGJ5IHBvdGVudGlhbGx5IHJlZHVjZWQgbWF4IHJhdGUgKi8KPj4gKwlmb3IgKGkg PSAwOyBpIDwgY29tbW9uX2xlbjsgaSsrKSB7Cj4+ICsJCWlmIChjb21tb25fcmF0ZXNbY29tbW9u X2xlbiAtIGkgLSAxXSA8PSBtYXhfcmF0ZSkKPj4gKwkJCXJldHVybiBjb21tb25fbGVuIC0gaTsK Pj4gKwl9Cj4+ICAKPj4gLQlyZXR1cm4gaW50ZXJzZWN0X3JhdGVzKGludGVsX2RwLT5zb3VyY2Vf cmF0ZXMsCj4+IC0JCQkgICAgICAgaW50ZWxfZHAtPm51bV9zb3VyY2VfcmF0ZXMsCj4+IC0JCQkg ICAgICAgc2lua19yYXRlcywgc2lua19sZW4sCj4+IC0JCQkgICAgICAgY29tbW9uX3JhdGVzKTsK Pj4gKwlyZXR1cm4gMDsKPj4gIH0KPj4gIAo+PiAgc3RhdGljIGludCBpbnRlbF9kcF9saW5rX3Jh dGVfaW5kZXgoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKPj4gQEAgLTE0OTgsOCArMTUyMCw3 IEBAIHN0YXRpYyB2b2lkIHNucHJpbnRmX2ludF9hcnJheShjaGFyICpzdHIsIHNpemVfdCBsZW4s Cj4+ICAKPj4gIHN0YXRpYyB2b2lkIGludGVsX2RwX3ByaW50X3JhdGVzKHN0cnVjdCBpbnRlbF9k cCAqaW50ZWxfZHApCj4+ICB7Cj4+IC0JY29uc3QgaW50ICpzaW5rX3JhdGVzOwo+PiAtCWludCBz aW5rX2xlbiwgY29tbW9uX2xlbjsKPj4gKwlpbnQgY29tbW9uX2xlbjsKPj4gIAlpbnQgY29tbW9u X3JhdGVzW0RQX01BWF9TVVBQT1JURURfUkFURVNdOwo+PiAgCWNoYXIgc3RyWzEyOF07IC8qIEZJ WE1FOiB0b28gYmlnIGZvciBzdGFjaz8gKi8KPj4gIAo+PiBAQCAtMTUxMCw4ICsxNTMxLDggQEAg c3RhdGljIHZvaWQgaW50ZWxfZHBfcHJpbnRfcmF0ZXMoc3RydWN0IGludGVsX2RwICppbnRlbF9k cCkKPj4gIAkJCSAgIGludGVsX2RwLT5zb3VyY2VfcmF0ZXMsIGludGVsX2RwLT5udW1fc291cmNl X3JhdGVzKTsKPj4gIAlEUk1fREVCVUdfS01TKCJzb3VyY2UgcmF0ZXM6ICVzXG4iLCBzdHIpOwo+ PiAgCj4+IC0Jc2lua19sZW4gPSBpbnRlbF9kcF9zaW5rX3JhdGVzKGludGVsX2RwLCAmc2lua19y YXRlcyk7Cj4+IC0Jc25wcmludGZfaW50X2FycmF5KHN0ciwgc2l6ZW9mKHN0ciksIHNpbmtfcmF0 ZXMsIHNpbmtfbGVuKTsKPj4gKwlzbnByaW50Zl9pbnRfYXJyYXkoc3RyLCBzaXplb2Yoc3RyKSwK Pj4gKwkJCSAgIGludGVsX2RwLT5zaW5rX3JhdGVzLCBpbnRlbF9kcC0+bnVtX3NpbmtfcmF0ZXMp Owo+PiAgCURSTV9ERUJVR19LTVMoInNpbmsgcmF0ZXM6ICVzXG4iLCBzdHIpOwo+PiAgCj4+ICAJ Y29tbW9uX2xlbiA9IGludGVsX2RwX2NvbW1vbl9yYXRlcyhpbnRlbF9kcCwgY29tbW9uX3JhdGVz KTsKPj4gQEAgLTE1NzcsNyArMTU5OCw4IEBAIGludCBpbnRlbF9kcF9yYXRlX3NlbGVjdChzdHJ1 Y3QgaW50ZWxfZHAgKmludGVsX2RwLCBpbnQgcmF0ZSkKPj4gIHZvaWQgaW50ZWxfZHBfY29tcHV0 ZV9yYXRlKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsIGludCBwb3J0X2Nsb2NrLAo+PiAgCQkJ ICAgdWludDhfdCAqbGlua19idywgdWludDhfdCAqcmF0ZV9zZWxlY3QpCj4+ICB7Cj4+IC0JaWYg KGludGVsX2RwLT5udW1fc2lua19yYXRlcykgewo+PiArCS8qIGVEUCAxLjQgcmF0ZSBzZWxlY3Qg bWV0aG9kLiAqLwo+PiArCWlmIChpbnRlbF9kcC0+dXNlX3JhdGVfc2VsZWN0KSB7Cj4+ICAJCSps aW5rX2J3ID0gMDsKPj4gIAkJKnJhdGVfc2VsZWN0ID0KPj4gIAkJCWludGVsX2RwX3JhdGVfc2Vs ZWN0KGludGVsX2RwLCBwb3J0X2Nsb2NrKTsKPj4gQEAgLTM3MDIsNiArMzcyNCwxMSBAQCBpbnRl bF9lZHBfaW5pdF9kcGNkKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4+ICAJCWludGVsX2Rw LT5udW1fc2lua19yYXRlcyA9IGk7Cj4+ICAJfQo+PiAgCj4+ICsJaWYgKGludGVsX2RwLT5udW1f c2lua19yYXRlcykKPj4gKwkJaW50ZWxfZHAtPnVzZV9yYXRlX3NlbGVjdCA9IHRydWU7Cj4+ICsJ ZWxzZQo+PiArCQlpbnRlbF9kcF9zZXRfc2lua19yYXRlcyhpbnRlbF9kcCk7Cj4+ICsKPj4gIAly ZXR1cm4gdHJ1ZTsKPj4gIH0KPj4gIAo+PiBAQCAtMzcxMiw2ICszNzM5LDEwIEBAIGludGVsX2Rw X2dldF9kcGNkKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4+ICAJaWYgKCFpbnRlbF9kcF9y ZWFkX2RwY2QoaW50ZWxfZHApKQo+PiAgCQlyZXR1cm4gZmFsc2U7Cj4+ICAKPj4gKwkvKiBEb24n dCBjbG9iYmVyIGNhY2hlZCBlRFAgcmF0ZXMuICovCj4+ICsJaWYgKCFpc19lZHAoaW50ZWxfZHAp KQo+PiArCQlpbnRlbF9kcF9zZXRfc2lua19yYXRlcyhpbnRlbF9kcCk7Cj4+ICsKPj4gIAlpZiAo ZHJtX2RwX2RwY2RfcmVhZCgmaW50ZWxfZHAtPmF1eCwgRFBfU0lOS19DT1VOVCwKPj4gIAkJCSAg ICAgJmludGVsX2RwLT5zaW5rX2NvdW50LCAxKSA8IDApCj4+ICAJCXJldHVybiBmYWxzZTsKPj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX2xpbmtfdHJhaW5pbmcu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX2xpbmtfdHJhaW5pbmcuYwo+PiBpbmRl eCAwMDQ4YjUyMGJhZjcuLjY5NGFkMGZmYjUyMyAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHBfbGlua190cmFpbmluZy5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2RwX2xpbmtfdHJhaW5pbmcuYwo+PiBAQCAtMTQ2LDcgKzE0Niw4IEBAIGlu dGVsX2RwX2xpbmtfdHJhaW5pbmdfY2xvY2tfcmVjb3Zlcnkoc3RydWN0IGludGVsX2RwICppbnRl bF9kcCkKPj4gIAkJbGlua19jb25maWdbMV0gfD0gRFBfTEFORV9DT1VOVF9FTkhBTkNFRF9GUkFN RV9FTjsKPj4gIAlkcm1fZHBfZHBjZF93cml0ZSgmaW50ZWxfZHAtPmF1eCwgRFBfTElOS19CV19T RVQsIGxpbmtfY29uZmlnLCAyKTsKPj4gIAo+PiAtCWlmIChpbnRlbF9kcC0+bnVtX3NpbmtfcmF0 ZXMpCj4+ICsJLyogZURQIDEuNCByYXRlIHNlbGVjdCBtZXRob2QuICovCj4+ICsJaWYgKCFsaW5r X2J3KQo+PiAgCQlkcm1fZHBfZHBjZF93cml0ZSgmaW50ZWxfZHAtPmF1eCwgRFBfTElOS19SQVRF X1NFVCwKPj4gIAkJCQkgICZyYXRlX3NlbGVjdCwgMSk7Cj4+ICAKPj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHJ2LmgKPj4gaW5kZXggZjU5NTc0MjYxZGM2Li43N2E5NGFhYTk4YzIgMTAwNjQ0Cj4+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rydi5oCj4+IEBAIC05NTIsOSArOTUyLDEwIEBAIHN0cnVjdCBpbnRl bF9kcCB7Cj4+ICAJLyogc291cmNlIHJhdGVzICovCj4+ICAJaW50IG51bV9zb3VyY2VfcmF0ZXM7 Cj4+ICAJY29uc3QgaW50ICpzb3VyY2VfcmF0ZXM7Cj4+IC0JLyogc2luayByYXRlcyBhcyByZXBv cnRlZCBieSBEUF9TVVBQT1JURURfTElOS19SQVRFUyAqLwo+PiAtCXVpbnQ4X3QgbnVtX3Npbmtf cmF0ZXM7Cj4+ICsJLyogc2luayByYXRlcyBhcyByZXBvcnRlZCBieSBEUF9NQVhfTElOS19SQVRF L0RQX1NVUFBPUlRFRF9MSU5LX1JBVEVTICovCj4+ICsJaW50IG51bV9zaW5rX3JhdGVzOwo+PiAg CWludCBzaW5rX3JhdGVzW0RQX01BWF9TVVBQT1JURURfUkFURVNdOwo+PiArCWJvb2wgdXNlX3Jh dGVfc2VsZWN0Owo+PiAgCS8qIE1heCBsYW5lIGNvdW50IGZvciB0aGUgc2luayBhcyBwZXIgRFBD RCByZWdpc3RlcnMgKi8KPj4gIAl1aW50OF90IG1heF9zaW5rX2xhbmVfY291bnQ7Cj4+ICAJLyog TWF4IGxpbmsgQlcgZm9yIHRoZSBzaW5rIGFzIHBlciBEUENEIHJlZ2lzdGVycyAqLwo+PiAtLSAK Pj4gMi4xLjQKPj4gCgotLSAKSmFuaSBOaWt1bGEsIEludGVsIE9wZW4gU291cmNlIFRlY2hub2xv Z3kgQ2VudGVyCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=