From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 3/7] drm/i915/tgl: Select master trasconder for MST stream Date: Tue, 26 Nov 2019 22:05:53 +0200 Message-ID: <20191126200553.GG1208@intel.com> References: <20191123005459.155383-1-jose.souza@intel.com> <20191123005459.155383-3-jose.souza@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id C27746E197 for ; Tue, 26 Nov 2019 20:05:57 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20191123005459.155383-3-jose.souza@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: =?iso-8859-1?Q?Jos=E9?= Roberto de Souza Cc: intel-gfx@lists.freedesktop.org, Lucas De Marchi List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBOb3YgMjIsIDIwMTkgYXQgMDQ6NTQ6NTVQTSAtMDgwMCwgSm9zw6kgUm9iZXJ0byBk ZSBTb3V6YSB3cm90ZToKPiBPbiBUR0wgdGhlIGJsZW5kaW5nIG9mIGFsbCB0aGUgc3RyZWFtcyBo YXZlIG1vdmVkIGZyb20gRERJIHRvCj4gdHJhbnNjb2Rlciwgc28gbm93IGV2ZXJ5IHRyYW5zY29k ZXIgd29ya2luZyBvdmVyIHRoZSBzYW1lIE1TVCBwb3J0IG11c3QKPiBzZW5kIGl0cyBzdHJlYW0g dG8gYSBtYXN0ZXIgdHJhbnNjb2RlciBhbmQgbWFzdGVyIHdpbGwgc2VuZCB0byBEREkKPiByZXNw ZWN0aW5nIHRoZSB0aW1lIHNsb3RzLgo+IAo+IEEgcHJldmlvdXMgYXBwcm9hY2ggd2FzIHVzaW5n IHRoZSBsb3dlc3QgcGlwZS90cmFuc2NvZGVyIGFzIG1hc3Rlcgo+IHRyYW5zY29kZXIgYnV0IGFz IHRoZSBjb21tZW50IGluIHNrbF9jb21taXRfbW9kZXNldF9lbmFibGVzKCkgc3RhdGVzLAo+IHRo YXQgaXMgbm90IGFsd2F5cyB0cnVlLgo+IAo+IFNvIGhlcmUgcHJvbW90aW5nIHRoZSBmaXJzdCBw aXBlL3RyYW5zY29kZXIgb2YgdGhlIHN0cmVhbSBhcyBtYXN0ZXIuCj4gVGhhdCBjYXVzZWQgc2V2 ZXJhbCBvdGhlciBwcm9ibGVtcyBhcyBkdXJpbmcgdGhlIGNvbW1pdCBwaGFzZSB0aGUKPiBzdGF0 ZSBjb21wdXRlZCBzaG91bGQgbm90IGJlIGNoYW5nZWQuCj4gCj4gU28gdGhlIG1hc3RlciB0cmFu c2NvZGVyIGlzIHN0b3JlIGludG8gaW50ZWxfZHAgYW5kIHRoZSBtb2Rlc2V0IGluCj4gc2xhdmUg cGlwZXMvdHJhbnNjb2RlcnMgaXMgZm9yY2VkIHVzaW5nIG1zdF9tYXN0ZXJfdHJhbnNfcGVuZGlu Zy4KPiAKPiB2MjoKPiAtIGFkZGVkIG1pc3NpbmcgY29uZmlnIGNvbXB1dGUgdG8gdHJpZ2dlciBm dWxsbW9kZXNldCBpbiBzbGF2ZQo+IHRyYW5zY29kZXJzCj4gCj4gQlNwZWM6IDUwNDkzCj4gQlNw ZWM6IDQ5MTkwCj4gQ2M6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRl bC5jb20+Cj4gQ2M6IEx1Y2FzIERlIE1hcmNoaSA8bHVjYXMuZGVtYXJjaGlAaW50ZWwuY29tPgo+ IFNpZ25lZC1vZmYtYnk6IEpvc8OpIFJvYmVydG8gZGUgU291emEgPGpvc2Uuc291emFAaW50ZWwu Y29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5jICAg ICAgfCAgMTAgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5 LmMgIHwgIDU4ICsrKysrKy0KPiAgLi4uL2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV90 eXBlcy5oICAgIHwgICAzICsKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9k cC5jICAgICAgIHwgICAxICsKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9k cF9tc3QuYyAgIHwgMTQ5ICsrKysrKysrKysrKysrKysrLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX2RwX21zdC5oICAgfCAgIDIgKwo+ICA2IGZpbGVzIGNoYW5nZWQsIDIx NiBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9kZGkuYwo+IGluZGV4IGE5NzY2MDZkMjFjNy4uZDJmMGQzOTNkM2VlIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5jCj4gQEAgLTM1LDYg KzM1LDcgQEAKPiAgI2luY2x1ZGUgImludGVsX2Rpc3BsYXlfdHlwZXMuaCIKPiAgI2luY2x1ZGUg ImludGVsX2RwLmgiCj4gICNpbmNsdWRlICJpbnRlbF9kcF9saW5rX3RyYWluaW5nLmgiCj4gKyNp bmNsdWRlICJpbnRlbF9kcF9tc3QuaCIKPiAgI2luY2x1ZGUgImludGVsX2RwaW9fcGh5LmgiCj4g ICNpbmNsdWRlICJpbnRlbF9kc2kuaCIKPiAgI2luY2x1ZGUgImludGVsX2ZpZm9fdW5kZXJydW4u aCIKPiBAQCAtMTkwMyw4ICsxOTA0LDEzIEBAIGludGVsX2RkaV90cmFuc2NvZGVyX2Z1bmNfcmVn X3ZhbF9nZXQoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gIAkJ dGVtcCB8PSBUUkFOU19ERElfTU9ERV9TRUxFQ1RfRFBfTVNUOwo+ICAJCXRlbXAgfD0gRERJX1BP UlRfV0lEVEgoY3J0Y19zdGF0ZS0+bGFuZV9jb3VudCk7Cj4gIAo+IC0JCWlmIChJTlRFTF9HRU4o ZGV2X3ByaXYpID49IDEyKQo+IC0JCQl0ZW1wIHw9IFRSQU5TX0RESV9NU1RfVFJBTlNQT1JUX1NF TEVDVChjcnRjX3N0YXRlLT5jcHVfdHJhbnNjb2Rlcik7Cj4gKwkJaWYgKElOVEVMX0dFTihkZXZf cHJpdikgPj0gMTIpIHsKPiArCQkJZW51bSB0cmFuc2NvZGVyIG1hc3RlcjsKPiArCj4gKwkJCW1h c3RlciA9IGludGVsX2RwX21zdF9tYXN0ZXJfdHJhbnNfZ2V0KGVuY29kZXIpOwoKV2h5IGlzbid0 IHRoYXQganVzdCBzdG9yZWQgaW4gdGhlIGNydGMgc3RhdGUgbGlrZSBldmVyeXRoaW5nIGVsc2U/ CgpJJ20gdGhpbmtpbmcgd2Ugc2hvdWxkIG1heWJlIGRvIGl0IGp1c3QgbGlrZSBwb3J0IHN5bmMg YW5kIGhhdmUgYm90aAptYXN0ZXIgKyBzbGF2ZV9tYXNrLiBUaGF0IHdheSBpdCBzaG91bGQgYmUg cHJldHR5IHRyaXZpYWwgdG8gYWRkIGFsbAp0aGUgcmVsZXZhbnQgY3J0Y3MgdG8gdGhlIHN0YXRl IHdoZW4gbmVlZGVkLgoKPiArCQkJV0FSTl9PTihtYXN0ZXIgPT0gSU5WQUxJRF9UUkFOU0NPREVS KTsKPiArCQkJdGVtcCB8PSBUUkFOU19ERElfTVNUX1RSQU5TUE9SVF9TRUxFQ1QobWFzdGVyKTsK PiArCQl9Cj4gIAl9IGVsc2Ugewo+ICAJCXRlbXAgfD0gVFJBTlNfRERJX01PREVfU0VMRUNUX0RQ X1NTVDsKPiAgCQl0ZW1wIHw9IERESV9QT1JUX1dJRFRIKGNydGNfc3RhdGUtPmxhbmVfY291bnQp Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3Bs YXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCj4gaW5k ZXggODAxYjk3NWM3ZDM5Li4zNWE1OTEwODE5NGUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYwo+IEBAIC00Niw2ICs0Niw3IEBACj4gICNpbmNs dWRlICJkaXNwbGF5L2ludGVsX2NydC5oIgo+ICAjaW5jbHVkZSAiZGlzcGxheS9pbnRlbF9kZGku aCIKPiAgI2luY2x1ZGUgImRpc3BsYXkvaW50ZWxfZHAuaCIKPiArI2luY2x1ZGUgImRpc3BsYXkv aW50ZWxfZHBfbXN0LmgiCj4gICNpbmNsdWRlICJkaXNwbGF5L2ludGVsX2RzaS5oIgo+ICAjaW5j bHVkZSAiZGlzcGxheS9pbnRlbF9kdm8uaCIKPiAgI2luY2x1ZGUgImRpc3BsYXkvaW50ZWxfZ21i dXMuaCIKPiBAQCAtNTM2NSw2ICs1MzY2LDM2IEBAIGludGVsX2dldF9jcnRjX25ld19lbmNvZGVy KGNvbnN0IHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlLAo+ICAJcmV0dXJuIGVuY29k ZXI7Cj4gIH0KPiAgCj4gKy8qCj4gKyAqIEZpbmRzIHRoZSBlbmNvZGVyIGFzc29jaWF0ZWQgd2l0 aCB0aGUgZ2l2ZW4gQ1JUQy4gVGhpcyBjYW4gb25seSBiZQo+ICsgKiB1c2VkIHdoZW4gd2Uga25v dyB0aGF0IHRoZSBDUlRDIGlzbid0IGZlZWRpbmcgbXVsdGlwbGUgZW5jb2RlcnMhCj4gKyAqLwo+ ICtzdGF0aWMgc3RydWN0IGludGVsX2VuY29kZXIgKgo+ICtpbnRlbF9nZXRfY3J0Y19vbGRfZW5j b2Rlcihjb25zdCBzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwKPiArCQkJICAgY29u c3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gK3sKPiArCXN0cnVjdCBp bnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwo+ ICsJY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5lY3Rvcl9zdGF0ZTsKPiAr CWNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3I7Cj4gKwlzdHJ1Y3QgaW50ZWxf ZW5jb2RlciAqZW5jb2RlciA9IE5VTEw7Cj4gKwlpbnQgbnVtX2VuY29kZXJzID0gMDsKPiArCWlu dCBpOwo+ICsKPiArCWZvcl9lYWNoX29sZF9jb25uZWN0b3JfaW5fc3RhdGUoJnN0YXRlLT5iYXNl LCBjb25uZWN0b3IsCj4gKwkJCQkJY29ubmVjdG9yX3N0YXRlLCBpKSB7Cj4gKwkJaWYgKGNvbm5l Y3Rvcl9zdGF0ZS0+Y3J0YyAhPSAmY3J0Yy0+YmFzZSkKPiArCQkJY29udGludWU7Cj4gKwo+ICsJ CWVuY29kZXIgPSB0b19pbnRlbF9lbmNvZGVyKGNvbm5lY3Rvcl9zdGF0ZS0+YmVzdF9lbmNvZGVy KTsKPiArCQludW1fZW5jb2RlcnMrKzsKPiArCX0KPiArCj4gKwlXQVJOKG51bV9lbmNvZGVycyAh PSAxLCAiJWQgZW5jb2RlcnMgZm9yIHBpcGUgJWNcbiIsCj4gKwkgICAgIG51bV9lbmNvZGVycywg cGlwZV9uYW1lKGNydGMtPnBpcGUpKTsKPiArCj4gKwlyZXR1cm4gZW5jb2RlcjsKPiArfQoKQXJn aC4gSSB3YXMgaG9waW5nIHRvIGtpbGwgdGhlIG90aGVyIG9uZSBvZiB0aGVzZS4gR290IGl0IGRv d24gdG8gMQpyZW1haW5pbmcgdXNlciBub3cgSSB0aGluay4KCj4gKwo+ICAvKgo+ICAgKiBFbmFi bGUgUENIIHJlc291cmNlcyByZXF1aXJlZCBmb3IgUENIIHBvcnRzOgo+ICAgKiAgIC0gUENIIFBM THMKPiBAQCAtMTMzNjUsNiArMTMzOTYsMTIgQEAgaW50ZWxfcGlwZV9jb25maWdfY29tcGFyZShj b25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3VycmVudF9jb25maWcsCj4gICN1bmRlZiBQ SVBFX0NPTkZfQ0hFQ0tfQ09MT1JfTFVUCj4gICN1bmRlZiBQSVBFX0NPTkZfUVVJUksKPiAgCj4g KwlpZiAoZmFzdHNldCAmJiBwaXBlX2NvbmZpZy0+bXN0X21hc3Rlcl90cmFuc19wZW5kaW5nKSB7 Cj4gKwkJRFJNX0RFQlVHX0tNUygiW0NSVEM6JWQ6JXNdIGZhc3RzZXQgbWlzbWF0Y2ggaW4gbXN0 X21hc3Rlcl90cmFuc1xuIiwKPiArCQkJICAgICAgY3J0Yy0+YmFzZS5iYXNlLmlkLCBjcnRjLT5i YXNlLm5hbWUpOwo+ICsJCXJldCA9IGZhbHNlOwo+ICsJfQo+ICsKPiAgCXJldHVybiByZXQ7Cj4g IH0KPiAgCj4gQEAgLTE0NDQ5LDIyICsxNDQ4NiwzNSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9jb21t aXRfbW9kZXNldF9kaXNhYmxlcyhzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSkKPiAg CXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjOwo+ICAJaW50IGk7Cj4gIAo+IC0JLyogT25seSBkaXNh YmxlIHBvcnQgc3luYyBzbGF2ZXMgKi8KPiArCS8qIE9ubHkgZGlzYWJsZSBwb3J0IHN5bmMgYW5k IE1TVCBzbGF2ZXMgKi8KPiAgCWZvcl9lYWNoX29sZG5ld19pbnRlbF9jcnRjX2luX3N0YXRlKHN0 YXRlLCBjcnRjLCBvbGRfY3J0Y19zdGF0ZSwKPiAgCQkJCQkgICAgbmV3X2NydGNfc3RhdGUsIGkp IHsKPiAgCQlpZiAoIW5lZWRzX21vZGVzZXQobmV3X2NydGNfc3RhdGUpIHx8ICFjcnRjLT5hY3Rp dmUpCj4gIAkJCWNvbnRpbnVlOwo+ICAKPiArCQlpZiAoIWlzX3RyYW5zX3BvcnRfc3luY19tb2Rl KG5ld19jcnRjX3N0YXRlKSAmJgo+ICsJCSAgICAhaW50ZWxfY3J0Y19oYXNfdHlwZShvbGRfY3J0 Y19zdGF0ZSwgSU5URUxfT1VUUFVUX0RQX01TVCkpCj4gKwkJCWNvbnRpbnVlOwo+ICsKPiAgCQkv KiBJbiBjYXNlIG9mIFRyYW5zY29kZXIgcG9ydCBTeW5jIG1hc3RlciBzbGF2ZSBDUlRDcyBjYW4g YmUKPiAgCQkgKiBhc3NpZ25lZCBpbiBhbnkgb3JkZXIgYW5kIHdlIG5lZWQgdG8gbWFrZSBzdXJl IHRoYXQKPiAgCQkgKiBzbGF2ZSBDUlRDcyBhcmUgZGlzYWJsZWQgZmlyc3QgYW5kIHRoZW4gbWFz dGVyIENSVEMgc2luY2UKPiAgCQkgKiBTbGF2ZSB2YmxhbmtzIGFyZSBtYXNrZWQgdGlsbCBNYXN0 ZXIgVmJsYW5rcy4KPiAgCQkgKi8KPiAtCQlpZiAoIWlzX3RyYW5zX3BvcnRfc3luY19tb2RlKG9s ZF9jcnRjX3N0YXRlKSkKPiAtCQkJY29udGludWU7Cj4gLQkJaWYgKGlzX3RyYW5zX3BvcnRfc3lu Y19tYXN0ZXIob2xkX2NydGNfc3RhdGUpKQo+ICsJCWlmIChpc190cmFuc19wb3J0X3N5bmNfbW9k ZShuZXdfY3J0Y19zdGF0ZSkgJiYKPiArCQkgICAgaXNfdHJhbnNfcG9ydF9zeW5jX21hc3Rlcihu ZXdfY3J0Y19zdGF0ZSkpCj4gIAkJCWNvbnRpbnVlOwo+ICAKPiArCQlpZiAoaW50ZWxfY3J0Y19o YXNfdHlwZShvbGRfY3J0Y19zdGF0ZSwgSU5URUxfT1VUUFVUX0RQX01TVCkpIHsKPiArCQkJc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXI7Cj4gKwo+ICsJCQllbmNvZGVyID0gaW50ZWxfZ2V0 X2NydGNfb2xkX2VuY29kZXIoc3RhdGUsCj4gKwkJCQkJCQkgICAgIG9sZF9jcnRjX3N0YXRlKTsK PiArCQkJaWYgKGludGVsX2RwX21zdF9tYXN0ZXJfdHJhbnNfZ2V0KGVuY29kZXIpID09Cj4gKwkJ CSAgICBvbGRfY3J0Y19zdGF0ZS0+Y3B1X3RyYW5zY29kZXIpCj4gKwkJCQljb250aW51ZTsKPiAr CQl9Cj4gKwo+ICAJCWludGVsX3ByZV9wbGFuZV91cGRhdGUob2xkX2NydGNfc3RhdGUsIG5ld19j cnRjX3N0YXRlKTsKPiAgCQlpbnRlbF9vbGRfY3J0Y19zdGF0ZV9kaXNhYmxlcyhzdGF0ZSwgb2xk X2NydGNfc3RhdGUsCj4gIAkJCQkJICAgICAgbmV3X2NydGNfc3RhdGUsIGNydGMpOwo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfdHlwZXMu aCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV90eXBlcy5oCj4g aW5kZXggODNlYTA0MTQ5Yjc3Li4yM2Q3NDdjZGNhNjQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmgKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfdHlwZXMuaAo+IEBAIC0xMDUyLDYg KzEwNTIsOCBAQCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSB7Cj4gIAkvKiBQb2ludGVyIHRvIG1h c3RlciB0cmFuc2NvZGVyIGluIGNhc2Ugb2YgdGlsZWQgZGlzcGxheXMgKi8KPiAgCWVudW0gdHJh bnNjb2RlciBtYXN0ZXJfdHJhbnNjb2RlcjsKPiAgCj4gKwlib29sIG1zdF9tYXN0ZXJfdHJhbnNf cGVuZGluZzsKPiArCj4gIAkvKiBCaXRtYXNrIHRvIGluZGljYXRlIHNsYXZlcyBhdHRhY2hlZCAq Lwo+ICAJdTggc3luY19tb2RlX3NsYXZlc19tYXNrOwo+ICB9Owo+IEBAIC0xMjg0LDYgKzEyODYs NyBAQCBzdHJ1Y3QgaW50ZWxfZHAgewo+ICAJYm9vbCBjYW5fbXN0OyAvKiB0aGlzIHBvcnQgc3Vw cG9ydHMgbXN0ICovCj4gIAlib29sIGlzX21zdDsKPiAgCWludCBhY3RpdmVfbXN0X2xpbmtzOwo+ ICsJZW51bSB0cmFuc2NvZGVyIG1zdF9tYXN0ZXJfdHJhbnNjb2RlcjsgLyogT25seSB1c2VkIGlu IFRHTCsgKi8KPiAgCj4gIAkvKgo+ICAJICogRFBfVFBfKiByZWdpc3RlcnMgbWF5IGJlIGVpdGhl ciBvbiBwb3J0IG9yIHRyYW5zY29kZXIgcmVnaXN0ZXIgc3BhY2UuCj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfZHAuYwo+IGluZGV4IDMxMjM5NThlMjA4MS4uY2VmZjY5MDE0NTFh IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHAuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHAuYwo+IEBAIC03NDI0 LDYgKzc0MjQsNyBAQCBpbnRlbF9kcF9pbml0X2Nvbm5lY3RvcihzdHJ1Y3QgaW50ZWxfZGlnaXRh bF9wb3J0ICppbnRlbF9kaWdfcG9ydCwKPiAgCWludGVsX2RwLT5yZXNldF9saW5rX3BhcmFtcyA9 IHRydWU7Cj4gIAlpbnRlbF9kcC0+cHBzX3BpcGUgPSBJTlZBTElEX1BJUEU7Cj4gIAlpbnRlbF9k cC0+YWN0aXZlX3BpcGUgPSBJTlZBTElEX1BJUEU7Cj4gKwlpbnRlbF9kcC0+bXN0X21hc3Rlcl90 cmFuc2NvZGVyID0gSU5WQUxJRF9UUkFOU0NPREVSOwo+ICAKPiAgCS8qIFByZXNlcnZlIHRoZSBj dXJyZW50IGh3IHN0YXRlLiAqLwo+ICAJaW50ZWxfZHAtPkRQID0gSTkxNV9SRUFEKGludGVsX2Rw LT5vdXRwdXRfcmVnKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxh eS9pbnRlbF9kcF9tc3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHBf bXN0LmMKPiBpbmRleCBmOGEzNTAzNTkzNDYuLjk3MzFjM2MxZDNmMiAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwX21zdC5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcF9tc3QuYwo+IEBAIC04Nyw2ICs4Nyw0NyBA QCBzdGF0aWMgaW50IGludGVsX2RwX21zdF9jb21wdXRlX2xpbmtfY29uZmlnKHN0cnVjdCBpbnRl bF9lbmNvZGVyICplbmNvZGVyLAo+ICAJcmV0dXJuIDA7Cj4gIH0KPiAgCj4gK3N0YXRpYyBpbnQK PiAraW50ZWxfZHBfbXN0X21hc3Rlcl90cmFuc19jb21wdXRlKHN0cnVjdCBpbnRlbF9lbmNvZGVy ICplbmNvZGVyLAo+ICsJCQkJICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcs Cj4gKwkJCQkgIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKQo+ICt7Cj4g KwlzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSA9IHRvX2ludGVsX2F0b21pY19zdGF0 ZShwaXBlX2NvbmZpZy0+dWFwaS5zdGF0ZSk7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKPiArCXN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpuZXdfY3J0Y19zdGF0ZTsKPiArCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjOwo+ ICsJZW51bSB0cmFuc2NvZGVyIG1hc3RlcjsKPiArCWludCBpOwo+ICsKPiArCWlmIChJTlRFTF9H RU4oZGV2X3ByaXYpIDwgMTIpCj4gKwkJcmV0dXJuIDA7Cj4gKwo+ICsJaWYgKCFjb25uX3N0YXRl LT5jcnRjKQo+ICsJCXJldHVybiAwOwo+ICsKPiArCW1hc3RlciA9IGludGVsX2RwX21zdF9tYXN0 ZXJfdHJhbnNfZ2V0KGVuY29kZXIpOwo+ICsJaWYgKG1hc3RlciA9PSBJTlZBTElEX1RSQU5TQ09E RVIpCj4gKwkJcmV0dXJuIDA7Cj4gKwo+ICsJZm9yX2VhY2hfbmV3X2ludGVsX2NydGNfaW5fc3Rh dGUoc3RhdGUsIGNydGMsIG5ld19jcnRjX3N0YXRlLCBpKSB7Cj4gKwkJLyoKPiArCQkgKiBjcHVf dHJhbnNjb2RlciBpcyBzZXQgd2hlbiBjb21wdXRpbmcgQ1JUQyBzdGF0ZSBpZiBpdCB3aWxsCj4g KwkJICogYmUgZGlzYWJsZWQgaXQgd2lsbCBub3QgaGFwcGVuLCBzbyBjaGVja2luZyBwaXBlIGlu c3RlYWQKPiArCQkgKi8KPiArCQlpZiAoY3J0Yy0+cGlwZSAhPSAoZW51bSBwaXBlKW1hc3RlcikK PiArCQkJY29udGludWU7Cj4gKwo+ICsJCWlmICghZHJtX2F0b21pY19jcnRjX25lZWRzX21vZGVz ZXQoJm5ld19jcnRjX3N0YXRlLT51YXBpKSAmJgo+ICsJCSAgICBuZXdfY3J0Y19zdGF0ZS0+dWFw aS5lbmFibGUpCj4gKwkJCWNvbnRpbnVlOwo+ICsKPiArCQlwaXBlX2NvbmZpZy0+bXN0X21hc3Rl cl90cmFuc19wZW5kaW5nID0gdHJ1ZTsKPiArCQlicmVhazsKPiArCX0KPiArCj4gKwlyZXR1cm4g MDsKPiArfQo+ICsKPiAgc3RhdGljIGludCBpbnRlbF9kcF9tc3RfY29tcHV0ZV9jb25maWcoc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJCQkgICAgICAgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKnBpcGVfY29uZmlnLAo+ICAJCQkJICAgICAgIHN0cnVjdCBkcm1fY29ubmVjdG9y X3N0YXRlICpjb25uX3N0YXRlKQo+IEBAIC0xNTQsNiArMTk1LDk1IEBAIHN0YXRpYyBpbnQgaW50 ZWxfZHBfbXN0X2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ ICAKPiAgCWludGVsX2RkaV9jb21wdXRlX21pbl92b2x0YWdlX2xldmVsKGRldl9wcml2LCBwaXBl X2NvbmZpZyk7Cj4gIAo+ICsJcmV0ID0gaW50ZWxfZHBfbXN0X21hc3Rlcl90cmFuc19jb21wdXRl KGVuY29kZXIsIHBpcGVfY29uZmlnLAo+ICsJCQkJCQljb25uX3N0YXRlKTsKPiArCWlmIChyZXQp Cj4gKwkJcmV0dXJuIHJldDsKPiArCj4gKwlyZXR1cm4gMDsKPiArfQo+ICsKPiArc3RhdGljIGlu dAo+ICtpbnRlbF9kcF9tc3RfYXRvbWljX21hc3Rlcl90cmFuc19jaGVjayhzdHJ1Y3QgZHJtX2Nv bm5lY3RvciAqY29ubmVjdG9yLAo+ICsJCQkJICAgICAgIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRl ICpzdGF0ZSkKPiArewo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9f aTkxNShjb25uZWN0b3ItPmRldik7Cj4gKwlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICppbnRlbF9j b25uID0gdG9faW50ZWxfY29ubmVjdG9yKGNvbm5lY3Rvcik7Cj4gKwlzdHJ1Y3QgZHJtX2Nvbm5l Y3Rvcl9zdGF0ZSAqbmV3X2Nvbm5fc3RhdGUsICpvbGRfY29ubl9zdGF0ZTsKPiArCXN0cnVjdCBk cm1fY29ubmVjdG9yX2xpc3RfaXRlciBjb25uX2xpc3RfaXRlcjsKPiArCXN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICppbnRlbF9jcnRjX3N0YXRlOwo+ICsJc3RydWN0IGRybV9jcnRjX3N0YXRlICpj cnRjX3N0YXRlOwo+ICsJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5faXRlcjsKPiArCj4gKwlp ZiAoSU5URUxfR0VOKGRldl9wcml2KSA8IDEyKQo+ICsJCXJldHVybiAwOwo+ICsKPiArCW5ld19j b25uX3N0YXRlID0gZHJtX2F0b21pY19nZXRfbmV3X2Nvbm5lY3Rvcl9zdGF0ZShzdGF0ZSwgY29u bmVjdG9yKTsKPiArCW9sZF9jb25uX3N0YXRlID0gZHJtX2F0b21pY19nZXRfb2xkX2Nvbm5lY3Rv cl9zdGF0ZShzdGF0ZSwgY29ubmVjdG9yKTsKPiArCj4gKwlpZiAoIW9sZF9jb25uX3N0YXRlLT5j cnRjICYmICFuZXdfY29ubl9zdGF0ZS0+Y3J0YykKPiArCQlyZXR1cm4gMDsKPiArCj4gKwkvKgo+ ICsJICogMyBjYXNlcyB0aGF0IG5lZWRzIGJlIGhhbmRsZWQgaGVyZToKPiArCSAqIC0gY29ubmVj dG9yIGdvaW5nIGZyb20gZGlzYWJsZWQgdG8gZW5hYmxlZAo+ICsJICogLSBjb25uZWN0b3IgZ29p bmcgZnJvbSBlbmFibGVkIHRvIGRpc2FibGVkOgo+ICsJICogaWYgdGhpcyB0cmFuc2NvZGVyIHdh cyB0aGUgbWFzdGVyLCBhbGwgc2xhdmVzIG5lZWRzIGEgbW9kZXNldAo+ICsJICogLSBjb25uZWN0 b3IgZ29pbmcgZnJvbSBlbmFibGVkIHRvIGVuYWJsZWQgYnV0IGl0IG5lZWRzIGEgbW9kZXNldDoK PiArCSAqIGlmIHRoaXMgdHJhbnNjb2RlciB3YXMgdGhlIG1hc3RlciwgYWxsIHNsYXZlcyBhbHNv IG5lZWRzIGEgbW9kZXNldAo+ICsJICovCj4gKwo+ICsJLyogZGlzYWJsZWQgLT4gZW5hYmxlZCAq Lwo+ICsJaWYgKCFvbGRfY29ubl9zdGF0ZS0+Y3J0YyAmJiBuZXdfY29ubl9zdGF0ZS0+Y3J0YykK PiArCQlyZXR1cm4gMDsKPiArCj4gKwkvKiBlbmFibGVkIC0+IGVuYWJsZWQobW9kZXNldCk/ICov Cj4gKwlpZiAobmV3X2Nvbm5fc3RhdGUtPmNydGMpIHsKPiArCQljcnRjX3N0YXRlID0gZHJtX2F0 b21pY19nZXRfbmV3X2NydGNfc3RhdGUoc3RhdGUsIG5ld19jb25uX3N0YXRlLT5jcnRjKTsKPiAr CQlpZiAoIWRybV9hdG9taWNfY3J0Y19uZWVkc19tb2Rlc2V0KGNydGNfc3RhdGUpKQo+ICsJCQly ZXR1cm4gMDsKPiArCX0KPiArCj4gKwkvKiBoYW5kbGluZyBlbmFibGVkIC0+IGVuYWJsZWQobW9k ZXNldCkgYW5kIGVuYWJsZWQgLT4gZGlzYWJsZWQgKi8KPiArCWNydGNfc3RhdGUgPSBkcm1fYXRv bWljX2dldF9vbGRfY3J0Y19zdGF0ZShzdGF0ZSwgb2xkX2Nvbm5fc3RhdGUtPmNydGMpOwo+ICsJ aW50ZWxfY3J0Y19zdGF0ZSA9IHRvX2ludGVsX2NydGNfc3RhdGUoY3J0Y19zdGF0ZSk7Cj4gKwo+ ICsJLyogSWYgbm90IG1hc3Rlciwgbm90aGluZyBlbHNlIG5lZWRzIHRvIGJlIGhhbmRsZWQgKi8K PiArCWlmIChpbnRlbF9jb25uLT5tc3RfcG9ydC0+bXN0X21hc3Rlcl90cmFuc2NvZGVyICE9Cj4g KwkgICAgaW50ZWxfY3J0Y19zdGF0ZS0+Y3B1X3RyYW5zY29kZXIpCj4gKwkJcmV0dXJuIDA7Cj4g Kwo+ICsJLyogSXMgbWFzdGVyLCBtYXJrIGFsbCBvdGhlciBDUlRDcyBhcyBuZWVkaW5nIGEgbW9k ZXNldCAqLwo+ICsJZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfYmVnaW4oc3RhdGUtPmRldiwgJmNv bm5fbGlzdF9pdGVyKTsKPiArCWRybV9mb3JfZWFjaF9jb25uZWN0b3JfaXRlcihjb25uX2l0ZXIs ICZjb25uX2xpc3RfaXRlcikgewo+ICsJCXN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmludGVsX2Nv bm5faXRlcjsKPiArCQlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9pdGVyX3N0YXRl Owo+ICsKPiArCQlpbnRlbF9jb25uX2l0ZXIgPSB0b19pbnRlbF9jb25uZWN0b3IoY29ubl9pdGVy KTsKPiArCQlpZiAoaW50ZWxfY29ubl9pdGVyLT5tc3RfcG9ydCAhPSBpbnRlbF9jb25uLT5tc3Rf cG9ydCkKPiArCQkJY29udGludWU7Cj4gKwo+ICsJCWNvbm5faXRlcl9zdGF0ZSA9IGRybV9hdG9t aWNfZ2V0X2Nvbm5lY3Rvcl9zdGF0ZShzdGF0ZSwKPiArCQkJCQkJCQkgY29ubl9pdGVyKTsKPiAr CQlpZiAoSVNfRVJSKGNvbm5faXRlcl9zdGF0ZSkpIHsKPiArCQkJZHJtX2Nvbm5lY3Rvcl9saXN0 X2l0ZXJfZW5kKCZjb25uX2xpc3RfaXRlcik7Cj4gKwkJCXJldHVybiBQVFJfRVJSKGNvbm5faXRl cl9zdGF0ZSk7Cj4gKwkJfQo+ICsKPiArCQlpZiAoIWNvbm5faXRlcl9zdGF0ZS0+Y3J0YykKPiAr CQkJY29udGludWU7Cj4gKwo+ICsJCWNydGNfc3RhdGUgPSBkcm1fYXRvbWljX2dldF9jcnRjX3N0 YXRlKHN0YXRlLCBjb25uX2l0ZXJfc3RhdGUtPmNydGMpOwo+ICsJCWlmIChJU19FUlIoY3J0Y19z dGF0ZSkpIHsKPiArCQkJZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfZW5kKCZjb25uX2xpc3RfaXRl cik7Cj4gKwkJCXJldHVybiBQVFJfRVJSKGNvbm5faXRlcl9zdGF0ZSk7Cj4gKwkJfQo+ICsKPiAr CQlpbnRlbF9jcnRjX3N0YXRlID0gdG9faW50ZWxfY3J0Y19zdGF0ZShjcnRjX3N0YXRlKTsKPiAr CQljcnRjX3N0YXRlLT5tb2RlX2NoYW5nZWQgPSB0cnVlOwo+ICsJfQo+ICsJZHJtX2Nvbm5lY3Rv cl9saXN0X2l0ZXJfZW5kKCZjb25uX2xpc3RfaXRlcik7Cj4gKwo+ICAJcmV0dXJuIDA7Cj4gIH0K PiAgCj4gQEAgLTE3NSw2ICszMDUsMTAgQEAgaW50ZWxfZHBfbXN0X2F0b21pY19jaGVjayhzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ICAJaWYgKHJldCkKPiAgCQlyZXR1cm4gcmV0 Owo+ICAKPiArCXJldCA9IGludGVsX2RwX21zdF9hdG9taWNfbWFzdGVyX3RyYW5zX2NoZWNrKGNv bm5lY3Rvciwgc3RhdGUpOwo+ICsJaWYgKHJldCkKPiArCQlyZXR1cm4gcmV0Owo+ICsKPiAgCWlm ICghb2xkX2Nvbm5fc3RhdGUtPmNydGMpCj4gIAkJcmV0dXJuIDA7Cj4gIAo+IEBAIC0yNTksNiAr MzkzLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfbXN0X3Bvc3RfZGlzYWJsZV9kcChzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCQlpbnRlbF9kcF9zaW5rX2RwbXMoaW50ZWxfZHAsIERS TV9NT0RFX0RQTVNfT0ZGKTsKPiAgCQlpbnRlbF9kaWdfcG9ydC0+YmFzZS5wb3N0X2Rpc2FibGUo JmludGVsX2RpZ19wb3J0LT5iYXNlLAo+ICAJCQkJCQkgIG9sZF9jcnRjX3N0YXRlLCBOVUxMKTsK PiArCQlpbnRlbF9kcC0+bXN0X21hc3Rlcl90cmFuc2NvZGVyID0gSU5WQUxJRF9UUkFOU0NPREVS Owo+ICAJfQo+ICAKPiAgCURSTV9ERUJVR19LTVMoImFjdGl2ZSBsaW5rcyAlZFxuIiwgaW50ZWxf ZHAtPmFjdGl2ZV9tc3RfbGlua3MpOwo+IEBAIC0zMTQsOCArNDQ5LDExIEBAIHN0YXRpYyB2b2lk IGludGVsX21zdF9wcmVfZW5hYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ ICAKPiAgCURSTV9ERUJVR19LTVMoImFjdGl2ZSBsaW5rcyAlZFxuIiwgaW50ZWxfZHAtPmFjdGl2 ZV9tc3RfbGlua3MpOwo+ICAKPiAtCWlmIChmaXJzdF9tc3Rfc3RyZWFtKQo+ICsJaWYgKGZpcnN0 X21zdF9zdHJlYW0pIHsKPiArCQlXQVJOX09OKGludGVsX2RwLT5tc3RfbWFzdGVyX3RyYW5zY29k ZXIgIT0gSU5WQUxJRF9UUkFOU0NPREVSKTsKPiArCQlpbnRlbF9kcC0+bXN0X21hc3Rlcl90cmFu c2NvZGVyID0gcGlwZV9jb25maWctPmNwdV90cmFuc2NvZGVyOwo+ICAJCWludGVsX2RwX3Npbmtf ZHBtcyhpbnRlbF9kcCwgRFJNX01PREVfRFBNU19PTik7Cj4gKwl9Cj4gIAo+ICAJZHJtX2RwX3Nl bmRfcG93ZXJfdXBkb3duX3BoeSgmaW50ZWxfZHAtPm1zdF9tZ3IsIGNvbm5lY3Rvci0+cG9ydCwg dHJ1ZSk7Cj4gIAo+IEBAIC03MTcsMyArODU1LDEyIEBAIGludGVsX2RwX21zdF9lbmNvZGVyX2Ns ZWFudXAoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQpCj4gIAlkcm1f ZHBfbXN0X3RvcG9sb2d5X21ncl9kZXN0cm95KCZpbnRlbF9kcC0+bXN0X21ncik7Cj4gIAkvKiBl bmNvZGVycyB3aWxsIGdldCBraWxsZWQgYnkgbm9ybWFsIGNsZWFudXAgKi8KPiAgfQo+ICsKPiAr ZW51bSB0cmFuc2NvZGVyCj4gK2ludGVsX2RwX21zdF9tYXN0ZXJfdHJhbnNfZ2V0KHN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyKQo+ICt7Cj4gKwlzdHJ1Y3QgaW50ZWxfZHBfbXN0X2VuY29k ZXIgKmludGVsX21zdCA9IGVuY190b19tc3QoJmVuY29kZXItPmJhc2UpOwo+ICsJc3RydWN0IGlu dGVsX2RwICppbnRlbF9kcCA9ICZpbnRlbF9tc3QtPnByaW1hcnktPmRwOwo+ICsKPiArCXJldHVy biBpbnRlbF9kcC0+bXN0X21hc3Rlcl90cmFuc2NvZGVyOwo+ICt9Cj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHBfbXN0LmggYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwX21zdC5oCj4gaW5kZXggZjY2MGFkODBkYjA0Li5lNmYy OGE1MTcxODIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9kcF9tc3QuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHBf bXN0LmgKPiBAQCAtNyw5ICs3LDExIEBACj4gICNkZWZpbmUgX19JTlRFTF9EUF9NU1RfSF9fCj4g IAo+ICBzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0Owo+ICtzdHJ1Y3QgaW50ZWxfZW5jb2RlcjsK PiAgCj4gIGludCBpbnRlbF9kcF9tc3RfZW5jb2Rlcl9pbml0KHN0cnVjdCBpbnRlbF9kaWdpdGFs X3BvcnQgKmludGVsX2RpZ19wb3J0LCBpbnQgY29ubl9pZCk7Cj4gIHZvaWQgaW50ZWxfZHBfbXN0 X2VuY29kZXJfY2xlYW51cChzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9y dCk7Cj4gIGludCBpbnRlbF9kcF9tc3RfZW5jb2Rlcl9hY3RpdmVfbGlua3Moc3RydWN0IGludGVs X2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQpOwo+ICtlbnVtIHRyYW5zY29kZXIgaW50ZWxf ZHBfbXN0X21hc3Rlcl90cmFuc19nZXQoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpOwo+ ICAKPiAgI2VuZGlmIC8qIF9fSU5URUxfRFBfTVNUX0hfXyAqLwo+IC0tIAo+IDIuMjQuMAoKLS0g ClZpbGxlIFN5cmrDpGzDpApJbnRlbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZng= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1E1F4C432C0 for ; Tue, 26 Nov 2019 20:06:00 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id BE39020684 for ; Tue, 26 Nov 2019 20:05:59 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org BE39020684 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 3A2916E197; Tue, 26 Nov 2019 20:05:59 +0000 (UTC) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id C27746E197 for ; Tue, 26 Nov 2019 20:05:57 +0000 (UTC) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 26 Nov 2019 12:05:56 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,246,1571727600"; d="scan'208";a="240058642" Received: from stinkbox.fi.intel.com (HELO stinkbox) ([10.237.72.174]) by fmsmga002.fm.intel.com with SMTP; 26 Nov 2019 12:05:54 -0800 Received: by stinkbox (sSMTP sendmail emulation); Tue, 26 Nov 2019 22:05:53 +0200 Date: Tue, 26 Nov 2019 22:05:53 +0200 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= To: =?iso-8859-1?Q?Jos=E9?= Roberto de Souza Message-ID: <20191126200553.GG1208@intel.com> References: <20191123005459.155383-1-jose.souza@intel.com> <20191123005459.155383-3-jose.souza@intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20191123005459.155383-3-jose.souza@intel.com> User-Agent: Mutt/1.10.1 (2018-07-13) Subject: Re: [Intel-gfx] [PATCH 3/7] drm/i915/tgl: Select master trasconder for MST stream X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: intel-gfx@lists.freedesktop.org, Lucas De Marchi Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Message-ID: <20191126200553.LofPk-8mEVWyu4CCPsJV46xov7l_nw9q4dcxYhO7llc@z> T24gRnJpLCBOb3YgMjIsIDIwMTkgYXQgMDQ6NTQ6NTVQTSAtMDgwMCwgSm9zw6kgUm9iZXJ0byBk ZSBTb3V6YSB3cm90ZToKPiBPbiBUR0wgdGhlIGJsZW5kaW5nIG9mIGFsbCB0aGUgc3RyZWFtcyBo YXZlIG1vdmVkIGZyb20gRERJIHRvCj4gdHJhbnNjb2Rlciwgc28gbm93IGV2ZXJ5IHRyYW5zY29k ZXIgd29ya2luZyBvdmVyIHRoZSBzYW1lIE1TVCBwb3J0IG11c3QKPiBzZW5kIGl0cyBzdHJlYW0g dG8gYSBtYXN0ZXIgdHJhbnNjb2RlciBhbmQgbWFzdGVyIHdpbGwgc2VuZCB0byBEREkKPiByZXNw ZWN0aW5nIHRoZSB0aW1lIHNsb3RzLgo+IAo+IEEgcHJldmlvdXMgYXBwcm9hY2ggd2FzIHVzaW5n IHRoZSBsb3dlc3QgcGlwZS90cmFuc2NvZGVyIGFzIG1hc3Rlcgo+IHRyYW5zY29kZXIgYnV0IGFz IHRoZSBjb21tZW50IGluIHNrbF9jb21taXRfbW9kZXNldF9lbmFibGVzKCkgc3RhdGVzLAo+IHRo YXQgaXMgbm90IGFsd2F5cyB0cnVlLgo+IAo+IFNvIGhlcmUgcHJvbW90aW5nIHRoZSBmaXJzdCBw aXBlL3RyYW5zY29kZXIgb2YgdGhlIHN0cmVhbSBhcyBtYXN0ZXIuCj4gVGhhdCBjYXVzZWQgc2V2 ZXJhbCBvdGhlciBwcm9ibGVtcyBhcyBkdXJpbmcgdGhlIGNvbW1pdCBwaGFzZSB0aGUKPiBzdGF0 ZSBjb21wdXRlZCBzaG91bGQgbm90IGJlIGNoYW5nZWQuCj4gCj4gU28gdGhlIG1hc3RlciB0cmFu c2NvZGVyIGlzIHN0b3JlIGludG8gaW50ZWxfZHAgYW5kIHRoZSBtb2Rlc2V0IGluCj4gc2xhdmUg cGlwZXMvdHJhbnNjb2RlcnMgaXMgZm9yY2VkIHVzaW5nIG1zdF9tYXN0ZXJfdHJhbnNfcGVuZGlu Zy4KPiAKPiB2MjoKPiAtIGFkZGVkIG1pc3NpbmcgY29uZmlnIGNvbXB1dGUgdG8gdHJpZ2dlciBm dWxsbW9kZXNldCBpbiBzbGF2ZQo+IHRyYW5zY29kZXJzCj4gCj4gQlNwZWM6IDUwNDkzCj4gQlNw ZWM6IDQ5MTkwCj4gQ2M6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRl bC5jb20+Cj4gQ2M6IEx1Y2FzIERlIE1hcmNoaSA8bHVjYXMuZGVtYXJjaGlAaW50ZWwuY29tPgo+ IFNpZ25lZC1vZmYtYnk6IEpvc8OpIFJvYmVydG8gZGUgU291emEgPGpvc2Uuc291emFAaW50ZWwu Y29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5jICAg ICAgfCAgMTAgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5 LmMgIHwgIDU4ICsrKysrKy0KPiAgLi4uL2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV90 eXBlcy5oICAgIHwgICAzICsKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9k cC5jICAgICAgIHwgICAxICsKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9k cF9tc3QuYyAgIHwgMTQ5ICsrKysrKysrKysrKysrKysrLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX2RwX21zdC5oICAgfCAgIDIgKwo+ICA2IGZpbGVzIGNoYW5nZWQsIDIx NiBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9kZGkuYwo+IGluZGV4IGE5NzY2MDZkMjFjNy4uZDJmMGQzOTNkM2VlIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5jCj4gQEAgLTM1LDYg KzM1LDcgQEAKPiAgI2luY2x1ZGUgImludGVsX2Rpc3BsYXlfdHlwZXMuaCIKPiAgI2luY2x1ZGUg ImludGVsX2RwLmgiCj4gICNpbmNsdWRlICJpbnRlbF9kcF9saW5rX3RyYWluaW5nLmgiCj4gKyNp bmNsdWRlICJpbnRlbF9kcF9tc3QuaCIKPiAgI2luY2x1ZGUgImludGVsX2RwaW9fcGh5LmgiCj4g ICNpbmNsdWRlICJpbnRlbF9kc2kuaCIKPiAgI2luY2x1ZGUgImludGVsX2ZpZm9fdW5kZXJydW4u aCIKPiBAQCAtMTkwMyw4ICsxOTA0LDEzIEBAIGludGVsX2RkaV90cmFuc2NvZGVyX2Z1bmNfcmVn X3ZhbF9nZXQoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gIAkJ dGVtcCB8PSBUUkFOU19ERElfTU9ERV9TRUxFQ1RfRFBfTVNUOwo+ICAJCXRlbXAgfD0gRERJX1BP UlRfV0lEVEgoY3J0Y19zdGF0ZS0+bGFuZV9jb3VudCk7Cj4gIAo+IC0JCWlmIChJTlRFTF9HRU4o ZGV2X3ByaXYpID49IDEyKQo+IC0JCQl0ZW1wIHw9IFRSQU5TX0RESV9NU1RfVFJBTlNQT1JUX1NF TEVDVChjcnRjX3N0YXRlLT5jcHVfdHJhbnNjb2Rlcik7Cj4gKwkJaWYgKElOVEVMX0dFTihkZXZf cHJpdikgPj0gMTIpIHsKPiArCQkJZW51bSB0cmFuc2NvZGVyIG1hc3RlcjsKPiArCj4gKwkJCW1h c3RlciA9IGludGVsX2RwX21zdF9tYXN0ZXJfdHJhbnNfZ2V0KGVuY29kZXIpOwoKV2h5IGlzbid0 IHRoYXQganVzdCBzdG9yZWQgaW4gdGhlIGNydGMgc3RhdGUgbGlrZSBldmVyeXRoaW5nIGVsc2U/ CgpJJ20gdGhpbmtpbmcgd2Ugc2hvdWxkIG1heWJlIGRvIGl0IGp1c3QgbGlrZSBwb3J0IHN5bmMg YW5kIGhhdmUgYm90aAptYXN0ZXIgKyBzbGF2ZV9tYXNrLiBUaGF0IHdheSBpdCBzaG91bGQgYmUg cHJldHR5IHRyaXZpYWwgdG8gYWRkIGFsbAp0aGUgcmVsZXZhbnQgY3J0Y3MgdG8gdGhlIHN0YXRl IHdoZW4gbmVlZGVkLgoKPiArCQkJV0FSTl9PTihtYXN0ZXIgPT0gSU5WQUxJRF9UUkFOU0NPREVS KTsKPiArCQkJdGVtcCB8PSBUUkFOU19ERElfTVNUX1RSQU5TUE9SVF9TRUxFQ1QobWFzdGVyKTsK PiArCQl9Cj4gIAl9IGVsc2Ugewo+ICAJCXRlbXAgfD0gVFJBTlNfRERJX01PREVfU0VMRUNUX0RQ X1NTVDsKPiAgCQl0ZW1wIHw9IERESV9QT1JUX1dJRFRIKGNydGNfc3RhdGUtPmxhbmVfY291bnQp Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3Bs YXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCj4gaW5k ZXggODAxYjk3NWM3ZDM5Li4zNWE1OTEwODE5NGUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYwo+IEBAIC00Niw2ICs0Niw3IEBACj4gICNpbmNs dWRlICJkaXNwbGF5L2ludGVsX2NydC5oIgo+ICAjaW5jbHVkZSAiZGlzcGxheS9pbnRlbF9kZGku aCIKPiAgI2luY2x1ZGUgImRpc3BsYXkvaW50ZWxfZHAuaCIKPiArI2luY2x1ZGUgImRpc3BsYXkv aW50ZWxfZHBfbXN0LmgiCj4gICNpbmNsdWRlICJkaXNwbGF5L2ludGVsX2RzaS5oIgo+ICAjaW5j bHVkZSAiZGlzcGxheS9pbnRlbF9kdm8uaCIKPiAgI2luY2x1ZGUgImRpc3BsYXkvaW50ZWxfZ21i dXMuaCIKPiBAQCAtNTM2NSw2ICs1MzY2LDM2IEBAIGludGVsX2dldF9jcnRjX25ld19lbmNvZGVy KGNvbnN0IHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlLAo+ICAJcmV0dXJuIGVuY29k ZXI7Cj4gIH0KPiAgCj4gKy8qCj4gKyAqIEZpbmRzIHRoZSBlbmNvZGVyIGFzc29jaWF0ZWQgd2l0 aCB0aGUgZ2l2ZW4gQ1JUQy4gVGhpcyBjYW4gb25seSBiZQo+ICsgKiB1c2VkIHdoZW4gd2Uga25v dyB0aGF0IHRoZSBDUlRDIGlzbid0IGZlZWRpbmcgbXVsdGlwbGUgZW5jb2RlcnMhCj4gKyAqLwo+ ICtzdGF0aWMgc3RydWN0IGludGVsX2VuY29kZXIgKgo+ICtpbnRlbF9nZXRfY3J0Y19vbGRfZW5j b2Rlcihjb25zdCBzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwKPiArCQkJICAgY29u c3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gK3sKPiArCXN0cnVjdCBp bnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwo+ ICsJY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5lY3Rvcl9zdGF0ZTsKPiAr CWNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3I7Cj4gKwlzdHJ1Y3QgaW50ZWxf ZW5jb2RlciAqZW5jb2RlciA9IE5VTEw7Cj4gKwlpbnQgbnVtX2VuY29kZXJzID0gMDsKPiArCWlu dCBpOwo+ICsKPiArCWZvcl9lYWNoX29sZF9jb25uZWN0b3JfaW5fc3RhdGUoJnN0YXRlLT5iYXNl LCBjb25uZWN0b3IsCj4gKwkJCQkJY29ubmVjdG9yX3N0YXRlLCBpKSB7Cj4gKwkJaWYgKGNvbm5l Y3Rvcl9zdGF0ZS0+Y3J0YyAhPSAmY3J0Yy0+YmFzZSkKPiArCQkJY29udGludWU7Cj4gKwo+ICsJ CWVuY29kZXIgPSB0b19pbnRlbF9lbmNvZGVyKGNvbm5lY3Rvcl9zdGF0ZS0+YmVzdF9lbmNvZGVy KTsKPiArCQludW1fZW5jb2RlcnMrKzsKPiArCX0KPiArCj4gKwlXQVJOKG51bV9lbmNvZGVycyAh PSAxLCAiJWQgZW5jb2RlcnMgZm9yIHBpcGUgJWNcbiIsCj4gKwkgICAgIG51bV9lbmNvZGVycywg cGlwZV9uYW1lKGNydGMtPnBpcGUpKTsKPiArCj4gKwlyZXR1cm4gZW5jb2RlcjsKPiArfQoKQXJn aC4gSSB3YXMgaG9waW5nIHRvIGtpbGwgdGhlIG90aGVyIG9uZSBvZiB0aGVzZS4gR290IGl0IGRv d24gdG8gMQpyZW1haW5pbmcgdXNlciBub3cgSSB0aGluay4KCj4gKwo+ICAvKgo+ICAgKiBFbmFi bGUgUENIIHJlc291cmNlcyByZXF1aXJlZCBmb3IgUENIIHBvcnRzOgo+ICAgKiAgIC0gUENIIFBM THMKPiBAQCAtMTMzNjUsNiArMTMzOTYsMTIgQEAgaW50ZWxfcGlwZV9jb25maWdfY29tcGFyZShj b25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3VycmVudF9jb25maWcsCj4gICN1bmRlZiBQ SVBFX0NPTkZfQ0hFQ0tfQ09MT1JfTFVUCj4gICN1bmRlZiBQSVBFX0NPTkZfUVVJUksKPiAgCj4g KwlpZiAoZmFzdHNldCAmJiBwaXBlX2NvbmZpZy0+bXN0X21hc3Rlcl90cmFuc19wZW5kaW5nKSB7 Cj4gKwkJRFJNX0RFQlVHX0tNUygiW0NSVEM6JWQ6JXNdIGZhc3RzZXQgbWlzbWF0Y2ggaW4gbXN0 X21hc3Rlcl90cmFuc1xuIiwKPiArCQkJICAgICAgY3J0Yy0+YmFzZS5iYXNlLmlkLCBjcnRjLT5i YXNlLm5hbWUpOwo+ICsJCXJldCA9IGZhbHNlOwo+ICsJfQo+ICsKPiAgCXJldHVybiByZXQ7Cj4g IH0KPiAgCj4gQEAgLTE0NDQ5LDIyICsxNDQ4NiwzNSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9jb21t aXRfbW9kZXNldF9kaXNhYmxlcyhzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSkKPiAg CXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjOwo+ICAJaW50IGk7Cj4gIAo+IC0JLyogT25seSBkaXNh YmxlIHBvcnQgc3luYyBzbGF2ZXMgKi8KPiArCS8qIE9ubHkgZGlzYWJsZSBwb3J0IHN5bmMgYW5k IE1TVCBzbGF2ZXMgKi8KPiAgCWZvcl9lYWNoX29sZG5ld19pbnRlbF9jcnRjX2luX3N0YXRlKHN0 YXRlLCBjcnRjLCBvbGRfY3J0Y19zdGF0ZSwKPiAgCQkJCQkgICAgbmV3X2NydGNfc3RhdGUsIGkp IHsKPiAgCQlpZiAoIW5lZWRzX21vZGVzZXQobmV3X2NydGNfc3RhdGUpIHx8ICFjcnRjLT5hY3Rp dmUpCj4gIAkJCWNvbnRpbnVlOwo+ICAKPiArCQlpZiAoIWlzX3RyYW5zX3BvcnRfc3luY19tb2Rl KG5ld19jcnRjX3N0YXRlKSAmJgo+ICsJCSAgICAhaW50ZWxfY3J0Y19oYXNfdHlwZShvbGRfY3J0 Y19zdGF0ZSwgSU5URUxfT1VUUFVUX0RQX01TVCkpCj4gKwkJCWNvbnRpbnVlOwo+ICsKPiAgCQkv KiBJbiBjYXNlIG9mIFRyYW5zY29kZXIgcG9ydCBTeW5jIG1hc3RlciBzbGF2ZSBDUlRDcyBjYW4g YmUKPiAgCQkgKiBhc3NpZ25lZCBpbiBhbnkgb3JkZXIgYW5kIHdlIG5lZWQgdG8gbWFrZSBzdXJl IHRoYXQKPiAgCQkgKiBzbGF2ZSBDUlRDcyBhcmUgZGlzYWJsZWQgZmlyc3QgYW5kIHRoZW4gbWFz dGVyIENSVEMgc2luY2UKPiAgCQkgKiBTbGF2ZSB2YmxhbmtzIGFyZSBtYXNrZWQgdGlsbCBNYXN0 ZXIgVmJsYW5rcy4KPiAgCQkgKi8KPiAtCQlpZiAoIWlzX3RyYW5zX3BvcnRfc3luY19tb2RlKG9s ZF9jcnRjX3N0YXRlKSkKPiAtCQkJY29udGludWU7Cj4gLQkJaWYgKGlzX3RyYW5zX3BvcnRfc3lu Y19tYXN0ZXIob2xkX2NydGNfc3RhdGUpKQo+ICsJCWlmIChpc190cmFuc19wb3J0X3N5bmNfbW9k ZShuZXdfY3J0Y19zdGF0ZSkgJiYKPiArCQkgICAgaXNfdHJhbnNfcG9ydF9zeW5jX21hc3Rlcihu ZXdfY3J0Y19zdGF0ZSkpCj4gIAkJCWNvbnRpbnVlOwo+ICAKPiArCQlpZiAoaW50ZWxfY3J0Y19o YXNfdHlwZShvbGRfY3J0Y19zdGF0ZSwgSU5URUxfT1VUUFVUX0RQX01TVCkpIHsKPiArCQkJc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXI7Cj4gKwo+ICsJCQllbmNvZGVyID0gaW50ZWxfZ2V0 X2NydGNfb2xkX2VuY29kZXIoc3RhdGUsCj4gKwkJCQkJCQkgICAgIG9sZF9jcnRjX3N0YXRlKTsK PiArCQkJaWYgKGludGVsX2RwX21zdF9tYXN0ZXJfdHJhbnNfZ2V0KGVuY29kZXIpID09Cj4gKwkJ CSAgICBvbGRfY3J0Y19zdGF0ZS0+Y3B1X3RyYW5zY29kZXIpCj4gKwkJCQljb250aW51ZTsKPiAr CQl9Cj4gKwo+ICAJCWludGVsX3ByZV9wbGFuZV91cGRhdGUob2xkX2NydGNfc3RhdGUsIG5ld19j cnRjX3N0YXRlKTsKPiAgCQlpbnRlbF9vbGRfY3J0Y19zdGF0ZV9kaXNhYmxlcyhzdGF0ZSwgb2xk X2NydGNfc3RhdGUsCj4gIAkJCQkJICAgICAgbmV3X2NydGNfc3RhdGUsIGNydGMpOwo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfdHlwZXMu aCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV90eXBlcy5oCj4g aW5kZXggODNlYTA0MTQ5Yjc3Li4yM2Q3NDdjZGNhNjQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmgKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfdHlwZXMuaAo+IEBAIC0xMDUyLDYg KzEwNTIsOCBAQCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSB7Cj4gIAkvKiBQb2ludGVyIHRvIG1h c3RlciB0cmFuc2NvZGVyIGluIGNhc2Ugb2YgdGlsZWQgZGlzcGxheXMgKi8KPiAgCWVudW0gdHJh bnNjb2RlciBtYXN0ZXJfdHJhbnNjb2RlcjsKPiAgCj4gKwlib29sIG1zdF9tYXN0ZXJfdHJhbnNf cGVuZGluZzsKPiArCj4gIAkvKiBCaXRtYXNrIHRvIGluZGljYXRlIHNsYXZlcyBhdHRhY2hlZCAq Lwo+ICAJdTggc3luY19tb2RlX3NsYXZlc19tYXNrOwo+ICB9Owo+IEBAIC0xMjg0LDYgKzEyODYs NyBAQCBzdHJ1Y3QgaW50ZWxfZHAgewo+ICAJYm9vbCBjYW5fbXN0OyAvKiB0aGlzIHBvcnQgc3Vw cG9ydHMgbXN0ICovCj4gIAlib29sIGlzX21zdDsKPiAgCWludCBhY3RpdmVfbXN0X2xpbmtzOwo+ ICsJZW51bSB0cmFuc2NvZGVyIG1zdF9tYXN0ZXJfdHJhbnNjb2RlcjsgLyogT25seSB1c2VkIGlu IFRHTCsgKi8KPiAgCj4gIAkvKgo+ICAJICogRFBfVFBfKiByZWdpc3RlcnMgbWF5IGJlIGVpdGhl ciBvbiBwb3J0IG9yIHRyYW5zY29kZXIgcmVnaXN0ZXIgc3BhY2UuCj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfZHAuYwo+IGluZGV4IDMxMjM5NThlMjA4MS4uY2VmZjY5MDE0NTFh IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHAuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHAuYwo+IEBAIC03NDI0 LDYgKzc0MjQsNyBAQCBpbnRlbF9kcF9pbml0X2Nvbm5lY3RvcihzdHJ1Y3QgaW50ZWxfZGlnaXRh bF9wb3J0ICppbnRlbF9kaWdfcG9ydCwKPiAgCWludGVsX2RwLT5yZXNldF9saW5rX3BhcmFtcyA9 IHRydWU7Cj4gIAlpbnRlbF9kcC0+cHBzX3BpcGUgPSBJTlZBTElEX1BJUEU7Cj4gIAlpbnRlbF9k cC0+YWN0aXZlX3BpcGUgPSBJTlZBTElEX1BJUEU7Cj4gKwlpbnRlbF9kcC0+bXN0X21hc3Rlcl90 cmFuc2NvZGVyID0gSU5WQUxJRF9UUkFOU0NPREVSOwo+ICAKPiAgCS8qIFByZXNlcnZlIHRoZSBj dXJyZW50IGh3IHN0YXRlLiAqLwo+ICAJaW50ZWxfZHAtPkRQID0gSTkxNV9SRUFEKGludGVsX2Rw LT5vdXRwdXRfcmVnKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxh eS9pbnRlbF9kcF9tc3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHBf bXN0LmMKPiBpbmRleCBmOGEzNTAzNTkzNDYuLjk3MzFjM2MxZDNmMiAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwX21zdC5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcF9tc3QuYwo+IEBAIC04Nyw2ICs4Nyw0NyBA QCBzdGF0aWMgaW50IGludGVsX2RwX21zdF9jb21wdXRlX2xpbmtfY29uZmlnKHN0cnVjdCBpbnRl bF9lbmNvZGVyICplbmNvZGVyLAo+ICAJcmV0dXJuIDA7Cj4gIH0KPiAgCj4gK3N0YXRpYyBpbnQK PiAraW50ZWxfZHBfbXN0X21hc3Rlcl90cmFuc19jb21wdXRlKHN0cnVjdCBpbnRlbF9lbmNvZGVy ICplbmNvZGVyLAo+ICsJCQkJICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcs Cj4gKwkJCQkgIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKQo+ICt7Cj4g KwlzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSA9IHRvX2ludGVsX2F0b21pY19zdGF0 ZShwaXBlX2NvbmZpZy0+dWFwaS5zdGF0ZSk7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKPiArCXN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpuZXdfY3J0Y19zdGF0ZTsKPiArCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjOwo+ ICsJZW51bSB0cmFuc2NvZGVyIG1hc3RlcjsKPiArCWludCBpOwo+ICsKPiArCWlmIChJTlRFTF9H RU4oZGV2X3ByaXYpIDwgMTIpCj4gKwkJcmV0dXJuIDA7Cj4gKwo+ICsJaWYgKCFjb25uX3N0YXRl LT5jcnRjKQo+ICsJCXJldHVybiAwOwo+ICsKPiArCW1hc3RlciA9IGludGVsX2RwX21zdF9tYXN0 ZXJfdHJhbnNfZ2V0KGVuY29kZXIpOwo+ICsJaWYgKG1hc3RlciA9PSBJTlZBTElEX1RSQU5TQ09E RVIpCj4gKwkJcmV0dXJuIDA7Cj4gKwo+ICsJZm9yX2VhY2hfbmV3X2ludGVsX2NydGNfaW5fc3Rh dGUoc3RhdGUsIGNydGMsIG5ld19jcnRjX3N0YXRlLCBpKSB7Cj4gKwkJLyoKPiArCQkgKiBjcHVf dHJhbnNjb2RlciBpcyBzZXQgd2hlbiBjb21wdXRpbmcgQ1JUQyBzdGF0ZSBpZiBpdCB3aWxsCj4g KwkJICogYmUgZGlzYWJsZWQgaXQgd2lsbCBub3QgaGFwcGVuLCBzbyBjaGVja2luZyBwaXBlIGlu c3RlYWQKPiArCQkgKi8KPiArCQlpZiAoY3J0Yy0+cGlwZSAhPSAoZW51bSBwaXBlKW1hc3RlcikK PiArCQkJY29udGludWU7Cj4gKwo+ICsJCWlmICghZHJtX2F0b21pY19jcnRjX25lZWRzX21vZGVz ZXQoJm5ld19jcnRjX3N0YXRlLT51YXBpKSAmJgo+ICsJCSAgICBuZXdfY3J0Y19zdGF0ZS0+dWFw aS5lbmFibGUpCj4gKwkJCWNvbnRpbnVlOwo+ICsKPiArCQlwaXBlX2NvbmZpZy0+bXN0X21hc3Rl cl90cmFuc19wZW5kaW5nID0gdHJ1ZTsKPiArCQlicmVhazsKPiArCX0KPiArCj4gKwlyZXR1cm4g MDsKPiArfQo+ICsKPiAgc3RhdGljIGludCBpbnRlbF9kcF9tc3RfY29tcHV0ZV9jb25maWcoc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJCQkgICAgICAgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKnBpcGVfY29uZmlnLAo+ICAJCQkJICAgICAgIHN0cnVjdCBkcm1fY29ubmVjdG9y X3N0YXRlICpjb25uX3N0YXRlKQo+IEBAIC0xNTQsNiArMTk1LDk1IEBAIHN0YXRpYyBpbnQgaW50 ZWxfZHBfbXN0X2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ ICAKPiAgCWludGVsX2RkaV9jb21wdXRlX21pbl92b2x0YWdlX2xldmVsKGRldl9wcml2LCBwaXBl X2NvbmZpZyk7Cj4gIAo+ICsJcmV0ID0gaW50ZWxfZHBfbXN0X21hc3Rlcl90cmFuc19jb21wdXRl KGVuY29kZXIsIHBpcGVfY29uZmlnLAo+ICsJCQkJCQljb25uX3N0YXRlKTsKPiArCWlmIChyZXQp Cj4gKwkJcmV0dXJuIHJldDsKPiArCj4gKwlyZXR1cm4gMDsKPiArfQo+ICsKPiArc3RhdGljIGlu dAo+ICtpbnRlbF9kcF9tc3RfYXRvbWljX21hc3Rlcl90cmFuc19jaGVjayhzdHJ1Y3QgZHJtX2Nv bm5lY3RvciAqY29ubmVjdG9yLAo+ICsJCQkJICAgICAgIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRl ICpzdGF0ZSkKPiArewo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9f aTkxNShjb25uZWN0b3ItPmRldik7Cj4gKwlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICppbnRlbF9j b25uID0gdG9faW50ZWxfY29ubmVjdG9yKGNvbm5lY3Rvcik7Cj4gKwlzdHJ1Y3QgZHJtX2Nvbm5l Y3Rvcl9zdGF0ZSAqbmV3X2Nvbm5fc3RhdGUsICpvbGRfY29ubl9zdGF0ZTsKPiArCXN0cnVjdCBk cm1fY29ubmVjdG9yX2xpc3RfaXRlciBjb25uX2xpc3RfaXRlcjsKPiArCXN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICppbnRlbF9jcnRjX3N0YXRlOwo+ICsJc3RydWN0IGRybV9jcnRjX3N0YXRlICpj cnRjX3N0YXRlOwo+ICsJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5faXRlcjsKPiArCj4gKwlp ZiAoSU5URUxfR0VOKGRldl9wcml2KSA8IDEyKQo+ICsJCXJldHVybiAwOwo+ICsKPiArCW5ld19j b25uX3N0YXRlID0gZHJtX2F0b21pY19nZXRfbmV3X2Nvbm5lY3Rvcl9zdGF0ZShzdGF0ZSwgY29u bmVjdG9yKTsKPiArCW9sZF9jb25uX3N0YXRlID0gZHJtX2F0b21pY19nZXRfb2xkX2Nvbm5lY3Rv cl9zdGF0ZShzdGF0ZSwgY29ubmVjdG9yKTsKPiArCj4gKwlpZiAoIW9sZF9jb25uX3N0YXRlLT5j cnRjICYmICFuZXdfY29ubl9zdGF0ZS0+Y3J0YykKPiArCQlyZXR1cm4gMDsKPiArCj4gKwkvKgo+ ICsJICogMyBjYXNlcyB0aGF0IG5lZWRzIGJlIGhhbmRsZWQgaGVyZToKPiArCSAqIC0gY29ubmVj dG9yIGdvaW5nIGZyb20gZGlzYWJsZWQgdG8gZW5hYmxlZAo+ICsJICogLSBjb25uZWN0b3IgZ29p bmcgZnJvbSBlbmFibGVkIHRvIGRpc2FibGVkOgo+ICsJICogaWYgdGhpcyB0cmFuc2NvZGVyIHdh cyB0aGUgbWFzdGVyLCBhbGwgc2xhdmVzIG5lZWRzIGEgbW9kZXNldAo+ICsJICogLSBjb25uZWN0 b3IgZ29pbmcgZnJvbSBlbmFibGVkIHRvIGVuYWJsZWQgYnV0IGl0IG5lZWRzIGEgbW9kZXNldDoK PiArCSAqIGlmIHRoaXMgdHJhbnNjb2RlciB3YXMgdGhlIG1hc3RlciwgYWxsIHNsYXZlcyBhbHNv IG5lZWRzIGEgbW9kZXNldAo+ICsJICovCj4gKwo+ICsJLyogZGlzYWJsZWQgLT4gZW5hYmxlZCAq Lwo+ICsJaWYgKCFvbGRfY29ubl9zdGF0ZS0+Y3J0YyAmJiBuZXdfY29ubl9zdGF0ZS0+Y3J0YykK PiArCQlyZXR1cm4gMDsKPiArCj4gKwkvKiBlbmFibGVkIC0+IGVuYWJsZWQobW9kZXNldCk/ICov Cj4gKwlpZiAobmV3X2Nvbm5fc3RhdGUtPmNydGMpIHsKPiArCQljcnRjX3N0YXRlID0gZHJtX2F0 b21pY19nZXRfbmV3X2NydGNfc3RhdGUoc3RhdGUsIG5ld19jb25uX3N0YXRlLT5jcnRjKTsKPiAr CQlpZiAoIWRybV9hdG9taWNfY3J0Y19uZWVkc19tb2Rlc2V0KGNydGNfc3RhdGUpKQo+ICsJCQly ZXR1cm4gMDsKPiArCX0KPiArCj4gKwkvKiBoYW5kbGluZyBlbmFibGVkIC0+IGVuYWJsZWQobW9k ZXNldCkgYW5kIGVuYWJsZWQgLT4gZGlzYWJsZWQgKi8KPiArCWNydGNfc3RhdGUgPSBkcm1fYXRv bWljX2dldF9vbGRfY3J0Y19zdGF0ZShzdGF0ZSwgb2xkX2Nvbm5fc3RhdGUtPmNydGMpOwo+ICsJ aW50ZWxfY3J0Y19zdGF0ZSA9IHRvX2ludGVsX2NydGNfc3RhdGUoY3J0Y19zdGF0ZSk7Cj4gKwo+ ICsJLyogSWYgbm90IG1hc3Rlciwgbm90aGluZyBlbHNlIG5lZWRzIHRvIGJlIGhhbmRsZWQgKi8K PiArCWlmIChpbnRlbF9jb25uLT5tc3RfcG9ydC0+bXN0X21hc3Rlcl90cmFuc2NvZGVyICE9Cj4g KwkgICAgaW50ZWxfY3J0Y19zdGF0ZS0+Y3B1X3RyYW5zY29kZXIpCj4gKwkJcmV0dXJuIDA7Cj4g Kwo+ICsJLyogSXMgbWFzdGVyLCBtYXJrIGFsbCBvdGhlciBDUlRDcyBhcyBuZWVkaW5nIGEgbW9k ZXNldCAqLwo+ICsJZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfYmVnaW4oc3RhdGUtPmRldiwgJmNv bm5fbGlzdF9pdGVyKTsKPiArCWRybV9mb3JfZWFjaF9jb25uZWN0b3JfaXRlcihjb25uX2l0ZXIs ICZjb25uX2xpc3RfaXRlcikgewo+ICsJCXN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmludGVsX2Nv bm5faXRlcjsKPiArCQlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9pdGVyX3N0YXRl Owo+ICsKPiArCQlpbnRlbF9jb25uX2l0ZXIgPSB0b19pbnRlbF9jb25uZWN0b3IoY29ubl9pdGVy KTsKPiArCQlpZiAoaW50ZWxfY29ubl9pdGVyLT5tc3RfcG9ydCAhPSBpbnRlbF9jb25uLT5tc3Rf cG9ydCkKPiArCQkJY29udGludWU7Cj4gKwo+ICsJCWNvbm5faXRlcl9zdGF0ZSA9IGRybV9hdG9t aWNfZ2V0X2Nvbm5lY3Rvcl9zdGF0ZShzdGF0ZSwKPiArCQkJCQkJCQkgY29ubl9pdGVyKTsKPiAr CQlpZiAoSVNfRVJSKGNvbm5faXRlcl9zdGF0ZSkpIHsKPiArCQkJZHJtX2Nvbm5lY3Rvcl9saXN0 X2l0ZXJfZW5kKCZjb25uX2xpc3RfaXRlcik7Cj4gKwkJCXJldHVybiBQVFJfRVJSKGNvbm5faXRl cl9zdGF0ZSk7Cj4gKwkJfQo+ICsKPiArCQlpZiAoIWNvbm5faXRlcl9zdGF0ZS0+Y3J0YykKPiAr CQkJY29udGludWU7Cj4gKwo+ICsJCWNydGNfc3RhdGUgPSBkcm1fYXRvbWljX2dldF9jcnRjX3N0 YXRlKHN0YXRlLCBjb25uX2l0ZXJfc3RhdGUtPmNydGMpOwo+ICsJCWlmIChJU19FUlIoY3J0Y19z dGF0ZSkpIHsKPiArCQkJZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfZW5kKCZjb25uX2xpc3RfaXRl cik7Cj4gKwkJCXJldHVybiBQVFJfRVJSKGNvbm5faXRlcl9zdGF0ZSk7Cj4gKwkJfQo+ICsKPiAr CQlpbnRlbF9jcnRjX3N0YXRlID0gdG9faW50ZWxfY3J0Y19zdGF0ZShjcnRjX3N0YXRlKTsKPiAr CQljcnRjX3N0YXRlLT5tb2RlX2NoYW5nZWQgPSB0cnVlOwo+ICsJfQo+ICsJZHJtX2Nvbm5lY3Rv cl9saXN0X2l0ZXJfZW5kKCZjb25uX2xpc3RfaXRlcik7Cj4gKwo+ICAJcmV0dXJuIDA7Cj4gIH0K PiAgCj4gQEAgLTE3NSw2ICszMDUsMTAgQEAgaW50ZWxfZHBfbXN0X2F0b21pY19jaGVjayhzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ICAJaWYgKHJldCkKPiAgCQlyZXR1cm4gcmV0 Owo+ICAKPiArCXJldCA9IGludGVsX2RwX21zdF9hdG9taWNfbWFzdGVyX3RyYW5zX2NoZWNrKGNv bm5lY3Rvciwgc3RhdGUpOwo+ICsJaWYgKHJldCkKPiArCQlyZXR1cm4gcmV0Owo+ICsKPiAgCWlm ICghb2xkX2Nvbm5fc3RhdGUtPmNydGMpCj4gIAkJcmV0dXJuIDA7Cj4gIAo+IEBAIC0yNTksNiAr MzkzLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfbXN0X3Bvc3RfZGlzYWJsZV9kcChzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCQlpbnRlbF9kcF9zaW5rX2RwbXMoaW50ZWxfZHAsIERS TV9NT0RFX0RQTVNfT0ZGKTsKPiAgCQlpbnRlbF9kaWdfcG9ydC0+YmFzZS5wb3N0X2Rpc2FibGUo JmludGVsX2RpZ19wb3J0LT5iYXNlLAo+ICAJCQkJCQkgIG9sZF9jcnRjX3N0YXRlLCBOVUxMKTsK PiArCQlpbnRlbF9kcC0+bXN0X21hc3Rlcl90cmFuc2NvZGVyID0gSU5WQUxJRF9UUkFOU0NPREVS Owo+ICAJfQo+ICAKPiAgCURSTV9ERUJVR19LTVMoImFjdGl2ZSBsaW5rcyAlZFxuIiwgaW50ZWxf ZHAtPmFjdGl2ZV9tc3RfbGlua3MpOwo+IEBAIC0zMTQsOCArNDQ5LDExIEBAIHN0YXRpYyB2b2lk IGludGVsX21zdF9wcmVfZW5hYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ ICAKPiAgCURSTV9ERUJVR19LTVMoImFjdGl2ZSBsaW5rcyAlZFxuIiwgaW50ZWxfZHAtPmFjdGl2 ZV9tc3RfbGlua3MpOwo+ICAKPiAtCWlmIChmaXJzdF9tc3Rfc3RyZWFtKQo+ICsJaWYgKGZpcnN0 X21zdF9zdHJlYW0pIHsKPiArCQlXQVJOX09OKGludGVsX2RwLT5tc3RfbWFzdGVyX3RyYW5zY29k ZXIgIT0gSU5WQUxJRF9UUkFOU0NPREVSKTsKPiArCQlpbnRlbF9kcC0+bXN0X21hc3Rlcl90cmFu c2NvZGVyID0gcGlwZV9jb25maWctPmNwdV90cmFuc2NvZGVyOwo+ICAJCWludGVsX2RwX3Npbmtf ZHBtcyhpbnRlbF9kcCwgRFJNX01PREVfRFBNU19PTik7Cj4gKwl9Cj4gIAo+ICAJZHJtX2RwX3Nl bmRfcG93ZXJfdXBkb3duX3BoeSgmaW50ZWxfZHAtPm1zdF9tZ3IsIGNvbm5lY3Rvci0+cG9ydCwg dHJ1ZSk7Cj4gIAo+IEBAIC03MTcsMyArODU1LDEyIEBAIGludGVsX2RwX21zdF9lbmNvZGVyX2Ns ZWFudXAoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQpCj4gIAlkcm1f ZHBfbXN0X3RvcG9sb2d5X21ncl9kZXN0cm95KCZpbnRlbF9kcC0+bXN0X21ncik7Cj4gIAkvKiBl bmNvZGVycyB3aWxsIGdldCBraWxsZWQgYnkgbm9ybWFsIGNsZWFudXAgKi8KPiAgfQo+ICsKPiAr ZW51bSB0cmFuc2NvZGVyCj4gK2ludGVsX2RwX21zdF9tYXN0ZXJfdHJhbnNfZ2V0KHN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyKQo+ICt7Cj4gKwlzdHJ1Y3QgaW50ZWxfZHBfbXN0X2VuY29k ZXIgKmludGVsX21zdCA9IGVuY190b19tc3QoJmVuY29kZXItPmJhc2UpOwo+ICsJc3RydWN0IGlu dGVsX2RwICppbnRlbF9kcCA9ICZpbnRlbF9tc3QtPnByaW1hcnktPmRwOwo+ICsKPiArCXJldHVy biBpbnRlbF9kcC0+bXN0X21hc3Rlcl90cmFuc2NvZGVyOwo+ICt9Cj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHBfbXN0LmggYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwX21zdC5oCj4gaW5kZXggZjY2MGFkODBkYjA0Li5lNmYy OGE1MTcxODIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9kcF9tc3QuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHBf bXN0LmgKPiBAQCAtNyw5ICs3LDExIEBACj4gICNkZWZpbmUgX19JTlRFTF9EUF9NU1RfSF9fCj4g IAo+ICBzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0Owo+ICtzdHJ1Y3QgaW50ZWxfZW5jb2RlcjsK PiAgCj4gIGludCBpbnRlbF9kcF9tc3RfZW5jb2Rlcl9pbml0KHN0cnVjdCBpbnRlbF9kaWdpdGFs X3BvcnQgKmludGVsX2RpZ19wb3J0LCBpbnQgY29ubl9pZCk7Cj4gIHZvaWQgaW50ZWxfZHBfbXN0 X2VuY29kZXJfY2xlYW51cChzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9y dCk7Cj4gIGludCBpbnRlbF9kcF9tc3RfZW5jb2Rlcl9hY3RpdmVfbGlua3Moc3RydWN0IGludGVs X2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQpOwo+ICtlbnVtIHRyYW5zY29kZXIgaW50ZWxf ZHBfbXN0X21hc3Rlcl90cmFuc19nZXQoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpOwo+ ICAKPiAgI2VuZGlmIC8qIF9fSU5URUxfRFBfTVNUX0hfXyAqLwo+IC0tIAo+IDIuMjQuMAoKLS0g ClZpbGxlIFN5cmrDpGzDpApJbnRlbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZng=