From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jim Bride Subject: Re: [PATCH 1/4] drm/i915/edp: Allow alternate fixed mode for eDP if available. Date: Mon, 8 May 2017 09:52:30 -0700 Message-ID: <20170508165230.GA3243@shiv> References: <1494018126-30190-1-git-send-email-jim.bride@linux.intel.com> <1494018126-30190-2-git-send-email-jim.bride@linux.intel.com> <87o9v3afuw.fsf@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9AF8D89089 for ; Mon, 8 May 2017 16:54:35 +0000 (UTC) Content-Disposition: inline In-Reply-To: <87o9v3afuw.fsf@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Jani Nikula Cc: intel-gfx@lists.freedesktop.org, Paulo Zanoni , Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCBNYXkgMDgsIDIwMTcgYXQgMTE6NTQ6MTVBTSArMDMwMCwgSmFuaSBOaWt1bGEgd3Jv dGU6Cj4gT24gU2F0LCAwNiBNYXkgMjAxNywgSmltIEJyaWRlIDxqaW0uYnJpZGVAbGludXguaW50 ZWwuY29tPiB3cm90ZToKPiA+IFNvbWUgZml4ZWQgcmVzb2x1dGlvbiBwYW5lbHMgYWN0dWFsbHkg c3VwcG9ydCBtb3JlIHRoYW4gb25lIG1vZGUsCj4gPiB3aXRoIHRoZSBvbmx5IHRoaW5nIGRpZmZl cmVudCBiZWluZyB0aGUgcmVmcmVzaCByYXRlLiAgSGF2aW5nIHRoaXMKPiA+IGFsdGVybmF0ZSBt b2RlIGF2YWlsYWJsZSB0byB1cyBpcyBkZXNpcmFibGUsIGJlY2F1c2UgaXQgYWxsb3dzIHVzIHRv Cj4gPiB0ZXN0IFBTUiBvbiBwYW5lbHMgd2hvc2Ugc2V0dXAgdGltZSBhdCB0aGUgcHJlZmVycmVk IG1vZGUgaXMgdG9vIGxvbmcuCj4gPiBXaXRoIHRoaXMgcGF0Y2ggd2UgYWxsb3cgdGhlIHVzZSBv ZiB0aGUgYWx0ZXJuYXRlIG1vZGUgaWYgaXQncwo+ID4gYXZhaWxhYmxlIGFuZCBpdCB3YXMgc3Bl Y2lmaWNhbGx5IHJlcXVlc3RlZC4KPiAKPiBBbGwgaW4gYWxsIHRoaXMgZmVlbHMgbGlrZSBhIGhh Y2suIFRoZSBnZW5lcmljIHNvbHV0aW9uIHdvdWxkIGJlIHRvCj4gYWxsb3cgYW55IG1vZGUgdG8g YmUgc2V0IGFnYWluLgoKVG8gYW4gZXh0ZW50LCBJIGFncmVlIHdpdGggeW91LiAgSSBkaWQgdGhp bmdzIHRoaXMgd2F5IGluIGFuIGF0dGVtcHQKdG8gY2hhbmdlIHRoZSBjdXJyZW50IGJlaGF2aW9y IGFzIGxpdHRsZSBhcyBwb3NzaWJsZS4gIFBlcnNvbmFsbHksCkknZCByYXRoZXIgc2VlIHVzIGFs bG93IGFueSBzdXBwb3J0ZWQgbW9kZSB0byBiZSBzZXQuCgo+IEEgZmV3IHNwZWNpZmljIGNvbW1l bnRzIGlubGluZS4KPiAKPiBCUiwKPiBKYW5pLgo+IAo+ID4gQ2M6IFJvZHJpZ28gVml2aSA8cm9k cmlnby52aXZpQGludGVsLmNvbT4KPiA+IENjOiBQYXVsbyBaYW5vbmkgPHBhdWxvLnIuemFub25p QGludGVsLmNvbT4KPiA+IFNpZ25lZC1vZmYtYnk6IEppbSBCcmlkZSA8amltLmJyaWRlQGxpbnV4 LmludGVsLmNvbT4KPiA+IC0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMg ICAgfCAzNCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tCj4gPiAgZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICB8ICAyICsrCj4gPiAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHNpLmMgICB8ICAyICstCj4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHZvLmMgICB8ICAyICstCj4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHZkcy5jICB8 ICAzICsrLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMgfCAgMiArKwo+ ID4gIDYgZmlsZXMgY2hhbmdlZCwgMzcgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKPiA+ Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiA+IGluZGV4IDA4ODM0ZjcuLmQ0NmY3MmQgMTAw NjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gPiBAQCAtMTYzNyw2ICsxNjM3LDE5IEBA IHN0YXRpYyBpbnQgaW50ZWxfZHBfY29tcHV0ZV9icHAoc3RydWN0IGludGVsX2RwICppbnRlbF9k cCwKPiA+ICAJcmV0dXJuIGJwcDsKPiA+ICB9Cj4gPiAgCj4gPiArc3RhdGljIGJvb2wgaW50ZWxf ZWRwX2NvbXBhcmVfYWx0X21vZGUoc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm0xLAo+ID4gKwkJ CQkgICAgICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm0yKQo+ID4gK3sKPiA+ICsJcmV0dXJu IChtMS0+aGRpc3BsYXkgPT0gbTItPmhkaXNwbGF5ICYmCj4gPiArCQltMS0+aHN5bmNfc3RhcnQg PT0gbTItPmhzeW5jX3N0YXJ0ICYmCj4gPiArCQltMS0+aHN5bmNfZW5kID09IG0yLT5oc3luY19l bmQgJiYKPiA+ICsJCW0xLT5odG90YWwgPT0gbTItPmh0b3RhbCAmJgo+ID4gKwkJbTEtPnZkaXNw bGF5ID09IG0yLT52ZGlzcGxheSAmJgo+ID4gKwkJbTEtPnZzeW5jX3N0YXJ0ID09IG0yLT52c3lu Y19zdGFydCAmJgo+ID4gKwkJbTEtPnZzeW5jX2VuZCA9PSBtMi0+dnN5bmNfZW5kICYmCj4gPiAr CQltMS0+dnRvdGFsID09IG0yLT52dG90YWwpOwo+ID4gK30KPiAKPiBTZWUgZHJtX21vZGVfZXF1 YWwgYW5kIGZyaWVuZHMuCgpJIGRpZC4gIFRoZSBwcm9ibGVtIGlzIHRoYXQgSSBuZWVkZWQgYSBj b21wYXJpc29uIHdpdGhvdXQgdnNjYW4gYmVpbmcKaW52b2x2ZWQgKHNlZSBkcm1fbW9kZV9lcXVh bF9ub19jbG9ja3Nfbm9fc3RlcmVvKCksIHdoZXJlIHRoZSBhY3R1YWwKY29tcGFyaXNvbiBoYXBw ZW5zLikgIFRoaXMgc2VlbWVkIGxpa2UgdGhlIGxlYXN0IGRpc3J1cHRpdmUgd2F5IHRvIGRvCnRo YXQgY29tcGFyaXNvbi4KCj4gCj4gPiArCj4gPiAgYm9vbAo+ID4gIGludGVsX2RwX2NvbXB1dGVf Y29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ID4gIAkJCXN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKPiA+IEBAIC0xNjc0LDggKzE2ODcsMTYgQEAgaW50 ZWxfZHBfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gPiAg CXBpcGVfY29uZmlnLT5oYXNfYXVkaW8gPSBpbnRlbF9kcC0+aGFzX2F1ZGlvICYmIHBvcnQgIT0g UE9SVF9BOwo+ID4gIAo+ID4gIAlpZiAoaXNfZWRwKGludGVsX2RwKSAmJiBpbnRlbF9jb25uZWN0 b3ItPnBhbmVsLmZpeGVkX21vZGUpIHsKPiA+IC0JCWludGVsX2ZpeGVkX3BhbmVsX21vZGUoaW50 ZWxfY29ubmVjdG9yLT5wYW5lbC5maXhlZF9tb2RlLAo+ID4gLQkJCQkgICAgICAgYWRqdXN0ZWRf bW9kZSk7Cj4gPiArCQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqcGFuZWxfbW9kZSA9Cj4gPiAr CQkJaW50ZWxfY29ubmVjdG9yLT5wYW5lbC5hbHRfZml4ZWRfbW9kZTsKPiA+ICsJCXN0cnVjdCBk cm1fZGlzcGxheV9tb2RlICpyZXFfbW9kZSA9ICZwaXBlX2NvbmZpZy0+YmFzZS5tb2RlOwo+ID4g Kwo+ID4gKwkJaWYgKCFpbnRlbF9lZHBfY29tcGFyZV9hbHRfbW9kZShyZXFfbW9kZSwgcGFuZWxf bW9kZSkpCj4gPiArCQkJcGFuZWxfbW9kZSA9IGludGVsX2Nvbm5lY3Rvci0+cGFuZWwuZml4ZWRf bW9kZTsKPiA+ICsKPiA+ICsJCWRybV9tb2RlX2RlYnVnX3ByaW50bW9kZWxpbmUocGFuZWxfbW9k ZSk7Cj4gPiArCj4gPiArCQlpbnRlbF9maXhlZF9wYW5lbF9tb2RlKHBhbmVsX21vZGUsIGFkanVz dGVkX21vZGUpOwo+ID4gIAo+ID4gIAkJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSkgewo+ ID4gIAkJCWludCByZXQ7Cj4gPiBAQCAtNTgyOSw2ICs1ODUwLDcgQEAgc3RhdGljIGJvb2wgaW50 ZWxfZWRwX2luaXRfY29ubmVjdG9yKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCj4gPiAgCXN0 cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBpbnRlbF9lbmNvZGVyLT5iYXNlLmRldjsKPiA+ICAJc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwo+ID4gIAlzdHJ1 Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqZml4ZWRfbW9kZSA9IE5VTEw7Cj4gPiArCXN0cnVjdCBkcm1f ZGlzcGxheV9tb2RlICphbHRfZml4ZWRfbW9kZSA9IE5VTEw7Cj4gPiAgCXN0cnVjdCBkcm1fZGlz cGxheV9tb2RlICpkb3duY2xvY2tfbW9kZSA9IE5VTEw7Cj4gPiAgCWJvb2wgaGFzX2RwY2Q7Cj4g PiAgCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpzY2FuOwo+ID4gQEAgLTU4ODQsMTMgKzU5MDYs MTQgQEAgc3RhdGljIGJvb2wgaW50ZWxfZWRwX2luaXRfY29ubmVjdG9yKHN0cnVjdCBpbnRlbF9k cCAqaW50ZWxfZHAsCj4gPiAgCX0KPiA+ICAJaW50ZWxfY29ubmVjdG9yLT5lZGlkID0gZWRpZDsK PiA+ICAKPiA+IC0JLyogcHJlZmVyIGZpeGVkIG1vZGUgZnJvbSBFRElEIGlmIGF2YWlsYWJsZSAq Lwo+ID4gKwkvKiBwcmVmZXIgZml4ZWQgbW9kZSBmcm9tIEVESUQgaWYgYXZhaWxhYmxlLCBzYXZl IGFuIGFsdCBtb2RlIGFsc28gKi8KPiA+ICAJbGlzdF9mb3JfZWFjaF9lbnRyeShzY2FuLCAmY29u bmVjdG9yLT5wcm9iZWRfbW9kZXMsIGhlYWQpIHsKPiA+ICAJCWlmICgoc2Nhbi0+dHlwZSAmIERS TV9NT0RFX1RZUEVfUFJFRkVSUkVEKSkgewo+ID4gIAkJCWZpeGVkX21vZGUgPSBkcm1fbW9kZV9k dXBsaWNhdGUoZGV2LCBzY2FuKTsKPiA+ICAJCQlkb3duY2xvY2tfbW9kZSA9IGludGVsX2RwX2Ry cnNfaW5pdCgKPiA+ICAJCQkJCQlpbnRlbF9jb25uZWN0b3IsIGZpeGVkX21vZGUpOwo+ID4gLQkJ CWJyZWFrOwo+ID4gKwkJfSBlbHNlIHsKPiA+ICsJCQlhbHRfZml4ZWRfbW9kZSA9IGRybV9tb2Rl X2R1cGxpY2F0ZShkZXYsIHNjYW4pOwo+ID4gIAkJfQo+IAo+IFRoaXMgY2hhbmdlcyB0aGUgZml4 ZWQgbW9kZSBpZiB0aGVyZSBhcmUgbW9yZSB0aGFuIG9uZSBwcmVmZXJyZWQKPiBtb2RlLiBUaGlz IHdpbGwgYWxzbyBsZWFrIGFsbCBidXQgdGhlIHR3byBtb2Rlcy4KCkkgd2Fzbid0IGF3YXJlIHRo ZXJlIGNhbiBiZSBtb3JlIHRoYW4gb25lIHByZWZlcnJlZCBtb2RlLiAgSSB0aG91Z2h0CnRoZSB3 aG9sZSBpZGVhIHdhcyB0byBoYXZlIGEgd2F5IG9mIGRlc2lnbmF0aW5nIG9uZSBtb2RlIG9mIG1h bnkKdGhhdCB3b3VsZCBwcm92aWRlIChhdCBsZWFzdCBpbiB0aGUgb3BpbmlvbiBvZiB0aGUgcGFu ZWwncyBtYWtlcnMpCnRoZSBtb2RlIHRoYXQgd2lsbCBwcm92aWRlIHRoZSBiZXN0IHVzZXIgZXhw ZXJpZW5jZS4gIEZXSVcsIG9uIHRoZQpwYW5lbHMgSSd2ZSB0ZXN0ZWQgd2l0aCBJIGhhdmVuJ3Qg c2VlbiBtb3JlIHRoYW4gdHdvIG1vZGVzIHN1cHBvcnRlZApuYXRpdmVseSBpbiBhbnkgY2FzZS4g IElmIHdlIGZvbGxvdyB5b3VyIGVhcmxpZXIgc3VnZ2VzdGlvbiBhYm91dApqdXN0IGxldHRpbmcg bW9kZSBzZXRzIGhhcHBlbiBvbiBhbGwgc3VwcG9ydGVkIG1vZGVzIHRoZW4gYWxsIG9mIHRoaXMK c3R1ZmYgZ29lcyBhd2F5LgoKCkppbQoKPiAKPiA+ICAJfQo+ID4gIAo+ID4gQEAgLTU5MjcsNyAr NTk1MCw4IEBAIHN0YXRpYyBib29sIGludGVsX2VkcF9pbml0X2Nvbm5lY3RvcihzdHJ1Y3QgaW50 ZWxfZHAgKmludGVsX2RwLAo+ID4gIAkJCSAgICAgIHBpcGVfbmFtZShwaXBlKSk7Cj4gPiAgCX0K PiA+ICAKPiA+IC0JaW50ZWxfcGFuZWxfaW5pdCgmaW50ZWxfY29ubmVjdG9yLT5wYW5lbCwgZml4 ZWRfbW9kZSwgZG93bmNsb2NrX21vZGUpOwo+ID4gKwlpbnRlbF9wYW5lbF9pbml0KCZpbnRlbF9j b25uZWN0b3ItPnBhbmVsLCBmaXhlZF9tb2RlLCBhbHRfZml4ZWRfbW9kZSwKPiA+ICsJCQkgZG93 bmNsb2NrX21vZGUpOwo+ID4gIAlpbnRlbF9jb25uZWN0b3ItPnBhbmVsLmJhY2tsaWdodC5wb3dl ciA9IGludGVsX2VkcF9iYWNrbGlnaHRfcG93ZXI7Cj4gPiAgCWludGVsX3BhbmVsX3NldHVwX2Jh Y2tsaWdodChjb25uZWN0b3IsIHBpcGUpOwo+ID4gIAo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2 LmgKPiA+IGluZGV4IDU0ZjNmZjguLjE5ZDBjOGYgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHJ2LmgKPiA+IEBAIC0yNjUsNiArMjY1LDcgQEAgc3RydWN0IGludGVsX2VuY29kZXIgewo+ ID4gIAo+ID4gIHN0cnVjdCBpbnRlbF9wYW5lbCB7Cj4gPiAgCXN0cnVjdCBkcm1fZGlzcGxheV9t b2RlICpmaXhlZF9tb2RlOwo+ID4gKwlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWx0X2ZpeGVk X21vZGU7Cj4gPiAgCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpkb3duY2xvY2tfbW9kZTsKPiA+ ICAJaW50IGZpdHRpbmdfbW9kZTsKPiA+ICAKPiA+IEBAIC0xNjc2LDYgKzE2NzcsNyBAQCB2b2lk IGludGVsX292ZXJsYXlfcmVzZXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsK PiA+ICAvKiBpbnRlbF9wYW5lbC5jICovCj4gPiAgaW50IGludGVsX3BhbmVsX2luaXQoc3RydWN0 IGludGVsX3BhbmVsICpwYW5lbCwKPiA+ICAJCSAgICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUg KmZpeGVkX21vZGUsCj4gPiArCQkgICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphbHRfZml4 ZWRfbW9kZSwKPiA+ICAJCSAgICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmRvd25jbG9ja19t b2RlKTsKPiA+ICB2b2lkIGludGVsX3BhbmVsX2Zpbmkoc3RydWN0IGludGVsX3BhbmVsICpwYW5l bCk7Cj4gPiAgdm9pZCBpbnRlbF9maXhlZF9wYW5lbF9tb2RlKGNvbnN0IHN0cnVjdCBkcm1fZGlz cGxheV9tb2RlICpmaXhlZF9tb2RlLAo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RzaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmMKPiA+IGlu ZGV4IGZjMGVmNDkuLmE5MzhmMDggMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kc2kuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmMK PiA+IEBAIC0xODUyLDcgKzE4NTIsNyBAQCB2b2lkIGludGVsX2RzaV9pbml0KHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiA+ICAJY29ubmVjdG9yLT5kaXNwbGF5X2luZm8ud2lk dGhfbW0gPSBmaXhlZF9tb2RlLT53aWR0aF9tbTsKPiA+ICAJY29ubmVjdG9yLT5kaXNwbGF5X2lu Zm8uaGVpZ2h0X21tID0gZml4ZWRfbW9kZS0+aGVpZ2h0X21tOwo+ID4gIAo+ID4gLQlpbnRlbF9w YW5lbF9pbml0KCZpbnRlbF9jb25uZWN0b3ItPnBhbmVsLCBmaXhlZF9tb2RlLCBOVUxMKTsKPiA+ ICsJaW50ZWxfcGFuZWxfaW5pdCgmaW50ZWxfY29ubmVjdG9yLT5wYW5lbCwgZml4ZWRfbW9kZSwg TlVMTCwgTlVMTCk7Cj4gPiAgCWludGVsX3BhbmVsX3NldHVwX2JhY2tsaWdodChjb25uZWN0b3Is IElOVkFMSURfUElQRSk7Cj4gPiAgCj4gPiAgCWludGVsX2RzaV9hZGRfcHJvcGVydGllcyhpbnRl bF9jb25uZWN0b3IpOwo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2R2by5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHZvLmMKPiA+IGluZGV4IGMxNTQ0 YTUuLjM5ZmQ0ZjMgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k dm8uYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHZvLmMKPiA+IEBAIC01 NTQsNyArNTU0LDcgQEAgdm9pZCBpbnRlbF9kdm9faW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYpCj4gPiAgCQkJICovCj4gPiAgCQkJaW50ZWxfcGFuZWxfaW5pdCgmaW50ZWxf Y29ubmVjdG9yLT5wYW5lbCwKPiA+ICAJCQkJCSBpbnRlbF9kdm9fZ2V0X2N1cnJlbnRfbW9kZShj b25uZWN0b3IpLAo+ID4gLQkJCQkJIE5VTEwpOwo+ID4gKwkJCQkJIE5VTEwsIE5VTEwpOwo+ID4g IAkJCWludGVsX2R2by0+cGFuZWxfd2FudHNfZGl0aGVyID0gdHJ1ZTsKPiA+ICAJCX0KPiA+ICAK PiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sdmRzLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sdmRzLmMKPiA+IGluZGV4IDhiOTQyZWYuLmIxZTY3NDMg MTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sdmRzLmMKPiA+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2x2ZHMuYwo+ID4gQEAgLTExODEsNyArMTE4 MSw4IEBAIHZvaWQgaW50ZWxfbHZkc19pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdikKPiA+ICBvdXQ6Cj4gPiAgCW11dGV4X3VubG9jaygmZGV2LT5tb2RlX2NvbmZpZy5tdXRl eCk7Cj4gPiAgCj4gPiAtCWludGVsX3BhbmVsX2luaXQoJmludGVsX2Nvbm5lY3Rvci0+cGFuZWws IGZpeGVkX21vZGUsIGRvd25jbG9ja19tb2RlKTsKPiA+ICsJaW50ZWxfcGFuZWxfaW5pdCgmaW50 ZWxfY29ubmVjdG9yLT5wYW5lbCwgZml4ZWRfbW9kZSwgTlVMTCwKPiA+ICsJCQkgZG93bmNsb2Nr X21vZGUpOwo+ID4gIAlpbnRlbF9wYW5lbF9zZXR1cF9iYWNrbGlnaHQoY29ubmVjdG9yLCBJTlZB TElEX1BJUEUpOwo+ID4gIAo+ID4gIAlsdmRzX2VuY29kZXItPmlzX2R1YWxfbGluayA9IGNvbXB1 dGVfaXNfZHVhbF9saW5rX2x2ZHMobHZkc19lbmNvZGVyKTsKPiA+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wYW5lbC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcGFuZWwuYwo+ID4gaW5kZXggY2I1MGM1Mi4uNDFlYjdiMCAxMDA2NDQKPiA+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3BhbmVsLmMKPiA+IEBAIC0xODAxLDExICsxODAxLDEzIEBAIGludGVsX3Bh bmVsX2luaXRfYmFja2xpZ2h0X2Z1bmNzKHN0cnVjdCBpbnRlbF9wYW5lbCAqcGFuZWwpCj4gPiAg Cj4gPiAgaW50IGludGVsX3BhbmVsX2luaXQoc3RydWN0IGludGVsX3BhbmVsICpwYW5lbCwKPiA+ ICAJCSAgICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmZpeGVkX21vZGUsCj4gPiArCQkgICAg IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphbHRfZml4ZWRfbW9kZSwKPiA+ICAJCSAgICAgc3Ry dWN0IGRybV9kaXNwbGF5X21vZGUgKmRvd25jbG9ja19tb2RlKQo+ID4gIHsKPiA+ICAJaW50ZWxf cGFuZWxfaW5pdF9iYWNrbGlnaHRfZnVuY3MocGFuZWwpOwo+ID4gIAo+ID4gIAlwYW5lbC0+Zml4 ZWRfbW9kZSA9IGZpeGVkX21vZGU7Cj4gPiArCXBhbmVsLT5hbHRfZml4ZWRfbW9kZSA9IGFsdF9m aXhlZF9tb2RlOwo+ID4gIAlwYW5lbC0+ZG93bmNsb2NrX21vZGUgPSBkb3duY2xvY2tfbW9kZTsK PiA+ICAKPiA+ICAJcmV0dXJuIDA7Cj4gCj4gLS0gCj4gSmFuaSBOaWt1bGEsIEludGVsIE9wZW4g U291cmNlIFRlY2hub2xvZ3kgQ2VudGVyCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ludGVsLWdmeAo=