From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jim Bride Subject: Re: [PATCH 05/12] drm/i915: Track active streams also for DP SST Date: Fri, 29 Jul 2016 11:36:40 -0700 Message-ID: <20160729183640.GD4624@shiv> References: <1469717448-4297-1-git-send-email-ville.syrjala@linux.intel.com> <1469717448-4297-6-git-send-email-ville.syrjala@linux.intel.com> <20160729092232.GZ6232@phenom.ffwll.local> <20160729113623.GZ4329@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTP id 8A3B86E1FA for ; Fri, 29 Jul 2016 18:37:26 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20160729113623.GZ4329@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Cc: Ander Conselvan de Oliveira , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBKdWwgMjksIDIwMTYgYXQgMDI6MzY6MjNQTSArMDMwMCwgVmlsbGUgU3lyasOkbMOk IHdyb3RlOgo+IE9uIEZyaSwgSnVsIDI5LCAyMDE2IGF0IDExOjIyOjMyQU0gKzAyMDAsIERhbmll bCBWZXR0ZXIgd3JvdGU6Cj4gPiBPbiBUaHUsIEp1bCAyOCwgMjAxNiBhdCAwNTo1MDo0MVBNICsw MzAwLCB2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbSB3cm90ZToKPiA+ID4gRnJvbTogVmls bGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiA+ID4gCj4gPiA+ IHMvYWN0aXZlX21zdF9saW5rcy9hY3RpdmVfc3RyZWFtcy8gYW5kIHVzZSBpdCBhbHNvIGZvciBT U1QuIFdlIGNhbiB0aGVuCj4gPiA+IHVzZSB0aGlzIGluZm9ybWF0aW9uIGluIHRoZSBocGQgaGFu ZGxpbmcgdG8gc2VlIGlmIHRoZSBsaW5rIGlzIGFjdGl2ZQo+ID4gPiBvciBub3QsIGFuZCB0aHVz IHdoZXRoZXIgd2UgbWF5IG5lZWQgdG8gcmV0cmFpbi4KPiA+ID4gCj4gPiA+IENjOiBBbmRlciBD b25zZWx2YW4gZGUgT2xpdmVpcmEgPGFuZGVyLmNvbnNlbHZhbi5kZS5vbGl2ZWlyYUBpbnRlbC5j b20+Cj4gPiA+IENjOiBKaW0gQnJpZGUgPGppbS5icmlkZUBsaW51eC5pbnRlbC5jb20+Cj4gPiA+ IENjOiBNYW5hc2kgRCBOYXZhcmUgPG1hbmFzaS5kLm5hdmFyZUBpbnRlbC5jb20+Cj4gPiA+IENj OiBEdXJnYWRvc3MgUiA8ZHVyZ2Fkb3NzLnJAaW50ZWwuY29tPgo+ID4gPiBTaWduZWQtb2ZmLWJ5 OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+ID4gCj4g PiBIbSwgbW9yZSBzdGF0ZSBub3QgaW4gdGhlIHN0YXRlIHN0cnVjdHVyZXMsIGFuZCBub3QgY3Jv c3MtY2hlY2tlZCA6KCBCZW4KPiA+IFNrZWdncyBqdXN0IHBpbmdlZCBtZSBvbiB0aGlzLCBhbmQg b25lIG9mIHRoZSBpZGVhcyBoZSdzIG5vdyBsb29raW5nIGludG8KPiA+IGlzIGEgc2VwYXJhdGUg c3RhdGUgYXJyYXkgZm9yIG1zdCBwb3J0cyB0byBmdWxseSBrZWVwIHRyYWNrIG9mIHRoaXMuIEtp bmRhCj4gPiBsaWtlIHdlIGtlZXAgdHJhY2sgb2YgdGhlIHNoYXJlZCBkcGxscy4KPiAKPiBZZWFo IGl0J3MgYSBiaXQgYSBtZXNzLiBUaGUgb3RoZXIgb3B0aW9uIEkndmUgb3V0bGluZWQgYmVmb3Jl IG1pZ2h0IGJlIGEKPiBmYWtlIGNydGMgdG8gZHJpdmUgdGhlIHByaW1hcnksIGFuZCB0aGVuIHVz ZSBhdG9taWMgZW5hYmxlL2Rpc2FibGUgaXQgYXQKPiB0aGUgcmlnaHQgdGltZSBkZXBlbmRpbmcg dGhlIHN0YXRlIHRoZSBvZiB0aGUgYWN0dWFsIE1TVCBzdHJlYW1zLgo+IAo+IFNwZWFraW5nIG9m IGF0b21pYy9tc3QsIEknbSBub3Qgc3VyZSBvdXIgbGluayByZXRyYWluaW5nIGlzIHJlYWxseSBn b29kCj4gZW5vdWdoIGZvciBNU1QuIElJUkMgSSBzYXcgYSBub3RlIGluIHRoZSBzcGVjIHRoYXQg dGhlIHBheWxvYWRzIGFuZAo+IHdoYXRub3QgbWlnaHQgZ2V0IGRlYWxsb2NhdGVkIGJ5IHRoZSBz aW5rL2h1YiBpZiB0aGUgbGluayBkcm9wcy4gSSB0aGluawo+IEkgaGF2ZSB0byByZS1yZWFkIHRo ZSBzcGVjIGEgZmV3IHRpbWVzIHRvIG1ha2Ugc3VyZSwgYnV0IGlmIHRoYXQncyB0aGUKPiBjYXNl IHRoZW4gd2UnZCBoYXZlIHRvIHBpbXAgdXAgdGhlIGxpbmsgcmV0cmFpbmluZyB0byBiZSBNU1Qg YXdhcmUuIEJ1dCwKPiBJIGhhZCBhbiBhbHRlcm5hdGl2ZSBpZGVhIHJlY2VudGx5OyBXaGF0IGlm IHdlIGp1c3QgZm9yY2UgYSBtb2Rlc2V0IG9uCj4gYWxsIHRoZSBwaXBlcyBvbiB0aGF0IHBvcnQ/ IElJUkMgdGhlIHNwZWMgZXZlbiBzYXlzIHRoYXQgZm9yIGxpbmsKPiByZXRyYWluaW5nIHdlIHNo b3VsZCByZWFsbHkgYmUgZG9pbmcgbW9yZSBvciBsZXNzIHRoZSBmdWxsIG1vZGVzZXQKPiBzZXF1 ZW5jZS4gSXQgc2hvdWxkIGFsc28gZ2V0IHJpZCBvZiB0aGUgRklGTyB1bmRlcnJ1bnMgd2Ugbm93 IGdldCBldmVyeQo+IHRpbWUgd2UgcmV0cmFpbiB0aGUgbGluay4gQW55IHRob3VnaHRzPwoKSWYg d2UgZW5zdXJlIHRoYXQgd2UgdHJhaW4gdGhlIGxpbmsgYXQgdGhlIHdpZGVzdCBhbmQgZmFzdGVz dCBjb25maWd1cmF0aW9uCnBvc3NpYmxlIGluIHRoZSBmaXJzdCBwbGFjZSAod2hpY2ggaXMgaG93 IEkgaW50ZXJwcmV0IHdoYXQgdGhlIERQIHNwZWMgc2F5cwp0byBkbyBmb3IgbGluayB0cmFpbmlu ZykgdGhlbiB3ZSBzaG91bGRuJ3QgYmUgaW4gYSBzaXR1YXRpb24gd2hlcmUgd2UgbmVlZAp0byBy ZXRyYWluIHRoZSBtYWluIGxpbmsgdW5sZXNzIHRoZSBsaW5rIGlzIGxvc3QsIGluIHdoaWNoIGNh c2UgYWxsIG9mIHRoZQpwaXBlcyAmIHBheWxvYWRzIGFzc29jaWF0ZWQgd2l0aCB0aGUgbGluayB3 aWxsIG5lZWQgdG8gYmUgcmUtY29uZmlndXJlZAphbnlob3cgKHNpbmNlIHRoZXJlJ3Mgbm8gZ3Vh cmFudGVlIHRoYXQgdGhlIGxpbmsgYmFuZHdpZHRoIHdpbGwgYmUgdGhlIHNhbWUKb25jZSB0aGUg cmUtdHJhaW5pbmcgd2FzIGRvbmUuKSAgVGhpcyBzZWVtcyBsaWtlIGEgc2ltcGxlciBzb2x1dGlv biwgSU1ITy4KCkppbQoKCj4gPiAKPiA+IEFnYWluIGp1c3QgaWRlYXMsIGNvZGUgbG9va3MgY29y cmVjdC4KPiA+IAo+ID4gUmV2aWV3ZWQtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJA ZmZ3bGwuY2g+Cj4gPiAKPiA+ID4gLS0tCj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kZGkuYyAgICB8IDEwICsrKysrKysrKysKPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RwLmMgICAgIHwgIDggKysrKysrKy0KPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RwX21zdC5jIHwgMTYgKysrKysrKystLS0tLS0tLQo+ID4gPiAgZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHJ2LmggICAgfCAgMiArLQo+ID4gPiAgNCBmaWxlcyBjaGFuZ2VkLCAyNiBp bnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKPiA+ID4gCj4gPiA+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RkaS5jCj4gPiA+IGluZGV4IDNiM2EwYTgwODQ3Ny4uYmMxODhlZTZlMzdmIDEwMDY0NAo+ ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+ID4gPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+ID4gPiBAQCAtMTYxNiw2ICsxNjE2LDkg QEAgc3RhdGljIHZvaWQgaW50ZWxfZGRpX3ByZV9lbmFibGUoc3RydWN0IGludGVsX2VuY29kZXIg KmludGVsX2VuY29kZXIpCj4gPiA+ICAKPiA+ID4gIAkJaW50ZWxfZGRpX2luaXRfZHBfYnVmX3Jl ZyhpbnRlbF9lbmNvZGVyKTsKPiA+ID4gIAo+ID4gPiArCQlXQVJOX09OKGludGVsX2RwLT5hY3Rp dmVfc3RyZWFtcyAhPSAwKTsKPiA+ID4gKwkJaW50ZWxfZHAtPmFjdGl2ZV9zdHJlYW1zKys7Cj4g PiA+ICsKPiA+ID4gIAkJaW50ZWxfZHBfc2lua19kcG1zKGludGVsX2RwLCBEUk1fTU9ERV9EUE1T X09OKTsKPiA+ID4gIAkJaW50ZWxfZHBfc3RhcnRfbGlua190cmFpbihpbnRlbF9kcCk7Cj4gPiA+ ICAJCWlmIChwb3J0ICE9IFBPUlRfQSB8fCBJTlRFTF9JTkZPKGRldl9wcml2KS0+Z2VuID49IDkp Cj4gPiA+IEBAIC0xNzMzLDYgKzE3MzYsMTMgQEAgc3RhdGljIHZvaWQgaW50ZWxfZGlzYWJsZV9k ZGkoc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIpCj4gPiA+ICAJCWludGVsX3Bz cl9kaXNhYmxlKGludGVsX2RwKTsKPiA+ID4gIAkJaW50ZWxfZWRwX2JhY2tsaWdodF9vZmYoaW50 ZWxfZHApOwo+ID4gPiAgCX0KPiA+ID4gKwo+ID4gPiArCWlmICh0eXBlID09IElOVEVMX09VVFBV VF9EUCB8fCB0eXBlID09IElOVEVMX09VVFBVVF9FRFApIHsKPiA+ID4gKwkJc3RydWN0IGludGVs X2RwICppbnRlbF9kcCA9IGVuY190b19pbnRlbF9kcChlbmNvZGVyKTsKPiA+ID4gKwo+ID4gPiAr CQlpbnRlbF9kcC0+YWN0aXZlX3N0cmVhbXMtLTsKPiA+ID4gKwkJV0FSTl9PTihpbnRlbF9kcC0+ YWN0aXZlX3N0cmVhbXMgIT0gMCk7Cj4gPiA+ICsJfQo+ID4gPiAgfQo+ID4gPiAgCj4gPiA+ICBi b29sIGJ4dF9kZGlfcGh5X2lzX2VuYWJsZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LAo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiA+ID4gaW5kZXggMDA5NmM2NTFjMjFm Li4zYTljNWQzYjVjNjYgMTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RwLmMKPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+ID4g PiBAQCAtMjY4NSw2ICsyNjg1LDkgQEAgc3RhdGljIHZvaWQgaW50ZWxfZW5hYmxlX2RwKHN0cnVj dCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQo+ID4gPiAgCQkJCSAgICBsYW5lX21hc2spOwo+ID4g PiAgCX0KPiA+ID4gIAo+ID4gPiArCVdBUk5fT04oaW50ZWxfZHAtPmFjdGl2ZV9zdHJlYW1zICE9 IDApOwo+ID4gPiArCWludGVsX2RwLT5hY3RpdmVfc3RyZWFtcysrOwo+ID4gPiArCj4gPiA+ICAJ aW50ZWxfZHBfc2lua19kcG1zKGludGVsX2RwLCBEUk1fTU9ERV9EUE1TX09OKTsKPiA+ID4gIAlp bnRlbF9kcF9zdGFydF9saW5rX3RyYWluKGludGVsX2RwKTsKPiA+ID4gIAlpbnRlbF9kcF9zdG9w X2xpbmtfdHJhaW4oaW50ZWxfZHApOwo+ID4gPiBAQCAtMzM0NCw2ICszMzQ3LDkgQEAgaW50ZWxf ZHBfbGlua19kb3duKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gPiA+ICAKPiA+ID4gIAlE Uk1fREVCVUdfS01TKCJcbiIpOwo+ID4gPiAgCj4gPiA+ICsJaW50ZWxfZHAtPmFjdGl2ZV9zdHJl YW1zLS07Cj4gPiA+ICsJV0FSTl9PTihpbnRlbF9kcC0+YWN0aXZlX3N0cmVhbXMgIT0gMCk7Cj4g PiA+ICsKPiA+ID4gIAlpZiAoKElTX0dFTjcoZGV2KSAmJiBwb3J0ID09IFBPUlRfQSkgfHwKPiA+ ID4gIAkgICAgKEhBU19QQ0hfQ1BUKGRldikgJiYgcG9ydCAhPSBQT1JUX0EpKSB7Cj4gPiA+ICAJ CURQICY9IH5EUF9MSU5LX1RSQUlOX01BU0tfQ1BUOwo+ID4gPiBAQCAtMzgyNiw3ICszODMyLDcg QEAgZ29fYWdhaW46Cj4gPiA+ICAJCWlmIChicmV0ID09IHRydWUpIHsKPiA+ID4gIAo+ID4gPiAg CQkJLyogY2hlY2sgbGluayBzdGF0dXMgLSBlc2lbMTBdID0gMHgyMDBjICovCj4gPiA+IC0JCQlp ZiAoaW50ZWxfZHAtPmFjdGl2ZV9tc3RfbGlua3MgJiYKPiA+ID4gKwkJCWlmIChpbnRlbF9kcC0+ YWN0aXZlX3N0cmVhbXMgJiYKPiA+ID4gIAkJCSAgICAhZHJtX2RwX2NoYW5uZWxfZXFfb2soJmVz aVsxMF0sIGludGVsX2RwLT5sYW5lX2NvdW50KSkgewo+ID4gPiAgCQkJCURSTV9ERUJVR19LTVMo ImNoYW5uZWwgRVEgbm90IG9rLCByZXRyYWluaW5nXG4iKTsKPiA+ID4gIAkJCQlpbnRlbF9kcF9z dGFydF9saW5rX3RyYWluKGludGVsX2RwKTsKPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RwX21zdC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBf bXN0LmMKPiA+ID4gaW5kZXggNjhhMDA1ZDcyOWU5Li44NTdjZmE2OTI4YjMgMTAwNjQ0Cj4gPiA+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX21zdC5jCj4gPiA+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX21zdC5jCj4gPiA+IEBAIC05OSw3ICs5OSw3IEBA IHN0YXRpYyB2b2lkIGludGVsX21zdF9kaXNhYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyKQo+ID4gPiAgCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSAmaW50ZWxfZGlnX3Bv cnQtPmRwOwo+ID4gPiAgCWludCByZXQ7Cj4gPiA+ICAKPiA+ID4gLQlEUk1fREVCVUdfS01TKCIl ZFxuIiwgaW50ZWxfZHAtPmFjdGl2ZV9tc3RfbGlua3MpOwo+ID4gPiArCURSTV9ERUJVR19LTVMo IiVkXG4iLCBpbnRlbF9kcC0+YWN0aXZlX3N0cmVhbXMpOwo+ID4gPiAgCj4gPiA+ICAJZHJtX2Rw X21zdF9yZXNldF92Y3BpX3Nsb3RzKCZpbnRlbF9kcC0+bXN0X21nciwgaW50ZWxfbXN0LT5jb25u ZWN0b3ItPnBvcnQpOwo+ID4gPiAgCj4gPiA+IEBAIC0xMTUsNyArMTE1LDcgQEAgc3RhdGljIHZv aWQgaW50ZWxfbXN0X3Bvc3RfZGlzYWJsZV9kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2Rl cikKPiA+ID4gIAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9IGlu dGVsX21zdC0+cHJpbWFyeTsKPiA+ID4gIAlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gJmlu dGVsX2RpZ19wb3J0LT5kcDsKPiA+ID4gIAo+ID4gPiAtCURSTV9ERUJVR19LTVMoIiVkXG4iLCBp bnRlbF9kcC0+YWN0aXZlX21zdF9saW5rcyk7Cj4gPiA+ICsJRFJNX0RFQlVHX0tNUygiJWRcbiIs IGludGVsX2RwLT5hY3RpdmVfc3RyZWFtcyk7Cj4gPiA+ICAKPiA+ID4gIAkvKiB0aGlzIGNhbiBm YWlsICovCj4gPiA+ICAJZHJtX2RwX2NoZWNrX2FjdF9zdGF0dXMoJmludGVsX2RwLT5tc3RfbWdy KTsKPiA+ID4gQEAgLTEyNCwxMCArMTI0LDEwIEBAIHN0YXRpYyB2b2lkIGludGVsX21zdF9wb3N0 X2Rpc2FibGVfZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCj4gPiA+ICAKPiA+ID4g IAlkcm1fZHBfbXN0X2RlYWxsb2NhdGVfdmNwaSgmaW50ZWxfZHAtPm1zdF9tZ3IsIGludGVsX21z dC0+Y29ubmVjdG9yLT5wb3J0KTsKPiA+ID4gIAo+ID4gPiAtCWludGVsX2RwLT5hY3RpdmVfbXN0 X2xpbmtzLS07Cj4gPiA+ICsJaW50ZWxfZHAtPmFjdGl2ZV9zdHJlYW1zLS07Cj4gPiA+ICAKPiA+ ID4gIAlpbnRlbF9tc3QtPmNvbm5lY3RvciA9IE5VTEw7Cj4gPiA+IC0JaWYgKGludGVsX2RwLT5h Y3RpdmVfbXN0X2xpbmtzID09IDApIHsKPiA+ID4gKwlpZiAoaW50ZWxfZHAtPmFjdGl2ZV9zdHJl YW1zID09IDApIHsKPiA+ID4gIAkJaW50ZWxfZGlnX3BvcnQtPmJhc2UucG9zdF9kaXNhYmxlKCZp bnRlbF9kaWdfcG9ydC0+YmFzZSk7Cj4gPiA+ICAJCWludGVsX2RwX3NpbmtfZHBtcyhpbnRlbF9k cCwgRFJNX01PREVfRFBNU19PRkYpOwo+ID4gPiAgCX0KPiA+ID4gQEAgLTE2NSwxMSArMTY1LDEx IEBAIHN0YXRpYyB2b2lkIGludGVsX21zdF9wcmVfZW5hYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNv ZGVyICplbmNvZGVyKQo+ID4gPiAgCSAqLwo+ID4gPiAgCWZvdW5kLT5lbmNvZGVyID0gZW5jb2Rl cjsKPiA+ID4gIAo+ID4gPiAtCURSTV9ERUJVR19LTVMoIiVkXG4iLCBpbnRlbF9kcC0+YWN0aXZl X21zdF9saW5rcyk7Cj4gPiA+ICsJRFJNX0RFQlVHX0tNUygiJWRcbiIsIGludGVsX2RwLT5hY3Rp dmVfc3RyZWFtcyk7Cj4gPiA+ICAKPiA+ID4gIAlpbnRlbF9tc3QtPmNvbm5lY3RvciA9IGZvdW5k Owo+ID4gPiAgCj4gPiA+IC0JaWYgKGludGVsX2RwLT5hY3RpdmVfbXN0X2xpbmtzID09IDApIHsK PiA+ID4gKwlpZiAoaW50ZWxfZHAtPmFjdGl2ZV9zdHJlYW1zID09IDApIHsKPiA+ID4gIAkJaW50 ZWxfcHJlcGFyZV9kZGlfYnVmZmVyKCZpbnRlbF9kaWdfcG9ydC0+YmFzZSk7Cj4gPiA+ICAKPiA+ ID4gIAkJaW50ZWxfZGRpX2Nsa19zZWxlY3QoJmludGVsX2RpZ19wb3J0LT5iYXNlLCBpbnRlbF9j cnRjLT5jb25maWcpOwo+ID4gPiBAQCAtMTkzLDcgKzE5Myw3IEBAIHN0YXRpYyB2b2lkIGludGVs X21zdF9wcmVfZW5hYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQo+ID4gPiAg CX0KPiA+ID4gIAo+ID4gPiAgCj4gPiA+IC0JaW50ZWxfZHAtPmFjdGl2ZV9tc3RfbGlua3MrKzsK PiA+ID4gKwlpbnRlbF9kcC0+YWN0aXZlX3N0cmVhbXMrKzsKPiA+ID4gIAl0ZW1wID0gSTkxNV9S RUFEKERQX1RQX1NUQVRVUyhwb3J0KSk7Cj4gPiA+ICAJSTkxNV9XUklURShEUF9UUF9TVEFUVVMo cG9ydCksIHRlbXApOwo+ID4gPiAgCj4gPiA+IEBAIC0yMTAsNyArMjEwLDcgQEAgc3RhdGljIHZv aWQgaW50ZWxfbXN0X2VuYWJsZV9kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKPiA+ ID4gIAllbnVtIHBvcnQgcG9ydCA9IGludGVsX2RpZ19wb3J0LT5wb3J0Owo+ID4gPiAgCWludCBy ZXQ7Cj4gPiA+ICAKPiA+ID4gLQlEUk1fREVCVUdfS01TKCIlZFxuIiwgaW50ZWxfZHAtPmFjdGl2 ZV9tc3RfbGlua3MpOwo+ID4gPiArCURSTV9ERUJVR19LTVMoIiVkXG4iLCBpbnRlbF9kcC0+YWN0 aXZlX3N0cmVhbXMpOwo+ID4gPiAgCj4gPiA+ICAJaWYgKGludGVsX3dhaXRfZm9yX3JlZ2lzdGVy KGRldl9wcml2LAo+ID4gPiAgCQkJCSAgICBEUF9UUF9TVEFUVVMocG9ydCksCj4gPiA+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oCj4gPiA+IGluZGV4IDcwZDdmMzNkNjc0Ny4uN2ZlZjE4Mjg4YWEy IDEwMDY0NAo+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4g PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4gPiBAQCAtODk0LDcg Kzg5NCw3IEBAIHN0cnVjdCBpbnRlbF9kcCB7Cj4gPiA+ICAKPiA+ID4gIAlib29sIGNhbl9tc3Q7 IC8qIHRoaXMgcG9ydCBzdXBwb3J0cyBtc3QgKi8KPiA+ID4gIAlib29sIGlzX21zdDsKPiA+ID4g LQlpbnQgYWN0aXZlX21zdF9saW5rczsKPiA+ID4gKwlpbnQgYWN0aXZlX3N0cmVhbXM7IC8qIG51 bWJlciBvZiBhY3RpdmUgc3RyZWFtcyAoZm9yIFNTVCBhbmQgTVNUIGJvdGgpICovCj4gPiA+ICAJ LyogY29ubmVjdG9yIGRpcmVjdGx5IGF0dGFjaGVkIC0gd29uJ3QgYmUgdXNlIGZvciBtb2Rlc2V0 IGluIG1zdCB3b3JsZCAqLwo+ID4gPiAgCXN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmF0dGFjaGVk X2Nvbm5lY3RvcjsKPiA+ID4gIAo+ID4gPiAtLSAKPiA+ID4gMi43LjQKPiA+ID4gCj4gPiA+IF9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPiA+IEludGVs LWdmeCBtYWlsaW5nIGxpc3QKPiA+ID4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ ID4gPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVs LWdmeAo+ID4gCj4gPiAtLSAKPiA+IERhbmllbCBWZXR0ZXIKPiA+IFNvZnR3YXJlIEVuZ2luZWVy LCBJbnRlbCBDb3Jwb3JhdGlvbgo+ID4gaHR0cDovL2Jsb2cuZmZ3bGwuY2gKPiAKPiAtLSAKPiBW aWxsZSBTeXJqw6Rsw6QKPiBJbnRlbCBPVEMKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwo+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiBJbnRlbC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZngKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vaW50ZWwtZ2Z4Cg==