From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 05/12] drm/i915: Track active streams also for DP SST Date: Tue, 2 Aug 2016 16:28:59 +0200 Message-ID: <20160802142859.GX6232@phenom.ffwll.local> 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> <20160729183640.GD4624@shiv> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x244.google.com (mail-wm0-x244.google.com [IPv6:2a00:1450:400c:c09::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9FB9F6E5D5 for ; Tue, 2 Aug 2016 14:29:04 +0000 (UTC) Received: by mail-wm0-x244.google.com with SMTP id i5so31204466wmg.2 for ; Tue, 02 Aug 2016 07:29:04 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20160729183640.GD4624@shiv> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Jim Bride Cc: Ander Conselvan de Oliveira , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBKdWwgMjksIDIwMTYgYXQgMTE6MzY6NDBBTSAtMDcwMCwgSmltIEJyaWRlIHdyb3Rl Ogo+IE9uIEZyaSwgSnVsIDI5LCAyMDE2IGF0IDAyOjM2OjIzUE0gKzAzMDAsIFZpbGxlIFN5cmrD pGzDpCB3cm90ZToKPiA+IE9uIEZyaSwgSnVsIDI5LCAyMDE2IGF0IDExOjIyOjMyQU0gKzAyMDAs IERhbmllbCBWZXR0ZXIgd3JvdGU6Cj4gPiA+IE9uIFRodSwgSnVsIDI4LCAyMDE2IGF0IDA1OjUw OjQxUE0gKzAzMDAsIHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tIHdyb3RlOgo+ID4gPiA+ IEZyb206IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4g PiA+ID4gCj4gPiA+ID4gcy9hY3RpdmVfbXN0X2xpbmtzL2FjdGl2ZV9zdHJlYW1zLyBhbmQgdXNl IGl0IGFsc28gZm9yIFNTVC4gV2UgY2FuIHRoZW4KPiA+ID4gPiB1c2UgdGhpcyBpbmZvcm1hdGlv biBpbiB0aGUgaHBkIGhhbmRsaW5nIHRvIHNlZSBpZiB0aGUgbGluayBpcyBhY3RpdmUKPiA+ID4g PiBvciBub3QsIGFuZCB0aHVzIHdoZXRoZXIgd2UgbWF5IG5lZWQgdG8gcmV0cmFpbi4KPiA+ID4g PiAKPiA+ID4gPiBDYzogQW5kZXIgQ29uc2VsdmFuIGRlIE9saXZlaXJhIDxhbmRlci5jb25zZWx2 YW4uZGUub2xpdmVpcmFAaW50ZWwuY29tPgo+ID4gPiA+IENjOiBKaW0gQnJpZGUgPGppbS5icmlk ZUBsaW51eC5pbnRlbC5jb20+Cj4gPiA+ID4gQ2M6IE1hbmFzaSBEIE5hdmFyZSA8bWFuYXNpLmQu bmF2YXJlQGludGVsLmNvbT4KPiA+ID4gPiBDYzogRHVyZ2Fkb3NzIFIgPGR1cmdhZG9zcy5yQGlu dGVsLmNvbT4KPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5 cmphbGFAbGludXguaW50ZWwuY29tPgo+ID4gPiAKPiA+ID4gSG0sIG1vcmUgc3RhdGUgbm90IGlu IHRoZSBzdGF0ZSBzdHJ1Y3R1cmVzLCBhbmQgbm90IGNyb3NzLWNoZWNrZWQgOiggQmVuCj4gPiA+ IFNrZWdncyBqdXN0IHBpbmdlZCBtZSBvbiB0aGlzLCBhbmQgb25lIG9mIHRoZSBpZGVhcyBoZSdz IG5vdyBsb29raW5nIGludG8KPiA+ID4gaXMgYSBzZXBhcmF0ZSBzdGF0ZSBhcnJheSBmb3IgbXN0 IHBvcnRzIHRvIGZ1bGx5IGtlZXAgdHJhY2sgb2YgdGhpcy4gS2luZGEKPiA+ID4gbGlrZSB3ZSBr ZWVwIHRyYWNrIG9mIHRoZSBzaGFyZWQgZHBsbHMuCj4gPiAKPiA+IFllYWggaXQncyBhIGJpdCBh IG1lc3MuIFRoZSBvdGhlciBvcHRpb24gSSd2ZSBvdXRsaW5lZCBiZWZvcmUgbWlnaHQgYmUgYQo+ ID4gZmFrZSBjcnRjIHRvIGRyaXZlIHRoZSBwcmltYXJ5LCBhbmQgdGhlbiB1c2UgYXRvbWljIGVu YWJsZS9kaXNhYmxlIGl0IGF0Cj4gPiB0aGUgcmlnaHQgdGltZSBkZXBlbmRpbmcgdGhlIHN0YXRl IHRoZSBvZiB0aGUgYWN0dWFsIE1TVCBzdHJlYW1zLgoKV2FzIG1vcmUgdGhpbmtpbmcgb2YgdHJh Y2tpbmcgYSBpbnRlbF9kcF9tc3RfcG9ydF9zdGF0ZSBwZXIgbXN0IGNhcGFibGUKcG9ydC4gQW5k IHRoZW4gdHJlYXRpbmcgaXQgc2ltaWxhcmx5IHRvIGhvdyB3ZSB0cmVhdCB0aGUgc2hhcmVkIGRw bGwsCmluY2x1ZGluZyBzdGF0ZSByZWFkb3V0LCB0cmFja2luZywgY2hlY2tpbmcgYW5kIGFsbCB0 aGF0LiBGYWtlIGNydGMgc2VlbXMKbGlrZSBhYnVzaW5nIHRoZSB3cm9uZyBjb25jZXB0LgoKQnV0 IHRiaCBJJ20gbm90IGVudGlyZWx5IHN1cmUgd2hhdCByZWFsbHkgbWFrZXMgdGhlIG1vc3Qgc2Vu c2UsIG1heWJlCmJldHRlciB0byBrZWVwIG9uIHN0aXRjaGluZyBzdHVmZiB0b2dldGhlciB0byBh dCBsZWFzdCBmaXggdGhlIGJ1Z3MgZm9yCm5vdy4KCj4gPiBTcGVha2luZyBvZiBhdG9taWMvbXN0 LCBJJ20gbm90IHN1cmUgb3VyIGxpbmsgcmV0cmFpbmluZyBpcyByZWFsbHkgZ29vZAo+ID4gZW5v dWdoIGZvciBNU1QuIElJUkMgSSBzYXcgYSBub3RlIGluIHRoZSBzcGVjIHRoYXQgdGhlIHBheWxv YWRzIGFuZAo+ID4gd2hhdG5vdCBtaWdodCBnZXQgZGVhbGxvY2F0ZWQgYnkgdGhlIHNpbmsvaHVi IGlmIHRoZSBsaW5rIGRyb3BzLiBJIHRoaW5rCj4gPiBJIGhhdmUgdG8gcmUtcmVhZCB0aGUgc3Bl YyBhIGZldyB0aW1lcyB0byBtYWtlIHN1cmUsIGJ1dCBpZiB0aGF0J3MgdGhlCj4gPiBjYXNlIHRo ZW4gd2UnZCBoYXZlIHRvIHBpbXAgdXAgdGhlIGxpbmsgcmV0cmFpbmluZyB0byBiZSBNU1QgYXdh cmUuIEJ1dCwKPiA+IEkgaGFkIGFuIGFsdGVybmF0aXZlIGlkZWEgcmVjZW50bHk7IFdoYXQgaWYg d2UganVzdCBmb3JjZSBhIG1vZGVzZXQgb24KPiA+IGFsbCB0aGUgcGlwZXMgb24gdGhhdCBwb3J0 PyBJSVJDIHRoZSBzcGVjIGV2ZW4gc2F5cyB0aGF0IGZvciBsaW5rCj4gPiByZXRyYWluaW5nIHdl IHNob3VsZCByZWFsbHkgYmUgZG9pbmcgbW9yZSBvciBsZXNzIHRoZSBmdWxsIG1vZGVzZXQKPiA+ IHNlcXVlbmNlLiBJdCBzaG91bGQgYWxzbyBnZXQgcmlkIG9mIHRoZSBGSUZPIHVuZGVycnVucyB3 ZSBub3cgZ2V0IGV2ZXJ5Cj4gPiB0aW1lIHdlIHJldHJhaW4gdGhlIGxpbmsuIEFueSB0aG91Z2h0 cz8KPiAKPiBJZiB3ZSBlbnN1cmUgdGhhdCB3ZSB0cmFpbiB0aGUgbGluayBhdCB0aGUgd2lkZXN0 IGFuZCBmYXN0ZXN0IGNvbmZpZ3VyYXRpb24KPiBwb3NzaWJsZSBpbiB0aGUgZmlyc3QgcGxhY2Ug KHdoaWNoIGlzIGhvdyBJIGludGVycHJldCB3aGF0IHRoZSBEUCBzcGVjIHNheXMKPiB0byBkbyBm b3IgbGluayB0cmFpbmluZykgdGhlbiB3ZSBzaG91bGRuJ3QgYmUgaW4gYSBzaXR1YXRpb24gd2hl cmUgd2UgbmVlZAo+IHRvIHJldHJhaW4gdGhlIG1haW4gbGluayB1bmxlc3MgdGhlIGxpbmsgaXMg bG9zdCwgaW4gd2hpY2ggY2FzZSBhbGwgb2YgdGhlCj4gcGlwZXMgJiBwYXlsb2FkcyBhc3NvY2lh dGVkIHdpdGggdGhlIGxpbmsgd2lsbCBuZWVkIHRvIGJlIHJlLWNvbmZpZ3VyZWQKPiBhbnlob3cg KHNpbmNlIHRoZXJlJ3Mgbm8gZ3VhcmFudGVlIHRoYXQgdGhlIGxpbmsgYmFuZHdpZHRoIHdpbGwg YmUgdGhlIHNhbWUKPiBvbmNlIHRoZSByZS10cmFpbmluZyB3YXMgZG9uZS4pICBUaGlzIHNlZW1z IGxpa2UgYSBzaW1wbGVyIHNvbHV0aW9uLCBJTUhPLgoKV2UgYWxyZWFkeSBsaW5rIHRyYWluIHRo ZSB3aWRlc3QvZmFzdGVyIGxpbmsgZm9yIG1zdC4gQW5kIHRoaXMgaXMgYWJvdXQKcmV0cmFpbmlu ZyB3aGVuIHRoZSBsaW5rIGlzIGxvc3QuCgpPbmUgcXVlc3Rpb24gSSBoYXZlIG9uIHRoaXMgcGxh biBpcyB3aGF0IGhhcHBlbnMgZm9yIGEgZnVsbCB1bnBsdWcuIEF0bSBJCnRoaW5rIHdlIGV4cGVj dCB1c2Vyc3BhY2UgdG8gZG8gYSBmdWxsIG1vZGVzZXQgYW5kIHdlIHdvbid0IHJlY29ubmVjdCB0 aGUKY3VycmVudCBzdGF0ZSB0byB0aGUgcmVwbHVnZ2VkIGh3LiBUaGlzIGlzIGEgYml0IGRpZmZl cmVudCBmcm9tIGFsbCBvdGhlcgpjb25uZWN0b3JzIChhbmQgZHAgc3N0KSB3aGVyZSBhbiBhY2Np ZGVudGFsIGNhYmxlIHRyaXAgZG9lc24ndCByZXN1bHQgaW4gYQpibGFjayBzY3JlZW4gKGFzc3Vt aW5nIHVzZXJzcGFjZSBkb2Vzbid0IGZpeCB0aGluZ3MgdXAgb24gaXRzIG93bikuCgpCdXQgcmVj b25uZWN0aW5nIG91ciBpbnRlcm5hbCBkcCBvYmplY3RzIHdpdGggdGhlIHJlcGx1Z2dlZCBwaHlz aWNhbCBvbmVzCm1pZ2h0IGJlIHRyaWNreSwgc28gbm90IHN1cmUgdGhpcyBpcyBhIGZlYXNpYmxl IHBsYW5lLiBCZXNpZGVzIHRoaXMgaXQKbWFrZXMgc2Vuc2UuCi1EYW5pZWwKCgo+IAo+IEppbQo+ IAo+IAo+ID4gPiAKPiA+ID4gQWdhaW4ganVzdCBpZGVhcywgY29kZSBsb29rcyBjb3JyZWN0Lgo+ ID4gPiAKPiA+ID4gUmV2aWV3ZWQtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3 bGwuY2g+Cj4gPiA+IAo+ID4gPiA+IC0tLQo+ID4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kZGkuYyAgICB8IDEwICsrKysrKysrKysKPiA+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHAuYyAgICAgfCAgOCArKysrKysrLQo+ID4gPiA+ICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcF9tc3QuYyB8IDE2ICsrKysrKysrLS0tLS0tLS0KPiA+ID4gPiAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgfCAgMiArLQo+ID4gPiA+ICA0IGZpbGVzIGNo YW5nZWQsIDI2IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQo+ID4gPiA+IAo+ID4gPiA+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gPiA+ID4gaW5kZXggM2IzYTBhODA4NDc3Li5iYzE4 OGVlNmUzN2YgMTAwNjQ0Cj4gPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGRpLmMKPiA+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+ID4g PiA+IEBAIC0xNjE2LDYgKzE2MTYsOSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfcHJlX2VuYWJs ZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlcikKPiA+ID4gPiAgCj4gPiA+ID4g IAkJaW50ZWxfZGRpX2luaXRfZHBfYnVmX3JlZyhpbnRlbF9lbmNvZGVyKTsKPiA+ID4gPiAgCj4g PiA+ID4gKwkJV0FSTl9PTihpbnRlbF9kcC0+YWN0aXZlX3N0cmVhbXMgIT0gMCk7Cj4gPiA+ID4g KwkJaW50ZWxfZHAtPmFjdGl2ZV9zdHJlYW1zKys7Cj4gPiA+ID4gKwo+ID4gPiA+ICAJCWludGVs X2RwX3NpbmtfZHBtcyhpbnRlbF9kcCwgRFJNX01PREVfRFBNU19PTik7Cj4gPiA+ID4gIAkJaW50 ZWxfZHBfc3RhcnRfbGlua190cmFpbihpbnRlbF9kcCk7Cj4gPiA+ID4gIAkJaWYgKHBvcnQgIT0g UE9SVF9BIHx8IElOVEVMX0lORk8oZGV2X3ByaXYpLT5nZW4gPj0gOSkKPiA+ID4gPiBAQCAtMTcz Myw2ICsxNzM2LDEzIEBAIHN0YXRpYyB2b2lkIGludGVsX2Rpc2FibGVfZGRpKHN0cnVjdCBpbnRl bF9lbmNvZGVyICppbnRlbF9lbmNvZGVyKQo+ID4gPiA+ICAJCWludGVsX3Bzcl9kaXNhYmxlKGlu dGVsX2RwKTsKPiA+ID4gPiAgCQlpbnRlbF9lZHBfYmFja2xpZ2h0X29mZihpbnRlbF9kcCk7Cj4g PiA+ID4gIAl9Cj4gPiA+ID4gKwo+ID4gPiA+ICsJaWYgKHR5cGUgPT0gSU5URUxfT1VUUFVUX0RQ IHx8IHR5cGUgPT0gSU5URUxfT1VUUFVUX0VEUCkgewo+ID4gPiA+ICsJCXN0cnVjdCBpbnRlbF9k cCAqaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAoZW5jb2Rlcik7Cj4gPiA+ID4gKwo+ID4gPiA+ ICsJCWludGVsX2RwLT5hY3RpdmVfc3RyZWFtcy0tOwo+ID4gPiA+ICsJCVdBUk5fT04oaW50ZWxf ZHAtPmFjdGl2ZV9zdHJlYW1zICE9IDApOwo+ID4gPiA+ICsJfQo+ID4gPiA+ICB9Cj4gPiA+ID4g IAo+ID4gPiA+ICBib29sIGJ4dF9kZGlfcGh5X2lzX2VuYWJsZWQoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2LAo+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+ID4gPiA+IGlu ZGV4IDAwOTZjNjUxYzIxZi4uM2E5YzVkM2I1YzY2IDEwMDY0NAo+ID4gPiA+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiA+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcC5jCj4gPiA+ID4gQEAgLTI2ODUsNiArMjY4NSw5IEBAIHN0YXRpYyB2b2lk IGludGVsX2VuYWJsZV9kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKPiA+ID4gPiAg CQkJCSAgICBsYW5lX21hc2spOwo+ID4gPiA+ICAJfQo+ID4gPiA+ICAKPiA+ID4gPiArCVdBUk5f T04oaW50ZWxfZHAtPmFjdGl2ZV9zdHJlYW1zICE9IDApOwo+ID4gPiA+ICsJaW50ZWxfZHAtPmFj dGl2ZV9zdHJlYW1zKys7Cj4gPiA+ID4gKwo+ID4gPiA+ICAJaW50ZWxfZHBfc2lua19kcG1zKGlu dGVsX2RwLCBEUk1fTU9ERV9EUE1TX09OKTsKPiA+ID4gPiAgCWludGVsX2RwX3N0YXJ0X2xpbmtf dHJhaW4oaW50ZWxfZHApOwo+ID4gPiA+ICAJaW50ZWxfZHBfc3RvcF9saW5rX3RyYWluKGludGVs X2RwKTsKPiA+ID4gPiBAQCAtMzM0NCw2ICszMzQ3LDkgQEAgaW50ZWxfZHBfbGlua19kb3duKHN0 cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gPiA+ID4gIAo+ID4gPiA+ICAJRFJNX0RFQlVHX0tN UygiXG4iKTsKPiA+ID4gPiAgCj4gPiA+ID4gKwlpbnRlbF9kcC0+YWN0aXZlX3N0cmVhbXMtLTsK PiA+ID4gPiArCVdBUk5fT04oaW50ZWxfZHAtPmFjdGl2ZV9zdHJlYW1zICE9IDApOwo+ID4gPiA+ ICsKPiA+ID4gPiAgCWlmICgoSVNfR0VONyhkZXYpICYmIHBvcnQgPT0gUE9SVF9BKSB8fAo+ID4g PiA+ICAJICAgIChIQVNfUENIX0NQVChkZXYpICYmIHBvcnQgIT0gUE9SVF9BKSkgewo+ID4gPiA+ ICAJCURQICY9IH5EUF9MSU5LX1RSQUlOX01BU0tfQ1BUOwo+ID4gPiA+IEBAIC0zODI2LDcgKzM4 MzIsNyBAQCBnb19hZ2FpbjoKPiA+ID4gPiAgCQlpZiAoYnJldCA9PSB0cnVlKSB7Cj4gPiA+ID4g IAo+ID4gPiA+ICAJCQkvKiBjaGVjayBsaW5rIHN0YXR1cyAtIGVzaVsxMF0gPSAweDIwMGMgKi8K PiA+ID4gPiAtCQkJaWYgKGludGVsX2RwLT5hY3RpdmVfbXN0X2xpbmtzICYmCj4gPiA+ID4gKwkJ CWlmIChpbnRlbF9kcC0+YWN0aXZlX3N0cmVhbXMgJiYKPiA+ID4gPiAgCQkJICAgICFkcm1fZHBf Y2hhbm5lbF9lcV9vaygmZXNpWzEwXSwgaW50ZWxfZHAtPmxhbmVfY291bnQpKSB7Cj4gPiA+ID4g IAkJCQlEUk1fREVCVUdfS01TKCJjaGFubmVsIEVRIG5vdCBvaywgcmV0cmFpbmluZ1xuIik7Cj4g PiA+ID4gIAkJCQlpbnRlbF9kcF9zdGFydF9saW5rX3RyYWluKGludGVsX2RwKTsKPiA+ID4gPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbXN0LmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9tc3QuYwo+ID4gPiA+IGluZGV4IDY4YTAwNWQ3MjllOS4u ODU3Y2ZhNjkyOGIzIDEwMDY0NAo+ID4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RwX21zdC5jCj4gPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBf bXN0LmMKPiA+ID4gPiBAQCAtOTksNyArOTksNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9tc3RfZGlz YWJsZV9kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKPiA+ID4gPiAgCXN0cnVjdCBp bnRlbF9kcCAqaW50ZWxfZHAgPSAmaW50ZWxfZGlnX3BvcnQtPmRwOwo+ID4gPiA+ICAJaW50IHJl dDsKPiA+ID4gPiAgCj4gPiA+ID4gLQlEUk1fREVCVUdfS01TKCIlZFxuIiwgaW50ZWxfZHAtPmFj dGl2ZV9tc3RfbGlua3MpOwo+ID4gPiA+ICsJRFJNX0RFQlVHX0tNUygiJWRcbiIsIGludGVsX2Rw LT5hY3RpdmVfc3RyZWFtcyk7Cj4gPiA+ID4gIAo+ID4gPiA+ICAJZHJtX2RwX21zdF9yZXNldF92 Y3BpX3Nsb3RzKCZpbnRlbF9kcC0+bXN0X21nciwgaW50ZWxfbXN0LT5jb25uZWN0b3ItPnBvcnQp Owo+ID4gPiA+ICAKPiA+ID4gPiBAQCAtMTE1LDcgKzExNSw3IEBAIHN0YXRpYyB2b2lkIGludGVs X21zdF9wb3N0X2Rpc2FibGVfZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCj4gPiA+ ID4gIAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9IGludGVsX21z dC0+cHJpbWFyeTsKPiA+ID4gPiAgCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSAmaW50ZWxf ZGlnX3BvcnQtPmRwOwo+ID4gPiA+ICAKPiA+ID4gPiAtCURSTV9ERUJVR19LTVMoIiVkXG4iLCBp bnRlbF9kcC0+YWN0aXZlX21zdF9saW5rcyk7Cj4gPiA+ID4gKwlEUk1fREVCVUdfS01TKCIlZFxu IiwgaW50ZWxfZHAtPmFjdGl2ZV9zdHJlYW1zKTsKPiA+ID4gPiAgCj4gPiA+ID4gIAkvKiB0aGlz IGNhbiBmYWlsICovCj4gPiA+ID4gIAlkcm1fZHBfY2hlY2tfYWN0X3N0YXR1cygmaW50ZWxfZHAt Pm1zdF9tZ3IpOwo+ID4gPiA+IEBAIC0xMjQsMTAgKzEyNCwxMCBAQCBzdGF0aWMgdm9pZCBpbnRl bF9tc3RfcG9zdF9kaXNhYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQo+ID4g PiA+ICAKPiA+ID4gPiAgCWRybV9kcF9tc3RfZGVhbGxvY2F0ZV92Y3BpKCZpbnRlbF9kcC0+bXN0 X21nciwgaW50ZWxfbXN0LT5jb25uZWN0b3ItPnBvcnQpOwo+ID4gPiA+ICAKPiA+ID4gPiAtCWlu dGVsX2RwLT5hY3RpdmVfbXN0X2xpbmtzLS07Cj4gPiA+ID4gKwlpbnRlbF9kcC0+YWN0aXZlX3N0 cmVhbXMtLTsKPiA+ID4gPiAgCj4gPiA+ID4gIAlpbnRlbF9tc3QtPmNvbm5lY3RvciA9IE5VTEw7 Cj4gPiA+ID4gLQlpZiAoaW50ZWxfZHAtPmFjdGl2ZV9tc3RfbGlua3MgPT0gMCkgewo+ID4gPiA+ ICsJaWYgKGludGVsX2RwLT5hY3RpdmVfc3RyZWFtcyA9PSAwKSB7Cj4gPiA+ID4gIAkJaW50ZWxf ZGlnX3BvcnQtPmJhc2UucG9zdF9kaXNhYmxlKCZpbnRlbF9kaWdfcG9ydC0+YmFzZSk7Cj4gPiA+ ID4gIAkJaW50ZWxfZHBfc2lua19kcG1zKGludGVsX2RwLCBEUk1fTU9ERV9EUE1TX09GRik7Cj4g PiA+ID4gIAl9Cj4gPiA+ID4gQEAgLTE2NSwxMSArMTY1LDExIEBAIHN0YXRpYyB2b2lkIGludGVs X21zdF9wcmVfZW5hYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQo+ID4gPiA+ ICAJICovCj4gPiA+ID4gIAlmb3VuZC0+ZW5jb2RlciA9IGVuY29kZXI7Cj4gPiA+ID4gIAo+ID4g PiA+IC0JRFJNX0RFQlVHX0tNUygiJWRcbiIsIGludGVsX2RwLT5hY3RpdmVfbXN0X2xpbmtzKTsK PiA+ID4gPiArCURSTV9ERUJVR19LTVMoIiVkXG4iLCBpbnRlbF9kcC0+YWN0aXZlX3N0cmVhbXMp Owo+ID4gPiA+ICAKPiA+ID4gPiAgCWludGVsX21zdC0+Y29ubmVjdG9yID0gZm91bmQ7Cj4gPiA+ ID4gIAo+ID4gPiA+IC0JaWYgKGludGVsX2RwLT5hY3RpdmVfbXN0X2xpbmtzID09IDApIHsKPiA+ ID4gPiArCWlmIChpbnRlbF9kcC0+YWN0aXZlX3N0cmVhbXMgPT0gMCkgewo+ID4gPiA+ICAJCWlu dGVsX3ByZXBhcmVfZGRpX2J1ZmZlcigmaW50ZWxfZGlnX3BvcnQtPmJhc2UpOwo+ID4gPiA+ICAK PiA+ID4gPiAgCQlpbnRlbF9kZGlfY2xrX3NlbGVjdCgmaW50ZWxfZGlnX3BvcnQtPmJhc2UsIGlu dGVsX2NydGMtPmNvbmZpZyk7Cj4gPiA+ID4gQEAgLTE5Myw3ICsxOTMsNyBAQCBzdGF0aWMgdm9p ZCBpbnRlbF9tc3RfcHJlX2VuYWJsZV9kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikK PiA+ID4gPiAgCX0KPiA+ID4gPiAgCj4gPiA+ID4gIAo+ID4gPiA+IC0JaW50ZWxfZHAtPmFjdGl2 ZV9tc3RfbGlua3MrKzsKPiA+ID4gPiArCWludGVsX2RwLT5hY3RpdmVfc3RyZWFtcysrOwo+ID4g PiA+ICAJdGVtcCA9IEk5MTVfUkVBRChEUF9UUF9TVEFUVVMocG9ydCkpOwo+ID4gPiA+ICAJSTkx NV9XUklURShEUF9UUF9TVEFUVVMocG9ydCksIHRlbXApOwo+ID4gPiA+ICAKPiA+ID4gPiBAQCAt MjEwLDcgKzIxMCw3IEBAIHN0YXRpYyB2b2lkIGludGVsX21zdF9lbmFibGVfZHAoc3RydWN0IGlu dGVsX2VuY29kZXIgKmVuY29kZXIpCj4gPiA+ID4gIAllbnVtIHBvcnQgcG9ydCA9IGludGVsX2Rp Z19wb3J0LT5wb3J0Owo+ID4gPiA+ICAJaW50IHJldDsKPiA+ID4gPiAgCj4gPiA+ID4gLQlEUk1f REVCVUdfS01TKCIlZFxuIiwgaW50ZWxfZHAtPmFjdGl2ZV9tc3RfbGlua3MpOwo+ID4gPiA+ICsJ RFJNX0RFQlVHX0tNUygiJWRcbiIsIGludGVsX2RwLT5hY3RpdmVfc3RyZWFtcyk7Cj4gPiA+ID4g IAo+ID4gPiA+ICAJaWYgKGludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKGRldl9wcml2LAo+ID4gPiA+ ICAJCQkJICAgIERQX1RQX1NUQVRVUyhwb3J0KSwKPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cnYuaAo+ID4gPiA+IGluZGV4IDcwZDdmMzNkNjc0Ny4uN2ZlZjE4Mjg4YWEyIDEwMDY0NAo+ID4g PiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPiA+ID4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+ID4gPiBAQCAtODk0LDcgKzg5NCw3 IEBAIHN0cnVjdCBpbnRlbF9kcCB7Cj4gPiA+ID4gIAo+ID4gPiA+ICAJYm9vbCBjYW5fbXN0OyAv KiB0aGlzIHBvcnQgc3VwcG9ydHMgbXN0ICovCj4gPiA+ID4gIAlib29sIGlzX21zdDsKPiA+ID4g PiAtCWludCBhY3RpdmVfbXN0X2xpbmtzOwo+ID4gPiA+ICsJaW50IGFjdGl2ZV9zdHJlYW1zOyAv KiBudW1iZXIgb2YgYWN0aXZlIHN0cmVhbXMgKGZvciBTU1QgYW5kIE1TVCBib3RoKSAqLwo+ID4g PiA+ICAJLyogY29ubmVjdG9yIGRpcmVjdGx5IGF0dGFjaGVkIC0gd29uJ3QgYmUgdXNlIGZvciBt b2Rlc2V0IGluIG1zdCB3b3JsZCAqLwo+ID4gPiA+ICAJc3RydWN0IGludGVsX2Nvbm5lY3RvciAq YXR0YWNoZWRfY29ubmVjdG9yOwo+ID4gPiA+ICAKPiA+ID4gPiAtLSAKPiA+ID4gPiAyLjcuNAo+ ID4gPiA+IAo+ID4gPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCj4gPiA+ID4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+ID4gPiA+IEludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKPiA+ID4gPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo+ID4gPiAKPiA+ID4gLS0gCj4gPiA+IERhbmll bCBWZXR0ZXIKPiA+ID4gU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCj4gPiA+ IGh0dHA6Ly9ibG9nLmZmd2xsLmNoCj4gPiAKPiA+IC0tIAo+ID4gVmlsbGUgU3lyasOkbMOkCj4g PiBJbnRlbCBPVEMKPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCj4gPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gPiBJbnRlbC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCj4gPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ludGVsLWdmeAoKLS0gCkRhbmllbCBWZXR0ZXIKU29mdHdhcmUgRW5naW5lZXIsIElu dGVsIENvcnBvcmF0aW9uCmh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=