From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v2 6/9] drm/i915: Disable all infoframes when turning off the HDMI port Date: Tue, 2 Jun 2015 14:11:13 +0300 Message-ID: <20150602111113.GV5176@intel.com> References: <1430834787-10255-1-git-send-email-ville.syrjala@linux.intel.com> <1430834787-10255-7-git-send-email-ville.syrjala@linux.intel.com> <76A9B330A4D78C4D99CB292C4CC06C0E36FEEECC@fmsmsx101.amr.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 2950189FD4 for ; Tue, 2 Jun 2015 04:11:24 -0700 (PDT) Content-Disposition: inline In-Reply-To: <76A9B330A4D78C4D99CB292C4CC06C0E36FEEECC@fmsmsx101.amr.corp.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Konduru, Chandra" Cc: "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCBKdW4gMDEsIDIwMTUgYXQgMTA6NDg6MDNQTSArMDAwMCwgS29uZHVydSwgQ2hhbmRy YSB3cm90ZToKPiAKPiAKPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tCj4gPiBGcm9tOiBJ bnRlbC1nZnggW21haWx0bzppbnRlbC1nZngtYm91bmNlc0BsaXN0cy5mcmVlZGVza3RvcC5vcmdd IE9uIEJlaGFsZiBPZgo+ID4gdmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20KPiA+IFNlbnQ6 IFR1ZXNkYXksIE1heSAwNSwgMjAxNSA3OjA2IEFNCj4gPiBUbzogaW50ZWwtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwo+ID4gU3ViamVjdDogW0ludGVsLWdmeF0gW1BBVENIIHYyIDYvOV0gZHJt L2k5MTU6IERpc2FibGUgYWxsIGluZm9mcmFtZXMgd2hlbgo+ID4gdHVybmluZyBvZmYgdGhlIEhE TUkgcG9ydAo+ID4gCj4gPiBGcm9tOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGlu dXguaW50ZWwuY29tPgo+ID4gCj4gPiBDdXJyZW50bHkgd2UganVzdCBkaXNhYmxlIHRoZSBHQ1Ag aW5mb2ZyYW1lIHdoZW4gdHVybmluZyBvZmYgdGhlIHBvcnQuCj4gPiBUaGF0IG1lYW5zIGlmIHRo ZSBzYW1lIHRyYW5zY29kZXIgaXMgdXNlZCBvbiBhIERQIHBvcnQgbmV4dCwgd2UgbWlnaHQKPiA+ IGVuZCB1cCBwdXNoaW5nIGluZm9mcmFtZXMgb3ZlciBEUCwgd2hpY2ggaXNuJ3QgaW50ZW5kZWQu IEp1c3QgZGlzYWJsZQo+IAo+IFdvbmRlciBob3cgaXQgaXMgd29ya2luZy4gTWF5IGJlIGl0IGlz IG9rLCBvciBuZXZlciBoaXQgdXNpbmcgYSBwcmV2aW91c2x5IAo+IHVzZWQgdHJhbnNjb2RlciBm b3IgSERNSSBwb3J0IGZvciBEUC4KPiAKPiBCeSB0aGUgd2F5LCB5b3UgbWVhbiBlbmQgdXAgcHVz aGluZyAib3RoZXIiIGluZm9mcmFtZXMgb3ZlciBEUD8KCldlIGRvbid0IHNlbmQgaW5mb2ZyYW1l cyBvdmVyIERQIGF0IGFsbCBjdXJyZW50bHkuIE9yIEkgc2hvdWxkIHNheSB3ZQpuZXZlciBpbnRl bmRlZCB0byBzZW5kIHRoZW0uIEFmdGVyIHRoaXMgcGF0Y2ggdGhhdCBzaG91bGQgZXZlbiBiZSB0 cnVlLgpXZWxsLCB1bmxlc3MgdGhlIEJJT1MgYWxyZWFkeSBlbmFibGVzIHRoZW0gYW5kIHdlIGp1 c3QgZmlyZSB1cCBhIERQIHBvcnQKdXNpbmcgdGhlIHRyYW5zY29kZXIgaW4gcXVlc3Rpb24uIFNv IEkgc3VwcG9zZSB3ZSBzaG91bGQgcmVhbGx5IGhhdmUgdGhlCkRQIGNvZGUgY2xlYXIgdGhlIGlu Zm9mcmFtZSBzZXR0aW5ncyBleHBsaWNpdGx5LCBvciB3ZSBzaG91bGQgY2xlYXIgdGhlbQpkdXJp bmcgdGhlIHNhbml0aXplIHBoYXNlLgoKPiAKPiA+IGFsbCB0aGUgaW5mb2ZyYW1lcyB3aGVuIHR1 cm5pbmcgb2ZmIHRoZSBwb3J0Lgo+ID4gCj4gPiBBbHNvIHByb3RlY3QgYWdhaW5zdCB0d28gcG9y dHMgc3RvbXBpbmcgb24gZWFjaCBvdGhlciBvbiBnNHggZHVlIHRvCj4gPiB0aGUgc2luZ2xlIHZp ZGVvIERJUCBpbnN0YW5jZS4gTm93IG9ubHkgdGhlIGZpcnN0IHBvcnQgdG8gZW5hYmxlCj4gPiBn ZXRzIHRvIHNlbmQgaW5mb2ZyYW1lcy4KPiAKPiBTbyBpcywgMm5kIHBvcnQgZG9lc24ndCBnZXRz IHRvIHNlbmQgaW5mb2ZyYW1lcywgdGhlIGV4cGVjdGVkIGJlaGF2aW9yIAo+IHdoZW4gdHdvIHBv cnRzIHRyeWluZyB3aXRoIGEgc2luZ2xlIERJUD8KCkknbSBub3Qgc3VyZSB3aGF0J3MgdGhlIGJl c3QgYmVoYXZpb3VyIGhlcmUuIEVpdGhlciB3ZSBzb21laG93IHBpY2sgb25lCm9mIHRoZSBwb3J0 cyB0byBzZW5kIGluZm9mcmFtZXMgKGZpcnN0IGNvbWUgZmlyc3Qgc2VydmUgaW4gdGhpcyBwYXRj aCksCm9yIHdlIGNvdWxkIGp1c3QgZGlzYWJsZSBpbmZvZnJhbWVzIGVudGlyZWx5IGZvciBjbG9u ZWQgY2FzZXMuIEJ1dCBpdCdzCnByb2JhYmx5IGEgcmFyZSBjb25maWd1cmF0aW9uIGFueXdheSBz aW5jZSBIRE1JIGNsb25pbmcgaXMgb25seSBhbGxvd2VkCm9uIGc0eC4KCj4gCj4gU2VlbXMgbGlr ZSBhIGNvcm5lciBjYXNlIHRvIHRlc3QgdGhvcm91Z2hseS4gSXMgdGhpcyBwYXRoIGV4ZXJjaXNl ZCBpbiB5b3VyIHRlc3Rpbmc/CgpJIHRlc3RlZCBpdCBsb25nIGFnby4gQWx0aG91Z2ggSSBtdXN0 IGFkbWl0IHRoYXQgdGhlIHBhdGNoIGxvb2tlZCBhIGJpdApkaWZmZXJlbnQgYmFjayB0aGVuLgoK PiAKPiA+IAo+ID4gdjI6IFJlYmFzZQo+ID4gCj4gPiBTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJq w6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+ID4gLS0tCj4gPiAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jIHwgODUgKysrKysrKysrKysrKysrKysrLS0tLS0t LS0tLS0tLS0tLS0tLS0tCj4gPiAgMSBmaWxlIGNoYW5nZWQsIDQwIGluc2VydGlvbnMoKyksIDQ1 IGRlbGV0aW9ucygtKQo+ID4gCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfaGRtaS5jCj4gPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwo+ID4g aW5kZXggNzY2YmRiMS4uMDNiNDc1OSAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2hkbWkuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRt aS5jCj4gPiBAQCAtNTE0LDcgKzUxNCwxMyBAQCBzdGF0aWMgdm9pZCBnNHhfc2V0X2luZm9mcmFt ZXMoc3RydWN0IGRybV9lbmNvZGVyCj4gPiAqZW5jb2RlciwKPiA+ICAJaWYgKCFlbmFibGUpIHsK PiA+ICAJCWlmICghKHZhbCAmIFZJREVPX0RJUF9FTkFCTEUpKQo+ID4gIAkJCXJldHVybjsKPiA+ IC0JCXZhbCAmPSB+VklERU9fRElQX0VOQUJMRTsKPiA+ICsJCWlmIChwb3J0ICE9ICh2YWwgJiBW SURFT19ESVBfUE9SVF9NQVNLKSkgewo+ID4gKwkJCURSTV9ERUJVR19LTVMoInZpZGVvIERJUCBz dGlsbCBlbmFibGVkIG9uIHBvcnQKPiA+ICVjXG4iLAo+ID4gKwkJCQkgICAgICAodmFsICYgVklE RU9fRElQX1BPUlRfTUFTSykgPj4gMjkpOwo+ID4gKwkJCXJldHVybjsKPiA+ICsJCX0KPiA+ICsJ CXZhbCAmPSB+KFZJREVPX0RJUF9FTkFCTEUgfCBWSURFT19ESVBfRU5BQkxFX0FWSSB8Cj4gPiAr CQkJIFZJREVPX0RJUF9FTkFCTEVfVkVORE9SIHwKPiA+IFZJREVPX0RJUF9FTkFCTEVfU1BEKTsK PiA+ICAJCUk5MTVfV1JJVEUocmVnLCB2YWwpOwo+ID4gIAkJUE9TVElOR19SRUFEKHJlZyk7Cj4g PiAgCQlyZXR1cm47Cj4gPiBAQCAtNTIyLDE2ICs1MjgsMTcgQEAgc3RhdGljIHZvaWQgZzR4X3Nl dF9pbmZvZnJhbWVzKHN0cnVjdCBkcm1fZW5jb2Rlcgo+ID4gKmVuY29kZXIsCj4gPiAKPiA+ICAJ aWYgKHBvcnQgIT0gKHZhbCAmIFZJREVPX0RJUF9QT1JUX01BU0spKSB7Cj4gPiAgCQlpZiAodmFs ICYgVklERU9fRElQX0VOQUJMRSkgewo+ID4gLQkJCXZhbCAmPSB+VklERU9fRElQX0VOQUJMRTsK PiA+IC0JCQlJOTE1X1dSSVRFKHJlZywgdmFsKTsKPiA+IC0JCQlQT1NUSU5HX1JFQUQocmVnKTsK PiA+ICsJCQlEUk1fREVCVUdfS01TKCJ2aWRlbyBESVAgYWxyZWFkeSBlbmFibGVkIG9uIHBvcnQK PiA+ICVjXG4iLAo+ID4gKwkJCQkgICAgICAodmFsICYgVklERU9fRElQX1BPUlRfTUFTSykgPj4g MjkpOwo+ID4gKwkJCXJldHVybjsKPiA+ICAJCX0KPiA+ICAJCXZhbCAmPSB+VklERU9fRElQX1BP UlRfTUFTSzsKPiA+ICAJCXZhbCB8PSBwb3J0Owo+ID4gIAl9Cj4gPiAKPiA+ICAJdmFsIHw9IFZJ REVPX0RJUF9FTkFCTEU7Cj4gPiAtCXZhbCAmPSB+VklERU9fRElQX0VOQUJMRV9WRU5ET1I7Cj4g PiArCXZhbCAmPSB+KFZJREVPX0RJUF9FTkFCTEVfQVZJIHwKPiA+ICsJCSBWSURFT19ESVBfRU5B QkxFX1ZFTkRPUiB8IFZJREVPX0RJUF9FTkFCTEVfU1BEKTsKPiA+IAo+ID4gIAlJOTE1X1dSSVRF KHJlZywgdmFsKTsKPiA+ICAJUE9TVElOR19SRUFEKHJlZyk7Cj4gPiBAQCAtNjMyLDIzICs2Mzks NiBAQCBzdGF0aWMgYm9vbCBpbnRlbF9oZG1pX3NldF9nY3BfaW5mb2ZyYW1lKHN0cnVjdAo+ID4g ZHJtX2VuY29kZXIgKmVuY29kZXIpCj4gPiAgCXJldHVybiB2YWwgIT0gMDsKPiA+ICB9Cj4gPiAK PiA+IC1zdGF0aWMgdm9pZCBpbnRlbF9kaXNhYmxlX2djcF9pbmZvZnJhbWUoc3RydWN0IGludGVs X2NydGMgKmNydGMpCj4gPiAtewo+ID4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSBjcnRjLT5iYXNlLmRldi0+ZGV2X3ByaXZhdGU7Cj4gPiAtCXUzMiByZWc7Cj4gPiAtCj4g PiAtCWlmIChIQVNfRERJKGRldl9wcml2KSkKPiA+IC0JCXJlZyA9IEhTV19UVklERU9fRElQX0NU TChjcnRjLT5jb25maWctPmNwdV90cmFuc2NvZGVyKTsKPiA+IC0JZWxzZSBpZiAoSVNfVkFMTEVZ VklFVyhkZXZfcHJpdikpCj4gPiAtCQlyZWcgPSBWTFZfVFZJREVPX0RJUF9DVEwoY3J0Yy0+cGlw ZSk7Cj4gPiAtCWVsc2UgaWYgKEhBU19QQ0hfU1BMSVQoZGV2X3ByaXYtPmRldikpCj4gPiAtCQly ZWcgPSBUVklERU9fRElQX0NUTChjcnRjLT5waXBlKTsKPiA+IC0JZWxzZQo+ID4gLQkJcmV0dXJu Owo+ID4gLQo+ID4gLQlJOTE1X1dSSVRFKHJlZywgSTkxNV9SRUFEKHJlZykgJiB+VklERU9fRElQ X0VOQUJMRV9HQ1ApOwo+ID4gLX0KPiA+IC0KPiA+ICBzdGF0aWMgdm9pZCBpYnhfc2V0X2luZm9m cmFtZXMoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAo+ID4gIAkJCSAgICAgICBib29sIGVu YWJsZSwKPiA+ICAJCQkgICAgICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21v ZGUpCj4gPiBAQCAtNjY5LDI1ICs2NTksMjYgQEAgc3RhdGljIHZvaWQgaWJ4X3NldF9pbmZvZnJh bWVzKHN0cnVjdCBkcm1fZW5jb2Rlcgo+ID4gKmVuY29kZXIsCj4gPiAgCWlmICghZW5hYmxlKSB7 Cj4gPiAgCQlpZiAoISh2YWwgJiBWSURFT19ESVBfRU5BQkxFKSkKPiA+ICAJCQlyZXR1cm47Cj4g PiAtCQl2YWwgJj0gflZJREVPX0RJUF9FTkFCTEU7Cj4gPiArCQl2YWwgJj0gfihWSURFT19ESVBf RU5BQkxFIHwgVklERU9fRElQX0VOQUJMRV9BVkkgfAo+ID4gKwkJCSBWSURFT19ESVBfRU5BQkxF X1ZFTkRPUiB8IFZJREVPX0RJUF9FTkFCTEVfR0FNVVQgfAo+ID4gKwkJCSBWSURFT19ESVBfRU5B QkxFX1NQRCB8IFZJREVPX0RJUF9FTkFCTEVfR0NQKTsKPiA+ICAJCUk5MTVfV1JJVEUocmVnLCB2 YWwpOwo+ID4gIAkJUE9TVElOR19SRUFEKHJlZyk7Cj4gPiAgCQlyZXR1cm47Cj4gPiAgCX0KPiA+ IAo+ID4gIAlpZiAocG9ydCAhPSAodmFsICYgVklERU9fRElQX1BPUlRfTUFTSykpIHsKPiA+IC0J CWlmICh2YWwgJiBWSURFT19ESVBfRU5BQkxFKSB7Cj4gPiAtCQkJdmFsICY9IH5WSURFT19ESVBf RU5BQkxFOwo+ID4gLQkJCUk5MTVfV1JJVEUocmVnLCB2YWwpOwo+ID4gLQkJCVBPU1RJTkdfUkVB RChyZWcpOwo+ID4gLQkJfQo+ID4gKwkJV0FSTih2YWwgJiBWSURFT19ESVBfRU5BQkxFLAo+ID4g KwkJICAgICAiRElQIGFscmVhZHkgZW5hYmxlZCBvbiBwb3J0ICVjXG4iLAo+ID4gKwkJICAgICAo dmFsICYgVklERU9fRElQX1BPUlRfTUFTSykgPj4gMjkpOwo+ID4gIAkJdmFsICY9IH5WSURFT19E SVBfUE9SVF9NQVNLOwo+ID4gIAkJdmFsIHw9IHBvcnQ7Cj4gPiAgCX0KPiA+IAo+ID4gIAl2YWwg fD0gVklERU9fRElQX0VOQUJMRTsKPiA+IC0JdmFsICY9IH4oVklERU9fRElQX0VOQUJMRV9WRU5E T1IgfCBWSURFT19ESVBfRU5BQkxFX0dBTVVUIHwKPiA+IC0JCSBWSURFT19ESVBfRU5BQkxFX0dD UCk7Cj4gPiArCXZhbCAmPSB+KFZJREVPX0RJUF9FTkFCTEVfQVZJIHwKPiA+ICsJCSBWSURFT19E SVBfRU5BQkxFX1ZFTkRPUiB8IFZJREVPX0RJUF9FTkFCTEVfR0FNVVQgfAo+ID4gKwkJIFZJREVP X0RJUF9FTkFCTEVfU1BEIHwgVklERU9fRElQX0VOQUJMRV9HQ1ApOwo+ID4gCj4gPiAgCWlmIChp bnRlbF9oZG1pX3NldF9nY3BfaW5mb2ZyYW1lKGVuY29kZXIpKQo+ID4gIAkJdmFsIHw9IFZJREVP X0RJUF9FTkFCTEVfR0NQOwo+ID4gQEAgLTcxOCw3ICs3MDksOSBAQCBzdGF0aWMgdm9pZCBjcHRf c2V0X2luZm9mcmFtZXMoc3RydWN0IGRybV9lbmNvZGVyCj4gPiAqZW5jb2RlciwKPiA+ICAJaWYg KCFlbmFibGUpIHsKPiA+ICAJCWlmICghKHZhbCAmIFZJREVPX0RJUF9FTkFCTEUpKQo+ID4gIAkJ CXJldHVybjsKPiA+IC0JCXZhbCAmPSB+KFZJREVPX0RJUF9FTkFCTEUgfCBWSURFT19ESVBfRU5B QkxFX0FWSSk7Cj4gPiArCQl2YWwgJj0gfihWSURFT19ESVBfRU5BQkxFIHwgVklERU9fRElQX0VO QUJMRV9BVkkgfAo+ID4gKwkJCSBWSURFT19ESVBfRU5BQkxFX1ZFTkRPUiB8Cj4gPiBWSURFT19E SVBfRU5BQkxFX0dBTVVUIHwKPiA+ICsJCQkgVklERU9fRElQX0VOQUJMRV9TUEQgfCBWSURFT19E SVBfRU5BQkxFX0dDUCk7Cj4gPiAgCQlJOTE1X1dSSVRFKHJlZywgdmFsKTsKPiA+ICAJCVBPU1RJ TkdfUkVBRChyZWcpOwo+ID4gIAkJcmV0dXJuOwo+ID4gQEAgLTcyNyw3ICs3MjAsNyBAQCBzdGF0 aWMgdm9pZCBjcHRfc2V0X2luZm9mcmFtZXMoc3RydWN0IGRybV9lbmNvZGVyCj4gPiAqZW5jb2Rl ciwKPiA+ICAJLyogU2V0IGJvdGggdG9nZXRoZXIsIHVuc2V0IGJvdGggdG9nZXRoZXI6IHNlZSB0 aGUgc3BlYy4gKi8KPiA+ICAJdmFsIHw9IFZJREVPX0RJUF9FTkFCTEUgfCBWSURFT19ESVBfRU5B QkxFX0FWSTsKPiA+ICAJdmFsICY9IH4oVklERU9fRElQX0VOQUJMRV9WRU5ET1IgfCBWSURFT19E SVBfRU5BQkxFX0dBTVVUIHwKPiA+IC0JCSBWSURFT19ESVBfRU5BQkxFX0dDUCk7Cj4gPiArCQkg VklERU9fRElQX0VOQUJMRV9TUEQgfCBWSURFT19ESVBfRU5BQkxFX0dDUCk7Cj4gPiAKPiA+ICAJ aWYgKGludGVsX2hkbWlfc2V0X2djcF9pbmZvZnJhbWUoZW5jb2RlcikpCj4gPiAgCQl2YWwgfD0g VklERU9fRElQX0VOQUJMRV9HQ1A7Cj4gPiBAQCAtNzYwLDI1ICs3NTMsMjYgQEAgc3RhdGljIHZv aWQgdmx2X3NldF9pbmZvZnJhbWVzKHN0cnVjdCBkcm1fZW5jb2Rlcgo+ID4gKmVuY29kZXIsCj4g PiAgCWlmICghZW5hYmxlKSB7Cj4gPiAgCQlpZiAoISh2YWwgJiBWSURFT19ESVBfRU5BQkxFKSkK PiA+ICAJCQlyZXR1cm47Cj4gPiAtCQl2YWwgJj0gflZJREVPX0RJUF9FTkFCTEU7Cj4gPiArCQl2 YWwgJj0gfihWSURFT19ESVBfRU5BQkxFIHwgVklERU9fRElQX0VOQUJMRV9BVkkgfAo+ID4gKwkJ CSBWSURFT19ESVBfRU5BQkxFX1ZFTkRPUiB8IFZJREVPX0RJUF9FTkFCTEVfR0FNVVQgfAo+ID4g KwkJCSBWSURFT19ESVBfRU5BQkxFX1NQRCB8IFZJREVPX0RJUF9FTkFCTEVfR0NQKTsKPiA+ICAJ CUk5MTVfV1JJVEUocmVnLCB2YWwpOwo+ID4gIAkJUE9TVElOR19SRUFEKHJlZyk7Cj4gPiAgCQly ZXR1cm47Cj4gPiAgCX0KPiA+IAo+ID4gIAlpZiAocG9ydCAhPSAodmFsICYgVklERU9fRElQX1BP UlRfTUFTSykpIHsKPiA+IC0JCWlmICh2YWwgJiBWSURFT19ESVBfRU5BQkxFKSB7Cj4gPiAtCQkJ dmFsICY9IH5WSURFT19ESVBfRU5BQkxFOwo+ID4gLQkJCUk5MTVfV1JJVEUocmVnLCB2YWwpOwo+ ID4gLQkJCVBPU1RJTkdfUkVBRChyZWcpOwo+ID4gLQkJfQo+ID4gKwkJV0FSTih2YWwgJiBWSURF T19ESVBfRU5BQkxFLAo+ID4gKwkJICAgICAiRElQIGFscmVhZHkgZW5hYmxlZCBvbiBwb3J0ICVj XG4iLAo+ID4gKwkJICAgICAodmFsICYgVklERU9fRElQX1BPUlRfTUFTSykgPj4gMjkpOwo+ID4g IAkJdmFsICY9IH5WSURFT19ESVBfUE9SVF9NQVNLOwo+ID4gIAkJdmFsIHw9IHBvcnQ7Cj4gPiAg CX0KPiA+IAo+ID4gIAl2YWwgfD0gVklERU9fRElQX0VOQUJMRTsKPiA+IC0JdmFsICY9IH4oVklE RU9fRElQX0VOQUJMRV9BVkkgfCBWSURFT19ESVBfRU5BQkxFX1ZFTkRPUiB8Cj4gPiAtCQkgVklE RU9fRElQX0VOQUJMRV9HQU1VVCB8IFZJREVPX0RJUF9FTkFCTEVfR0NQKTsKPiA+ICsJdmFsICY9 IH4oVklERU9fRElQX0VOQUJMRV9BVkkgfAo+ID4gKwkJIFZJREVPX0RJUF9FTkFCTEVfVkVORE9S IHwgVklERU9fRElQX0VOQUJMRV9HQU1VVCB8Cj4gPiArCQkgVklERU9fRElQX0VOQUJMRV9TUEQg fCBWSURFT19ESVBfRU5BQkxFX0dDUCk7Cj4gPiAKPiA+ICAJaWYgKGludGVsX2hkbWlfc2V0X2dj cF9pbmZvZnJhbWUoZW5jb2RlcikpCj4gPiAgCQl2YWwgfD0gVklERU9fRElQX0VOQUJMRV9HQ1A7 Cj4gPiBAQCAtODAzLDE1ICs3OTcsMTYgQEAgc3RhdGljIHZvaWQgaHN3X3NldF9pbmZvZnJhbWVz KHN0cnVjdCBkcm1fZW5jb2Rlcgo+ID4gKmVuY29kZXIsCj4gPiAKPiA+ICAJYXNzZXJ0X2hkbWlf cG9ydF9kaXNhYmxlZChpbnRlbF9oZG1pKTsKPiA+IAo+ID4gKwl2YWwgJj0gfihWSURFT19ESVBf RU5BQkxFX1ZTQ19IU1cgfCBWSURFT19ESVBfRU5BQkxFX0FWSV9IU1cgfAo+ID4gKwkJIFZJREVP X0RJUF9FTkFCTEVfR0NQX0hTVyB8IFZJREVPX0RJUF9FTkFCTEVfVlNfSFNXIHwKPiA+ICsJCSBW SURFT19ESVBfRU5BQkxFX0dNUF9IU1cgfCBWSURFT19ESVBfRU5BQkxFX1NQRF9IU1cpOwo+ID4g Kwo+ID4gIAlpZiAoIWVuYWJsZSkgewo+ID4gLQkJSTkxNV9XUklURShyZWcsIDApOwo+ID4gKwkJ STkxNV9XUklURShyZWcsIHZhbCk7Cj4gPiAgCQlQT1NUSU5HX1JFQUQocmVnKTsKPiA+ICAJCXJl dHVybjsKPiA+ICAJfQo+ID4gCj4gPiAtCXZhbCAmPSB+KFZJREVPX0RJUF9FTkFCTEVfVlNDX0hT VyB8IFZJREVPX0RJUF9FTkFCTEVfR0NQX0hTVyB8Cj4gPiAtCQkgVklERU9fRElQX0VOQUJMRV9W U19IU1cgfCBWSURFT19ESVBfRU5BQkxFX0dNUF9IU1cpOwo+ID4gLQo+ID4gIAlpZiAoaW50ZWxf aGRtaV9zZXRfZ2NwX2luZm9mcmFtZShlbmNvZGVyKSkKPiA+ICAJCXZhbCB8PSBWSURFT19ESVBf RU5BQkxFX0dDUF9IU1c7Cj4gPiAKPiA+IEBAIC0xMTMzLDcgKzExMjgsNyBAQCBzdGF0aWMgdm9p ZCBpbnRlbF9kaXNhYmxlX2hkbWkoc3RydWN0IGludGVsX2VuY29kZXIKPiA+ICplbmNvZGVyKQo+ ID4gIAlpZiAoSVNfQ0hFUlJZVklFVyhkZXYpKQo+ID4gIAkJY2h2X3Bvd2VyZ2F0ZV9waHlfbGFu ZXMoZW5jb2RlciwgMHhmKTsKPiA+IAo+ID4gLQlpbnRlbF9kaXNhYmxlX2djcF9pbmZvZnJhbWUo dG9faW50ZWxfY3J0YyhlbmNvZGVyLT5iYXNlLmNydGMpKTsKPiA+ICsJaW50ZWxfaGRtaS0+c2V0 X2luZm9mcmFtZXMoJmVuY29kZXItPmJhc2UsIGZhbHNlLCBOVUxMKTsKPiA+ICB9Cj4gPiAKPiA+ ICBzdGF0aWMgaW50IGhkbWlfcG9ydGNsb2NrX2xpbWl0KHN0cnVjdCBpbnRlbF9oZG1pICpoZG1p LCBib29sIHJlc3BlY3RfZHZpX2xpbWl0KQo+ID4gLS0KPiA+IDIuMC41Cj4gPiAKPiA+IF9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPiBJbnRlbC1nZngg bWFpbGluZyBsaXN0Cj4gPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPiBodHRw Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4CgotLSAK VmlsbGUgU3lyasOkbMOkCkludGVsIE9UQwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ludGVsLWdmeAo=