From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH v6] drm/i915/edp: Allow alternate fixed mode for eDP if available. Date: Thu, 10 Aug 2017 16:13:44 +0300 Message-ID: <87y3qrsgzb.fsf@intel.com> References: <1502308133-26892-1-git-send-email-jim.bride@linux.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 ESMTPS id EFA9C6E52F for ; Thu, 10 Aug 2017 13:14:03 +0000 (UTC) In-Reply-To: <1502308133-26892-1-git-send-email-jim.bride@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Jim Bride , intel-gfx@lists.freedesktop.org Cc: Paulo Zanoni , Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCAwOSBBdWcgMjAxNywgSmltIEJyaWRlIDxqaW0uYnJpZGVAbGludXguaW50ZWwuY29t PiB3cm90ZToKPiBTb21lIGZpeGVkIHJlc29sdXRpb24gcGFuZWxzIGFjdHVhbGx5IHN1cHBvcnQg bW9yZSB0aGFuIG9uZSBtb2RlLAo+IHdpdGggdGhlIG9ubHkgdGhpbmcgZGlmZmVyZW50IGJlaW5n IHRoZSByZWZyZXNoIHJhdGUuICBIYXZpbmcgdGhpcwo+IGFsdGVybmF0ZSBtb2RlIGF2YWlsYWJs ZSB0byB1cyBpcyBkZXNpcmFibGUsIGJlY2F1c2UgaXQgYWxsb3dzIHVzIHRvCj4gdGVzdCBQU1Ig b24gcGFuZWxzIHdob3NlIHNldHVwIHRpbWUgYXQgdGhlIHByZWZlcnJlZCBtb2RlIGlzIHRvbyBs b25nLgo+IFdpdGggdGhpcyBwYXRjaCB3ZSBhbGxvdyB0aGUgdXNlIG9mIHRoZSBhbHRlcm5hdGUg bW9kZSBpZiBpdCdzCj4gYXZhaWxhYmxlIGFuZCBpdCB3YXMgc3BlY2lmaWNhbGx5IHJlcXVlc3Rl ZC4KPgo+IHYyIGFuZCB2MzogUmViYXNlCj4gdjQ6ICogRml4IHVwIHNvbWUgbGVha3kgbW9kZSBz dHVmZiAoQ2hyaXMpCj4gICAgICogUmViYXNlCj4gdjU6ICogRml4IGEgTlVMTCBwb2ludGVyIGRl cmVmcmVuY2UgKERhdmlkIFdlaW5laGFsbCkKPiB2NjogKiBXaGl0ZXNwYWNlIC8gc3BlbGxpbmcg LyBjaGVja3BhdGNoIGNsZWFuLXVwOyBubyBmdW5jdGlvbmFsCj4gICAgICAgY2hhbmdlLiAoRGF2 aWQpCj4gICAgICogUmViYXNlCj4KPiBDYzogRGF2aWQgV2VpbmVoYWxsIDxkYXZpZC53ZWluZWhh bGxAbGludXguaW50ZWwuY29tPgo+IENjOiBSb2RyaWdvIFZpdmkgPHJvZHJpZ28udml2aUBpbnRl bC5jb20+Cj4gQ2M6IFBhdWxvIFphbm9uaSA8cGF1bG8uci56YW5vbmlAaW50ZWwuY29tPgo+IENj OiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAaW50ZWwuY29tPgo+IENjOiBDaHJpcyBXaWxzb24g PGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KPiBSZXZpZXdlZC1ieTogRGF2aWQgV2VpbmVoYWxs IDxkYXZpZC53ZWluZWhhbGxAbGludXguaW50ZWwuY29tPgo+IFNpZ25lZC1vZmYtYnk6IEppbSBC cmlkZSA8amltLmJyaWRlQGxpbnV4LmludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHAuYyAgICB8IDM4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr Ky0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgfCAgMiArKwo+ICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuYyAgIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHZvLmMgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2x2ZHMuYyAgfCAgMyArKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGFuZWwu YyB8ICA2ICsrKysrKwo+ICA2IGZpbGVzIGNoYW5nZWQsIDQ1IGluc2VydGlvbnMoKyksIDggZGVs ZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiBpbmRleCA3NmM4YTBiLi41NzZi NWFmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gQEAgLTE2MDYsNiArMTYwNiwyMyBA QCBzdGF0aWMgaW50IGludGVsX2RwX2NvbXB1dGVfYnBwKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxf ZHAsCj4gIAlyZXR1cm4gYnBwOwo+ICB9Cj4gIAo+ICtzdGF0aWMgYm9vbCBpbnRlbF9lZHBfY29t cGFyZV9hbHRfbW9kZShzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbTEsCj4gKwkJCQkgICAgICAg c3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm0yKQo+ICt7Cj4gKwlib29sIGJyZXMgPSBmYWxzZTsK CldoYXQgaXMgYnJlcz8KCj4gKwo+ICsJaWYgKG0xICYmIG0yKQo+ICsJCWJyZXMgPSAobTEtPmhk aXNwbGF5ID09IG0yLT5oZGlzcGxheSAmJgo+ICsJCQltMS0+aHN5bmNfc3RhcnQgPT0gbTItPmhz eW5jX3N0YXJ0ICYmCj4gKwkJCW0xLT5oc3luY19lbmQgPT0gbTItPmhzeW5jX2VuZCAmJgo+ICsJ CQltMS0+aHRvdGFsID09IG0yLT5odG90YWwgJiYKPiArCQkJbTEtPnZkaXNwbGF5ID09IG0yLT52 ZGlzcGxheSAmJgo+ICsJCQltMS0+dnN5bmNfc3RhcnQgPT0gbTItPnZzeW5jX3N0YXJ0ICYmCj4g KwkJCW0xLT52c3luY19lbmQgPT0gbTItPnZzeW5jX2VuZCAmJgo+ICsJCQltMS0+dnRvdGFsID09 IG0yLT52dG90YWwpOwo+ICsJcmV0dXJuIGJyZXM7CgpZb3Uga25vdyB5b3UgY291bGQganVzdCBk bwoKCXJldHVybiBtMSAmJiBtMiAmJiBtMS0+aGRpc3BsYXkgPT0gbTItPmhkaXNwbGF5ICYmIC4u LgoKQnV0IEknbSBuaXRwaWNraW5nLgoKQlIsCkphbmkuCgoKPiArfQo+ICsKPiAgYm9vbAo+ICBp bnRlbF9kcF9jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAg CQkJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAo+IEBAIC0xNjUyLDggKzE2 NjksMTYgQEAgaW50ZWxfZHBfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVu Y29kZXIsCj4gIAkJcGlwZV9jb25maWctPmhhc19hdWRpbyA9IGludGVsX2Nvbm5fc3RhdGUtPmZv cmNlX2F1ZGlvID09IEhETUlfQVVESU9fT047Cj4gIAo+ICAJaWYgKGlzX2VkcChpbnRlbF9kcCkg JiYgaW50ZWxfY29ubmVjdG9yLT5wYW5lbC5maXhlZF9tb2RlKSB7Cj4gLQkJaW50ZWxfZml4ZWRf cGFuZWxfbW9kZShpbnRlbF9jb25uZWN0b3ItPnBhbmVsLmZpeGVkX21vZGUsCj4gLQkJCQkgICAg ICAgYWRqdXN0ZWRfbW9kZSk7Cj4gKwkJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKnBhbmVsX21v ZGUgPQo+ICsJCQlpbnRlbF9jb25uZWN0b3ItPnBhbmVsLmFsdF9maXhlZF9tb2RlOwo+ICsJCXN0 cnVjdCBkcm1fZGlzcGxheV9tb2RlICpyZXFfbW9kZSA9ICZwaXBlX2NvbmZpZy0+YmFzZS5tb2Rl Owo+ICsKPiArCQlpZiAoIWludGVsX2VkcF9jb21wYXJlX2FsdF9tb2RlKHJlcV9tb2RlLCBwYW5l bF9tb2RlKSkKPiArCQkJcGFuZWxfbW9kZSA9IGludGVsX2Nvbm5lY3Rvci0+cGFuZWwuZml4ZWRf bW9kZTsKPiArCj4gKwkJZHJtX21vZGVfZGVidWdfcHJpbnRtb2RlbGluZShwYW5lbF9tb2RlKTsK PiArCj4gKwkJaW50ZWxfZml4ZWRfcGFuZWxfbW9kZShwYW5lbF9tb2RlLCBhZGp1c3RlZF9tb2Rl KTsKPiAgCj4gIAkJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSkgewo+ICAJCQlpbnQgcmV0 Owo+IEBAIC01NzgwLDYgKzU4MDUsNyBAQCBzdGF0aWMgYm9vbCBpbnRlbF9lZHBfaW5pdF9jb25u ZWN0b3Ioc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpk ZXYgPSBpbnRlbF9lbmNvZGVyLT5iYXNlLmRldjsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKPiAgCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpm aXhlZF9tb2RlID0gTlVMTDsKPiArCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphbHRfZml4ZWRf bW9kZSA9IE5VTEw7Cj4gIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqZG93bmNsb2NrX21vZGUg PSBOVUxMOwo+ICAJYm9vbCBoYXNfZHBjZDsKPiAgCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpz Y2FuOwo+IEBAIC01ODM1LDEzICs1ODYxLDE0IEBAIHN0YXRpYyBib29sIGludGVsX2VkcF9pbml0 X2Nvbm5lY3RvcihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAo+ICAJfQo+ICAJaW50ZWxfY29u bmVjdG9yLT5lZGlkID0gZWRpZDsKPiAgCj4gLQkvKiBwcmVmZXIgZml4ZWQgbW9kZSBmcm9tIEVE SUQgaWYgYXZhaWxhYmxlICovCj4gKwkvKiBwcmVmZXIgZml4ZWQgbW9kZSBmcm9tIEVESUQgaWYg YXZhaWxhYmxlLCBzYXZlIGFuIGFsdCBtb2RlIGFsc28gKi8KPiAgCWxpc3RfZm9yX2VhY2hfZW50 cnkoc2NhbiwgJmNvbm5lY3Rvci0+cHJvYmVkX21vZGVzLCBoZWFkKSB7Cj4gIAkJaWYgKChzY2Fu LT50eXBlICYgRFJNX01PREVfVFlQRV9QUkVGRVJSRUQpKSB7Cj4gIAkJCWZpeGVkX21vZGUgPSBk cm1fbW9kZV9kdXBsaWNhdGUoZGV2LCBzY2FuKTsKPiAgCQkJZG93bmNsb2NrX21vZGUgPSBpbnRl bF9kcF9kcnJzX2luaXQoCj4gIAkJCQkJCWludGVsX2Nvbm5lY3RvciwgZml4ZWRfbW9kZSk7Cj4g LQkJCWJyZWFrOwo+ICsJCX0gZWxzZSBpZiAoIWFsdF9maXhlZF9tb2RlKSB7Cj4gKwkJCWFsdF9m aXhlZF9tb2RlID0gZHJtX21vZGVfZHVwbGljYXRlKGRldiwgc2Nhbik7Cj4gIAkJfQo+ICAJfQo+ ICAKPiBAQCAtNTg3OCw3ICs1OTA1LDggQEAgc3RhdGljIGJvb2wgaW50ZWxfZWRwX2luaXRfY29u bmVjdG9yKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCj4gIAkJCSAgICAgIHBpcGVfbmFtZShw aXBlKSk7Cj4gIAl9Cj4gIAo+IC0JaW50ZWxfcGFuZWxfaW5pdCgmaW50ZWxfY29ubmVjdG9yLT5w YW5lbCwgZml4ZWRfbW9kZSwgZG93bmNsb2NrX21vZGUpOwo+ICsJaW50ZWxfcGFuZWxfaW5pdCgm aW50ZWxfY29ubmVjdG9yLT5wYW5lbCwgZml4ZWRfbW9kZSwgYWx0X2ZpeGVkX21vZGUsCj4gKwkJ CSBkb3duY2xvY2tfbW9kZSk7Cj4gIAlpbnRlbF9jb25uZWN0b3ItPnBhbmVsLmJhY2tsaWdodC5w b3dlciA9IGludGVsX2VkcF9iYWNrbGlnaHRfcG93ZXI7Cj4gIAlpbnRlbF9wYW5lbF9zZXR1cF9i YWNrbGlnaHQoY29ubmVjdG9yLCBwaXBlKTsKPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgK PiBpbmRleCBmOTFkZTljLi5iM2ZjYmI5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgK PiBAQCAtMjY1LDYgKzI2NSw3IEBAIHN0cnVjdCBpbnRlbF9lbmNvZGVyIHsKPiAgCj4gIHN0cnVj dCBpbnRlbF9wYW5lbCB7Cj4gIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqZml4ZWRfbW9kZTsK PiArCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphbHRfZml4ZWRfbW9kZTsKPiAgCXN0cnVjdCBk cm1fZGlzcGxheV9tb2RlICpkb3duY2xvY2tfbW9kZTsKPiAgCj4gIAkvKiBiYWNrbGlnaHQgKi8K PiBAQCAtMTY3OSw2ICsxNjgwLDcgQEAgdm9pZCBpbnRlbF9vdmVybGF5X3Jlc2V0KHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cj4gIC8qIGludGVsX3BhbmVsLmMgKi8KPiAgaW50 IGludGVsX3BhbmVsX2luaXQoc3RydWN0IGludGVsX3BhbmVsICpwYW5lbCwKPiAgCQkgICAgIHN0 cnVjdCBkcm1fZGlzcGxheV9tb2RlICpmaXhlZF9tb2RlLAo+ICsJCSAgICAgc3RydWN0IGRybV9k aXNwbGF5X21vZGUgKmFsdF9maXhlZF9tb2RlLAo+ICAJCSAgICAgc3RydWN0IGRybV9kaXNwbGF5 X21vZGUgKmRvd25jbG9ja19tb2RlKTsKPiAgdm9pZCBpbnRlbF9wYW5lbF9maW5pKHN0cnVjdCBp bnRlbF9wYW5lbCAqcGFuZWwpOwo+ICB2b2lkIGludGVsX2ZpeGVkX3BhbmVsX21vZGUoY29uc3Qg c3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmZpeGVkX21vZGUsCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHNpLmMKPiBpbmRleCBiMGIzYWRmLi5mMGMxMWFlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RzaS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHNpLmMKPiBAQCAtMTg0OSw3ICsxODQ5LDcgQEAgdm9pZCBpbnRlbF9kc2lfaW5pdChzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIAljb25uZWN0b3ItPmRpc3BsYXlfaW5mby53 aWR0aF9tbSA9IGZpeGVkX21vZGUtPndpZHRoX21tOwo+ICAJY29ubmVjdG9yLT5kaXNwbGF5X2lu Zm8uaGVpZ2h0X21tID0gZml4ZWRfbW9kZS0+aGVpZ2h0X21tOwo+ICAKPiAtCWludGVsX3BhbmVs X2luaXQoJmludGVsX2Nvbm5lY3Rvci0+cGFuZWwsIGZpeGVkX21vZGUsIE5VTEwpOwo+ICsJaW50 ZWxfcGFuZWxfaW5pdCgmaW50ZWxfY29ubmVjdG9yLT5wYW5lbCwgZml4ZWRfbW9kZSwgTlVMTCwg TlVMTCk7Cj4gIAlpbnRlbF9wYW5lbF9zZXR1cF9iYWNrbGlnaHQoY29ubmVjdG9yLCBJTlZBTElE X1BJUEUpOwo+ICAKPiAgCWludGVsX2RzaV9hZGRfcHJvcGVydGllcyhpbnRlbF9jb25uZWN0b3Ip Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kdm8uYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2R2by5jCj4gaW5kZXggYmFmMzY5ZC4uYzBhMDI3MiAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kdm8uYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2R2by5jCj4gQEAgLTU1Miw3ICs1NTIsNyBAQCB2b2lkIGlu dGVsX2R2b19pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgCQkJICov Cj4gIAkJCWludGVsX3BhbmVsX2luaXQoJmludGVsX2Nvbm5lY3Rvci0+cGFuZWwsCj4gIAkJCQkJ IGludGVsX2R2b19nZXRfY3VycmVudF9tb2RlKGNvbm5lY3RvciksCj4gLQkJCQkJIE5VTEwpOwo+ ICsJCQkJCSBOVUxMLCBOVUxMKTsKPiAgCQkJaW50ZWxfZHZvLT5wYW5lbF93YW50c19kaXRoZXIg PSB0cnVlOwo+ICAJCX0KPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2x2ZHMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2x2ZHMuYwo+IGluZGV4IDYx ZDU1NzkuLjhlMjE1NzcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf bHZkcy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHZkcy5jCj4gQEAgLTEx MzgsNyArMTEzOCw4IEBAIHZvaWQgaW50ZWxfbHZkc19pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdikKPiAgb3V0Ogo+ICAJbXV0ZXhfdW5sb2NrKCZkZXYtPm1vZGVfY29uZmln Lm11dGV4KTsKPiAgCj4gLQlpbnRlbF9wYW5lbF9pbml0KCZpbnRlbF9jb25uZWN0b3ItPnBhbmVs LCBmaXhlZF9tb2RlLCBkb3duY2xvY2tfbW9kZSk7Cj4gKwlpbnRlbF9wYW5lbF9pbml0KCZpbnRl bF9jb25uZWN0b3ItPnBhbmVsLCBmaXhlZF9tb2RlLCBOVUxMLAo+ICsJCQkgZG93bmNsb2NrX21v ZGUpOwo+ICAJaW50ZWxfcGFuZWxfc2V0dXBfYmFja2xpZ2h0KGNvbm5lY3RvciwgSU5WQUxJRF9Q SVBFKTsKPiAgCj4gIAlsdmRzX2VuY29kZXItPmlzX2R1YWxfbGluayA9IGNvbXB1dGVfaXNfZHVh bF9saW5rX2x2ZHMobHZkc19lbmNvZGVyKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcGFuZWwuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMK PiBpbmRleCA4ODAxOGZjLi5hMTdiMWRlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3BhbmVsLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wYW5l bC5jCj4gQEAgLTE5MjAsMTEgKzE5MjAsMTMgQEAgaW50ZWxfcGFuZWxfaW5pdF9iYWNrbGlnaHRf ZnVuY3Moc3RydWN0IGludGVsX3BhbmVsICpwYW5lbCkKPiAgCj4gIGludCBpbnRlbF9wYW5lbF9p bml0KHN0cnVjdCBpbnRlbF9wYW5lbCAqcGFuZWwsCj4gIAkJICAgICBzdHJ1Y3QgZHJtX2Rpc3Bs YXlfbW9kZSAqZml4ZWRfbW9kZSwKPiArCQkgICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICph bHRfZml4ZWRfbW9kZSwKPiAgCQkgICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpkb3duY2xv Y2tfbW9kZSkKPiAgewo+ICAJaW50ZWxfcGFuZWxfaW5pdF9iYWNrbGlnaHRfZnVuY3MocGFuZWwp Owo+ICAKPiAgCXBhbmVsLT5maXhlZF9tb2RlID0gZml4ZWRfbW9kZTsKPiArCXBhbmVsLT5hbHRf Zml4ZWRfbW9kZSA9IGFsdF9maXhlZF9tb2RlOwo+ICAJcGFuZWwtPmRvd25jbG9ja19tb2RlID0g ZG93bmNsb2NrX21vZGU7Cj4gIAo+ICAJcmV0dXJuIDA7Cj4gQEAgLTE5MzgsNiArMTk0MCwxMCBA QCB2b2lkIGludGVsX3BhbmVsX2Zpbmkoc3RydWN0IGludGVsX3BhbmVsICpwYW5lbCkKPiAgCWlm IChwYW5lbC0+Zml4ZWRfbW9kZSkKPiAgCQlkcm1fbW9kZV9kZXN0cm95KGludGVsX2Nvbm5lY3Rv ci0+YmFzZS5kZXYsIHBhbmVsLT5maXhlZF9tb2RlKTsKPiAgCj4gKwlpZiAocGFuZWwtPmFsdF9m aXhlZF9tb2RlKQo+ICsJCWRybV9tb2RlX2Rlc3Ryb3koaW50ZWxfY29ubmVjdG9yLT5iYXNlLmRl diwKPiArCQkJCXBhbmVsLT5hbHRfZml4ZWRfbW9kZSk7Cj4gKwo+ICAJaWYgKHBhbmVsLT5kb3du Y2xvY2tfbW9kZSkKPiAgCQlkcm1fbW9kZV9kZXN0cm95KGludGVsX2Nvbm5lY3Rvci0+YmFzZS5k ZXYsCj4gIAkJCQlwYW5lbC0+ZG93bmNsb2NrX21vZGUpOwoKLS0gCkphbmkgTmlrdWxhLCBJbnRl bCBPcGVuIFNvdXJjZSBUZWNobm9sb2d5IENlbnRlcgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZngK