From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jim Bride Subject: Re: [PATCH 2/2] drm/i915/dp: make is_edp non-static and rename to intel_dp_is_edp Date: Fri, 18 Aug 2017 09:39:09 -0700 Message-ID: <20170818163909.GC17682@shiv> References: <20170818093020.19160-1-jani.nikula@intel.com> <20170818093020.19160-2-jani.nikula@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 040B96E77F for ; Fri, 18 Aug 2017 16:41:54 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20170818093020.19160-2-jani.nikula@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 List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBBdWcgMTgsIDIwMTcgYXQgMTI6MzA6MjBQTSArMDMwMCwgSmFuaSBOaWt1bGEgd3Jv dGU6Cj4gRXhwb3NlIGFjcm9zcyBkcml2ZXIgZm9yIGZ1dHVyZSB3b3JrLiBObyBmdW5jdGlvbmFs IGNoYW5nZXMuCgpSZXZpZXdlZC1ieTogSmltIEJyaWRlIDxqaW0uYnJpZGVAbGludXguaW50ZWwu Y29tPgoKPiBDYzogTWFuYXNpIE5hdmFyZSA8bWFuYXNpLmQubmF2YXJlQGludGVsLmNvbT4KPiBD YzogSmltIEJyaWRlIDxqaW0uYnJpZGVAbGludXguaW50ZWwuY29tPgo+IFNpZ25lZC1vZmYtYnk6 IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBpbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RwLmMgIHwgNzcgKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0t LS0tLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCB8ICAxICsKPiAg MiBmaWxlcyBjaGFuZ2VkLCA0MSBpbnNlcnRpb25zKCspLCAzNyBkZWxldGlvbnMoLSkKPiAKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RwLmMKPiBpbmRleCAyOWVkMWRlYjljODQuLmUzODU2NTgyOWQxOSAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+IEBAIC0xMDMsMTMgKzEwMywxMyBAQCBzdGF0 aWMgY29uc3QgaW50IGNubF9yYXRlc1tdID0geyAxNjIwMDAsIDIxNjAwMCwgMjcwMDAwLAo+ICBz dGF0aWMgY29uc3QgaW50IGRlZmF1bHRfcmF0ZXNbXSA9IHsgMTYyMDAwLCAyNzAwMDAsIDU0MDAw MCB9Owo+ICAKPiAgLyoqCj4gLSAqIGlzX2VkcCAtIGlzIHRoZSBnaXZlbiBwb3J0IGF0dGFjaGVk IHRvIGFuIGVEUCBwYW5lbCAoZWl0aGVyIENQVSBvciBQQ0gpCj4gKyAqIGludGVsX2RwX2lzX2Vk cCAtIGlzIHRoZSBnaXZlbiBwb3J0IGF0dGFjaGVkIHRvIGFuIGVEUCBwYW5lbCAoZWl0aGVyIENQ VSBvciBQQ0gpCj4gICAqIEBpbnRlbF9kcDogRFAgc3RydWN0Cj4gICAqCj4gICAqIElmIGEgQ1BV IG9yIFBDSCBEUCBvdXRwdXQgaXMgYXR0YWNoZWQgdG8gYW4gZURQIHBhbmVsLCB0aGlzIGZ1bmN0 aW9uCj4gICAqIHdpbGwgcmV0dXJuIHRydWUsIGFuZCBmYWxzZSBvdGhlcndpc2UuCj4gICAqLwo+ IC1zdGF0aWMgYm9vbCBpc19lZHAoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiArYm9vbCBp bnRlbF9kcF9pc19lZHAoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiAgewo+ICAJc3RydWN0 IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPSBkcF90b19kaWdfcG9ydChpbnRl bF9kcCk7Cj4gIAo+IEBAIC0zODgsNyArMzg4LDcgQEAgaW50ZWxfZHBfbW9kZV92YWxpZChzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ICAKPiAgCW1heF9kb3RjbGsgPSBpbnRlbF9k cF9kb3duc3RyZWFtX21heF9kb3RjbG9jayhpbnRlbF9kcCk7Cj4gIAo+IC0JaWYgKGlzX2VkcChp bnRlbF9kcCkgJiYgZml4ZWRfbW9kZSkgewo+ICsJaWYgKGludGVsX2RwX2lzX2VkcChpbnRlbF9k cCkgJiYgZml4ZWRfbW9kZSkgewo+ICAJCWlmIChtb2RlLT5oZGlzcGxheSA+IGZpeGVkX21vZGUt PmhkaXNwbGF5KQo+ICAJCQlyZXR1cm4gTU9ERV9QQU5FTDsKPiAgCj4gQEAgLTU5Nyw3ICs1OTcs NyBAQCB2bHZfcG93ZXJfc2VxdWVuY2VyX3BpcGUoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkK PiAgCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJmRldl9wcml2LT5wcHNfbXV0ZXgpOwo+ICAKPiAgCS8q IFdlIHNob3VsZCBuZXZlciBsYW5kIGhlcmUgd2l0aCByZWd1bGFyIERQIHBvcnRzICovCj4gLQlX QVJOX09OKCFpc19lZHAoaW50ZWxfZHApKTsKPiArCVdBUk5fT04oIWludGVsX2RwX2lzX2VkcChp bnRlbF9kcCkpOwo+ICAKPiAgCVdBUk5fT04oaW50ZWxfZHAtPmFjdGl2ZV9waXBlICE9IElOVkFM SURfUElQRSAmJgo+ICAJCWludGVsX2RwLT5hY3RpdmVfcGlwZSAhPSBpbnRlbF9kcC0+cHBzX3Bp cGUpOwo+IEBAIC02NDQsNyArNjQ0LDcgQEAgYnh0X3Bvd2VyX3NlcXVlbmNlcl9pZHgoc3RydWN0 IGludGVsX2RwICppbnRlbF9kcCkKPiAgCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJmRldl9wcml2LT5w cHNfbXV0ZXgpOwo+ICAKPiAgCS8qIFdlIHNob3VsZCBuZXZlciBsYW5kIGhlcmUgd2l0aCByZWd1 bGFyIERQIHBvcnRzICovCj4gLQlXQVJOX09OKCFpc19lZHAoaW50ZWxfZHApKTsKPiArCVdBUk5f T04oIWludGVsX2RwX2lzX2VkcChpbnRlbF9kcCkpOwo+ICAKPiAgCS8qCj4gIAkgKiBUT0RPOiBC WFQgaGFzIDIgUFBTIGluc3RhbmNlcy4gVGhlIGNvcnJlY3QgcG9ydC0+UFBTIGluc3RhbmNlCj4g QEAgLTg0Nyw3ICs4NDcsNyBAQCBzdGF0aWMgaW50IGVkcF9ub3RpZnlfaGFuZGxlcihzdHJ1Y3Qg bm90aWZpZXJfYmxvY2sgKnRoaXMsIHVuc2lnbmVkIGxvbmcgY29kZSwKPiAgCXN0cnVjdCBkcm1f ZGV2aWNlICpkZXYgPSBpbnRlbF9kcF90b19kZXYoaW50ZWxfZHApOwo+ICAJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwo+ICAKPiAtCWlmICghaXNfZWRw KGludGVsX2RwKSB8fCBjb2RlICE9IFNZU19SRVNUQVJUKQo+ICsJaWYgKCFpbnRlbF9kcF9pc19l ZHAoaW50ZWxfZHApIHx8IGNvZGUgIT0gU1lTX1JFU1RBUlQpCj4gIAkJcmV0dXJuIDA7Cj4gIAo+ ICAJcHBzX2xvY2soaW50ZWxfZHApOwo+IEBAIC05MDcsNyArOTA3LDcgQEAgaW50ZWxfZHBfY2hl Y2tfZWRwKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2ID0gaW50ZWxfZHBfdG9fZGV2KGludGVsX2RwKTsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKPiAgCj4gLQlpZiAoIWlzX2VkcChpbnRlbF9k cCkpCj4gKwlpZiAoIWludGVsX2RwX2lzX2VkcChpbnRlbF9kcCkpCj4gIAkJcmV0dXJuOwo+ICAK PiAgCWlmICghZWRwX2hhdmVfcGFuZWxfcG93ZXIoaW50ZWxfZHApICYmICFlZHBfaGF2ZV9wYW5l bF92ZGQoaW50ZWxfZHApKSB7Cj4gQEAgLTE2ODEsNyArMTY4MSw3IEBAIGludGVsX2RwX2NvbXB1 dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAJZWxzZQo+ICAJCXBp cGVfY29uZmlnLT5oYXNfYXVkaW8gPSBpbnRlbF9jb25uX3N0YXRlLT5mb3JjZV9hdWRpbyA9PSBI RE1JX0FVRElPX09OOwo+ICAKPiAtCWlmIChpc19lZHAoaW50ZWxfZHApICYmIGludGVsX2Nvbm5l Y3Rvci0+cGFuZWwuZml4ZWRfbW9kZSkgewo+ICsJaWYgKGludGVsX2RwX2lzX2VkcChpbnRlbF9k cCkgJiYgaW50ZWxfY29ubmVjdG9yLT5wYW5lbC5maXhlZF9tb2RlKSB7Cj4gIAkJc3RydWN0IGRy bV9kaXNwbGF5X21vZGUgKnBhbmVsX21vZGUgPQo+ICAJCQlpbnRlbF9jb25uZWN0b3ItPnBhbmVs LmFsdF9maXhlZF9tb2RlOwo+ICAJCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpyZXFfbW9kZSA9 ICZwaXBlX2NvbmZpZy0+YmFzZS5tb2RlOwo+IEBAIC0xNzM2LDcgKzE3MzYsNyBAQCBpbnRlbF9k cF9jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCS8qIFdh bGsgdGhyb3VnaCBhbGwgYnBwIHZhbHVlcy4gTHVja2lseSB0aGV5J3JlIGFsbCBuaWNlbHkgc3Bh Y2VkIHdpdGggMgo+ICAJICogYnBjIGluIGJldHdlZW4uICovCj4gIAlicHAgPSBpbnRlbF9kcF9j b21wdXRlX2JwcChpbnRlbF9kcCwgcGlwZV9jb25maWcpOwo+IC0JaWYgKGlzX2VkcChpbnRlbF9k cCkpIHsKPiArCWlmIChpbnRlbF9kcF9pc19lZHAoaW50ZWxfZHApKSB7Cj4gIAo+ICAJCS8qIEdl dCBicHAgZnJvbSB2YnQgb25seSBmb3IgcGFuZWxzIHRoYXQgZG9udCBoYXZlIGJwcCBpbiBlZGlk ICovCj4gIAkJaWYgKGludGVsX2Nvbm5lY3Rvci0+YmFzZS5kaXNwbGF5X2luZm8uYnBjID09IDAg JiYKPiBAQCAtMTgyOSw3ICsxODI5LDcgQEAgaW50ZWxfZHBfY29tcHV0ZV9jb25maWcoc3RydWN0 IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAkgKiBEUExMMCBWQ08gbWF5IG5lZWQgdG8gYmUg YWRqdXN0ZWQgdG8gZ2V0IHRoZSBjb3JyZWN0Cj4gIAkgKiBjbG9jayBmb3IgZURQLiBUaGlzIHdp bGwgYWZmZWN0IGNkY2xrIGFzIHdlbGwuCj4gIAkgKi8KPiAtCWlmIChpc19lZHAoaW50ZWxfZHAp ICYmIElTX0dFTjlfQkMoZGV2X3ByaXYpKSB7Cj4gKwlpZiAoaW50ZWxfZHBfaXNfZWRwKGludGVs X2RwKSAmJiBJU19HRU45X0JDKGRldl9wcml2KSkgewo+ICAJCWludCB2Y287Cj4gIAo+ICAJCXN3 aXRjaCAocGlwZV9jb25maWctPnBvcnRfY2xvY2sgLyAyKSB7Cj4gQEAgLTIwNjksNyArMjA2OSw3 IEBAIHN0YXRpYyBib29sIGVkcF9wYW5lbF92ZGRfb24oc3RydWN0IGludGVsX2RwICppbnRlbF9k cCkKPiAgCj4gIAlsb2NrZGVwX2Fzc2VydF9oZWxkKCZkZXZfcHJpdi0+cHBzX211dGV4KTsKPiAg Cj4gLQlpZiAoIWlzX2VkcChpbnRlbF9kcCkpCj4gKwlpZiAoIWludGVsX2RwX2lzX2VkcChpbnRl bF9kcCkpCj4gIAkJcmV0dXJuIGZhbHNlOwo+ICAKPiAgCWNhbmNlbF9kZWxheWVkX3dvcmsoJmlu dGVsX2RwLT5wYW5lbF92ZGRfd29yayk7Cj4gQEAgLTIxMTksNyArMjExOSw3IEBAIHZvaWQgaW50 ZWxfZWRwX3BhbmVsX3ZkZF9vbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ICB7Cj4gIAli b29sIHZkZDsKPiAgCj4gLQlpZiAoIWlzX2VkcChpbnRlbF9kcCkpCj4gKwlpZiAoIWludGVsX2Rw X2lzX2VkcChpbnRlbF9kcCkpCj4gIAkJcmV0dXJuOwo+ICAKPiAgCXBwc19sb2NrKGludGVsX2Rw KTsKPiBAQCAtMjIwMyw3ICsyMjAzLDcgQEAgc3RhdGljIHZvaWQgZWRwX3BhbmVsX3ZkZF9vZmYo c3RydWN0IGludGVsX2RwICppbnRlbF9kcCwgYm9vbCBzeW5jKQo+ICAKPiAgCWxvY2tkZXBfYXNz ZXJ0X2hlbGQoJmRldl9wcml2LT5wcHNfbXV0ZXgpOwo+ICAKPiAtCWlmICghaXNfZWRwKGludGVs X2RwKSkKPiArCWlmICghaW50ZWxfZHBfaXNfZWRwKGludGVsX2RwKSkKPiAgCQlyZXR1cm47Cj4g IAo+ICAJSTkxNV9TVEFURV9XQVJOKCFpbnRlbF9kcC0+d2FudF9wYW5lbF92ZGQsICJlRFAgcG9y dCAlYyBWREQgbm90IGZvcmNlZCBvbiIsCj4gQEAgLTIyMjYsNyArMjIyNiw3IEBAIHN0YXRpYyB2 b2lkIGVkcF9wYW5lbF9vbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ICAKPiAgCWxvY2tk ZXBfYXNzZXJ0X2hlbGQoJmRldl9wcml2LT5wcHNfbXV0ZXgpOwo+ICAKPiAtCWlmICghaXNfZWRw KGludGVsX2RwKSkKPiArCWlmICghaW50ZWxfZHBfaXNfZWRwKGludGVsX2RwKSkKPiAgCQlyZXR1 cm47Cj4gIAo+ICAJRFJNX0RFQlVHX0tNUygiVHVybiBlRFAgcG9ydCAlYyBwYW5lbCBwb3dlciBv blxuIiwKPiBAQCAtMjI2Nyw3ICsyMjY3LDcgQEAgc3RhdGljIHZvaWQgZWRwX3BhbmVsX29uKHN0 cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gIAo+ICB2b2lkIGludGVsX2VkcF9wYW5lbF9vbihz dHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ICB7Cj4gLQlpZiAoIWlzX2VkcChpbnRlbF9kcCkp Cj4gKwlpZiAoIWludGVsX2RwX2lzX2VkcChpbnRlbF9kcCkpCj4gIAkJcmV0dXJuOwo+ICAKPiAg CXBwc19sb2NrKGludGVsX2RwKTsKPiBAQCAtMjI4NSw3ICsyMjg1LDcgQEAgc3RhdGljIHZvaWQg ZWRwX3BhbmVsX29mZihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ICAKPiAgCWxvY2tkZXBf YXNzZXJ0X2hlbGQoJmRldl9wcml2LT5wcHNfbXV0ZXgpOwo+ICAKPiAtCWlmICghaXNfZWRwKGlu dGVsX2RwKSkKPiArCWlmICghaW50ZWxfZHBfaXNfZWRwKGludGVsX2RwKSkKPiAgCQlyZXR1cm47 Cj4gIAo+ICAJRFJNX0RFQlVHX0tNUygiVHVybiBlRFAgcG9ydCAlYyBwYW5lbCBwb3dlciBvZmZc biIsCj4gQEAgLTIzMTYsNyArMjMxNiw3IEBAIHN0YXRpYyB2b2lkIGVkcF9wYW5lbF9vZmYoc3Ry dWN0IGludGVsX2RwICppbnRlbF9kcCkKPiAgCj4gIHZvaWQgaW50ZWxfZWRwX3BhbmVsX29mZihz dHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ICB7Cj4gLQlpZiAoIWlzX2VkcChpbnRlbF9kcCkp Cj4gKwlpZiAoIWludGVsX2RwX2lzX2VkcChpbnRlbF9kcCkpCj4gIAkJcmV0dXJuOwo+ICAKPiAg CXBwc19sb2NrKGludGVsX2RwKTsKPiBAQCAtMjM2MCw3ICsyMzYwLDcgQEAgdm9pZCBpbnRlbF9l ZHBfYmFja2xpZ2h0X29uKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRl LAo+ICB7Cj4gIAlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKGNv bm5fc3RhdGUtPmJlc3RfZW5jb2Rlcik7Cj4gIAo+IC0JaWYgKCFpc19lZHAoaW50ZWxfZHApKQo+ ICsJaWYgKCFpbnRlbF9kcF9pc19lZHAoaW50ZWxfZHApKQo+ICAJCXJldHVybjsKPiAgCj4gIAlE Uk1fREVCVUdfS01TKCJcbiIpOwo+IEBAIC0yMzc3LDcgKzIzNzcsNyBAQCBzdGF0aWMgdm9pZCBf aW50ZWxfZWRwX2JhY2tsaWdodF9vZmYoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiAgCXUz MiBwcDsKPiAgCWk5MTVfcmVnX3QgcHBfY3RybF9yZWc7Cj4gIAo+IC0JaWYgKCFpc19lZHAoaW50 ZWxfZHApKQo+ICsJaWYgKCFpbnRlbF9kcF9pc19lZHAoaW50ZWxfZHApKQo+ICAJCXJldHVybjsK PiAgCj4gIAlwcHNfbG9jayhpbnRlbF9kcCk7Cj4gQEAgLTI0MDEsNyArMjQwMSw3IEBAIHZvaWQg aW50ZWxfZWRwX2JhY2tsaWdodF9vZmYoY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUg Km9sZF9jb25uX3N0YXRlKQo+ICB7Cj4gIAlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5j X3RvX2ludGVsX2RwKG9sZF9jb25uX3N0YXRlLT5iZXN0X2VuY29kZXIpOwo+ICAKPiAtCWlmICgh aXNfZWRwKGludGVsX2RwKSkKPiArCWlmICghaW50ZWxfZHBfaXNfZWRwKGludGVsX2RwKSkKPiAg CQlyZXR1cm47Cj4gIAo+ICAJRFJNX0RFQlVHX0tNUygiXG4iKTsKPiBAQCAtMjY2Niw3ICsyNjY2 LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfZHBfZ2V0X2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqZW5jb2RlciwKPiAgCQlpbnRlbF9kb3RjbG9ja19jYWxjdWxhdGUocGlwZV9jb25maWctPnBv cnRfY2xvY2ssCj4gIAkJCQkJICZwaXBlX2NvbmZpZy0+ZHBfbV9uKTsKPiAgCj4gLQlpZiAoaXNf ZWRwKGludGVsX2RwKSAmJiBkZXZfcHJpdi0+dmJ0LmVkcC5icHAgJiYKPiArCWlmIChpbnRlbF9k cF9pc19lZHAoaW50ZWxfZHApICYmIGRldl9wcml2LT52YnQuZWRwLmJwcCAmJgo+ICAJICAgIHBp cGVfY29uZmlnLT5waXBlX2JwcCA+IGRldl9wcml2LT52YnQuZWRwLmJwcCkgewo+ICAJCS8qCj4g IAkJICogVGhpcyBpcyBhIGJpZyBmYXQgdWdseSBoYWNrLgo+IEBAIC0zMDQwLDcgKzMwNDAsNyBA QCBzdGF0aWMgdm9pZCB2bHZfaW5pdF9wYW5lbF9wb3dlcl9zZXF1ZW5jZXIoc3RydWN0IGludGVs X2RwICppbnRlbF9kcCkKPiAgCj4gIAlpbnRlbF9kcC0+YWN0aXZlX3BpcGUgPSBjcnRjLT5waXBl Owo+ICAKPiAtCWlmICghaXNfZWRwKGludGVsX2RwKSkKPiArCWlmICghaW50ZWxfZHBfaXNfZWRw KGludGVsX2RwKSkKPiAgCQlyZXR1cm47Cj4gIAo+ICAJLyogbm93IGl0J3MgYWxsIG91cnMgKi8K PiBAQCAtMzc4NCw3ICszNzg0LDcgQEAgaW50ZWxfZHBfZ2V0X2RwY2Qoc3RydWN0IGludGVsX2Rw ICppbnRlbF9kcCkKPiAgCQlyZXR1cm4gZmFsc2U7Cj4gIAo+ICAJLyogRG9uJ3QgY2xvYmJlciBj YWNoZWQgZURQIHJhdGVzLiAqLwo+IC0JaWYgKCFpc19lZHAoaW50ZWxfZHApKSB7Cj4gKwlpZiAo IWludGVsX2RwX2lzX2VkcChpbnRlbF9kcCkpIHsKPiAgCQlpbnRlbF9kcF9zZXRfc2lua19yYXRl cyhpbnRlbF9kcCk7Cj4gIAkJaW50ZWxfZHBfc2V0X2NvbW1vbl9yYXRlcyhpbnRlbF9kcCk7Cj4g IAl9Cj4gQEAgLTM4MDYsNyArMzgwNiw3IEBAIGludGVsX2RwX2dldF9kcGNkKHN0cnVjdCBpbnRl bF9kcCAqaW50ZWxfZHApCj4gIAkgKiBkb3duc3RyZWFtIHBvcnQgaW5mb3JtYXRpb24uIFNvLCBh biBlYXJseSByZXR1cm4gaGVyZSBzYXZlcwo+ICAJICogdGltZSBmcm9tIHBlcmZvcm1pbmcgb3Ro ZXIgb3BlcmF0aW9ucyB3aGljaCBhcmUgbm90IHJlcXVpcmVkLgo+ICAJICovCj4gLQlpZiAoIWlz X2VkcChpbnRlbF9kcCkgJiYgIWludGVsX2RwLT5zaW5rX2NvdW50KQo+ICsJaWYgKCFpbnRlbF9k cF9pc19lZHAoaW50ZWxfZHApICYmICFpbnRlbF9kcC0+c2lua19jb3VudCkKPiAgCQlyZXR1cm4g ZmFsc2U7Cj4gIAo+ICAJaWYgKCFkcm1fZHBfaXNfYnJhbmNoKGludGVsX2RwLT5kcGNkKSkKPiBA QCAtNDM5Niw3ICs0Mzk2LDcgQEAgaW50ZWxfZHBfZGV0ZWN0X2RwY2Qoc3RydWN0IGludGVsX2Rw ICppbnRlbF9kcCkKPiAgCWlmICghaW50ZWxfZHBfZ2V0X2RwY2QoaW50ZWxfZHApKQo+ICAJCXJl dHVybiBjb25uZWN0b3Jfc3RhdHVzX2Rpc2Nvbm5lY3RlZDsKPiAgCj4gLQlpZiAoaXNfZWRwKGlu dGVsX2RwKSkKPiArCWlmIChpbnRlbF9kcF9pc19lZHAoaW50ZWxfZHApKQo+ICAJCXJldHVybiBj b25uZWN0b3Jfc3RhdHVzX2Nvbm5lY3RlZDsKPiAgCj4gIAkvKiBpZiB0aGVyZSdzIG5vIGRvd25z dHJlYW0gcG9ydCwgd2UncmUgZG9uZSAqLwo+IEBAIC00NzEyLDcgKzQ3MTIsNyBAQCBpbnRlbF9k cF9sb25nX3B1bHNlKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmludGVsX2Nvbm5lY3RvcikKPiAg CWludGVsX2Rpc3BsYXlfcG93ZXJfZ2V0KHRvX2k5MTUoZGV2KSwgaW50ZWxfZHAtPmF1eF9wb3dl cl9kb21haW4pOwo+ICAKPiAgCS8qIENhbid0IGRpc2Nvbm5lY3QgZURQLCBidXQgeW91IGNhbiBj bG9zZSB0aGUgbGlkLi4uICovCj4gLQlpZiAoaXNfZWRwKGludGVsX2RwKSkKPiArCWlmIChpbnRl bF9kcF9pc19lZHAoaW50ZWxfZHApKQo+ICAJCXN0YXR1cyA9IGVkcF9kZXRlY3QoaW50ZWxfZHAp Owo+ICAJZWxzZSBpZiAoaW50ZWxfZGlnaXRhbF9wb3J0X2Nvbm5lY3RlZCh0b19pOTE1KGRldiks Cj4gIAkJCQkJICAgICAgZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApKSkKPiBAQCAtNDc5Miw3ICs0 NzkyLDcgQEAgaW50ZWxfZHBfbG9uZ19wdWxzZShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICppbnRl bF9jb25uZWN0b3IpCj4gIAlpbnRlbF9kcC0+YXV4LmkyY19kZWZlcl9jb3VudCA9IDA7Cj4gIAo+ ICAJaW50ZWxfZHBfc2V0X2VkaWQoaW50ZWxfZHApOwo+IC0JaWYgKGlzX2VkcChpbnRlbF9kcCkg fHwgaW50ZWxfY29ubmVjdG9yLT5kZXRlY3RfZWRpZCkKPiArCWlmIChpbnRlbF9kcF9pc19lZHAo aW50ZWxfZHApIHx8IGludGVsX2Nvbm5lY3Rvci0+ZGV0ZWN0X2VkaWQpCj4gIAkJc3RhdHVzID0g Y29ubmVjdG9yX3N0YXR1c19jb25uZWN0ZWQ7Cj4gIAlpbnRlbF9kcC0+ZGV0ZWN0X2RvbmUgPSB0 cnVlOwo+ICAKPiBAQCAtNDg3Niw3ICs0ODc2LDcgQEAgc3RhdGljIGludCBpbnRlbF9kcF9nZXRf bW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAgCX0KPiAgCj4gIAkvKiBp ZiBlRFAgaGFzIG5vIEVESUQsIGZhbGwgYmFjayB0byBmaXhlZCBtb2RlICovCj4gLQlpZiAoaXNf ZWRwKGludGVsX2F0dGFjaGVkX2RwKGNvbm5lY3RvcikpICYmCj4gKwlpZiAoaW50ZWxfZHBfaXNf ZWRwKGludGVsX2F0dGFjaGVkX2RwKGNvbm5lY3RvcikpICYmCj4gIAkgICAgaW50ZWxfY29ubmVj dG9yLT5wYW5lbC5maXhlZF9tb2RlKSB7Cj4gIAkJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1v ZGU7Cj4gIAo+IEBAIC00OTI3LDggKzQ5MjcsMTAgQEAgaW50ZWxfZHBfY29ubmVjdG9yX2Rlc3Ry b3koc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAgCWlmICghSVNfRVJSX09SX05V TEwoaW50ZWxfY29ubmVjdG9yLT5lZGlkKSkKPiAgCQlrZnJlZShpbnRlbF9jb25uZWN0b3ItPmVk aWQpOwo+ICAKPiAtCS8qIENhbid0IGNhbGwgaXNfZWRwKCkgc2luY2UgdGhlIGVuY29kZXIgbWF5 IGhhdmUgYmVlbiBkZXN0cm95ZWQKPiAtCSAqIGFscmVhZHkuICovCj4gKwkvKgo+ICsJICogQ2Fu J3QgY2FsbCBpbnRlbF9kcF9pc19lZHAoKSBzaW5jZSB0aGUgZW5jb2RlciBtYXkgaGF2ZSBiZWVu Cj4gKwkgKiBkZXN0cm95ZWQgYWxyZWFkeS4KPiArCSAqLwo+ICAJaWYgKGNvbm5lY3Rvci0+Y29u bmVjdG9yX3R5cGUgPT0gRFJNX01PREVfQ09OTkVDVE9SX2VEUCkKPiAgCQlpbnRlbF9wYW5lbF9m aW5pKCZpbnRlbF9jb25uZWN0b3ItPnBhbmVsKTsKPiAgCj4gQEAgLTQ5NDIsNyArNDk0NCw3IEBA IHZvaWQgaW50ZWxfZHBfZW5jb2Rlcl9kZXN0cm95KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2Rl cikKPiAgCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSAmaW50ZWxfZGlnX3BvcnQtPmRwOwo+ ICAKPiAgCWludGVsX2RwX21zdF9lbmNvZGVyX2NsZWFudXAoaW50ZWxfZGlnX3BvcnQpOwo+IC0J aWYgKGlzX2VkcChpbnRlbF9kcCkpIHsKPiArCWlmIChpbnRlbF9kcF9pc19lZHAoaW50ZWxfZHAp KSB7Cj4gIAkJY2FuY2VsX2RlbGF5ZWRfd29ya19zeW5jKCZpbnRlbF9kcC0+cGFuZWxfdmRkX3dv cmspOwo+ICAJCS8qCj4gIAkJICogdmRkIG1pZ2h0IHN0aWxsIGJlIGVuYWJsZWQgZG8gdG8gdGhl IGRlbGF5ZWQgdmRkIG9mZi4KPiBAQCAtNDk2OCw3ICs0OTcwLDcgQEAgdm9pZCBpbnRlbF9kcF9l bmNvZGVyX3N1c3BlbmQoc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIpCj4gIHsK PiAgCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAoJmludGVsX2Vu Y29kZXItPmJhc2UpOwo+ICAKPiAtCWlmICghaXNfZWRwKGludGVsX2RwKSkKPiArCWlmICghaW50 ZWxfZHBfaXNfZWRwKGludGVsX2RwKSkKPiAgCQlyZXR1cm47Cj4gIAo+ICAJLyoKPiBAQCAtNTAz Niw3ICs1MDM4LDcgQEAgdm9pZCBpbnRlbF9kcF9lbmNvZGVyX3Jlc2V0KHN0cnVjdCBkcm1fZW5j b2RlciAqZW5jb2RlcikKPiAgCWlmIChJU19WQUxMRVlWSUVXKGRldl9wcml2KSB8fCBJU19DSEVS UllWSUVXKGRldl9wcml2KSkKPiAgCQlpbnRlbF9kcC0+YWN0aXZlX3BpcGUgPSB2bHZfYWN0aXZl X3BpcGUoaW50ZWxfZHApOwo+ICAKPiAtCWlmIChpc19lZHAoaW50ZWxfZHApKSB7Cj4gKwlpZiAo aW50ZWxfZHBfaXNfZWRwKGludGVsX2RwKSkgewo+ICAJCS8qIFJlaW5pdCB0aGUgcG93ZXIgc2Vx dWVuY2VyLCBpbiBjYXNlIEJJT1MgZGlkIHNvbWV0aGluZyB3aXRoIGl0LiAqLwo+ICAJCWludGVs X2RwX3Bwc19pbml0KGVuY29kZXItPmRldiwgaW50ZWxfZHApOwo+ICAJCWludGVsX2VkcF9wYW5l bF92ZGRfc2FuaXRpemUoaW50ZWxfZHApOwo+IEBAIC01MTYwLDcgKzUxNjIsNyBAQCBpbnRlbF9k cF9hZGRfcHJvcGVydGllcyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLCBzdHJ1Y3QgZHJtX2Nv bm5lY3RvciAqY29ubmVjdAo+ICAJaW50ZWxfYXR0YWNoX2ZvcmNlX2F1ZGlvX3Byb3BlcnR5KGNv bm5lY3Rvcik7Cj4gIAlpbnRlbF9hdHRhY2hfYnJvYWRjYXN0X3JnYl9wcm9wZXJ0eShjb25uZWN0 b3IpOwo+ICAKPiAtCWlmIChpc19lZHAoaW50ZWxfZHApKSB7Cj4gKwlpZiAoaW50ZWxfZHBfaXNf ZWRwKGludGVsX2RwKSkgewo+ICAJCXUzMiBhbGxvd2VkX3NjYWxlcnM7Cj4gIAo+ICAJCWFsbG93 ZWRfc2NhbGVycyA9IEJJVChEUk1fTU9ERV9TQ0FMRV9BU1BFQ1QpIHwgQklUKERSTV9NT0RFX1ND QUxFX0ZVTExTQ1JFRU4pOwo+IEBAIC01ODI2LDcgKzU4MjgsNyBAQCBzdGF0aWMgYm9vbCBpbnRl bF9lZHBfaW5pdF9jb25uZWN0b3Ioc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKPiAgCXN0cnVj dCBlZGlkICplZGlkOwo+ICAJZW51bSBwaXBlIHBpcGUgPSBJTlZBTElEX1BJUEU7Cj4gIAo+IC0J aWYgKCFpc19lZHAoaW50ZWxfZHApKQo+ICsJaWYgKCFpbnRlbF9kcF9pc19lZHAoaW50ZWxfZHAp KQo+ICAJCXJldHVybiB0cnVlOwo+ICAKPiAgCS8qCj4gQEAgLTYwNjAsNyArNjA2Miw4IEBAIGlu dGVsX2RwX2luaXRfY29ubmVjdG9yKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2Rp Z19wb3J0LAo+ICAKPiAgCS8qIGVEUCBvbmx5IG9uIHBvcnQgQiBhbmQvb3IgQyBvbiB2bHYvY2h2 ICovCj4gIAlpZiAoV0FSTl9PTigoSVNfVkFMTEVZVklFVyhkZXZfcHJpdikgfHwgSVNfQ0hFUlJZ VklFVyhkZXZfcHJpdikpICYmCj4gLQkJICAgIGlzX2VkcChpbnRlbF9kcCkgJiYgcG9ydCAhPSBQ T1JUX0IgJiYgcG9ydCAhPSBQT1JUX0MpKQo+ICsJCSAgICBpbnRlbF9kcF9pc19lZHAoaW50ZWxf ZHApICYmCj4gKwkJICAgIHBvcnQgIT0gUE9SVF9CICYmIHBvcnQgIT0gUE9SVF9DKSkKPiAgCQly ZXR1cm4gZmFsc2U7Cj4gIAo+ICAJRFJNX0RFQlVHX0tNUygiQWRkaW5nICVzIGNvbm5lY3RvciBv biBwb3J0ICVjXG4iLAo+IEBAIC02MDg4LDcgKzYwOTEsNyBAQCBpbnRlbF9kcF9pbml0X2Nvbm5l Y3RvcihzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCwKPiAgCQlpbnRl bF9jb25uZWN0b3ItPmdldF9od19zdGF0ZSA9IGludGVsX2Nvbm5lY3Rvcl9nZXRfaHdfc3RhdGU7 Cj4gIAo+ICAJLyogaW5pdCBNU1Qgb24gcG9ydHMgdGhhdCBjYW4gc3VwcG9ydCBpdCAqLwo+IC0J aWYgKEhBU19EUF9NU1QoZGV2X3ByaXYpICYmICFpc19lZHAoaW50ZWxfZHApICYmCj4gKwlpZiAo SEFTX0RQX01TVChkZXZfcHJpdikgJiYgIWludGVsX2RwX2lzX2VkcChpbnRlbF9kcCkgJiYKPiAg CSAgICAocG9ydCA9PSBQT1JUX0IgfHwgcG9ydCA9PSBQT1JUX0MgfHwgcG9ydCA9PSBQT1JUX0Qp KQo+ICAJCWludGVsX2RwX21zdF9lbmNvZGVyX2luaXQoaW50ZWxfZGlnX3BvcnQsCj4gIAkJCQkJ ICBpbnRlbF9jb25uZWN0b3ItPmJhc2UuYmFzZS5pZCk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2 LmgKPiBpbmRleCA2OTBlM2I2N2RjMWMuLjI5NDBkMzkzZWNmZCAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rydi5oCj4gQEAgLTE0OTksNiArMTQ5OSw3IEBAIGludCBpbnRlbF9kcF9zaW5rX2Ny YyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLCB1OCAqY3JjKTsKPiAgYm9vbCBpbnRlbF9kcF9j b21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCQkJICAgICBz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcsCj4gIAkJCSAgICAgc3RydWN0IGRy bV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUpOwo+ICtib29sIGludGVsX2RwX2lzX2VkcChz dHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKTsKPiAgYm9vbCBpbnRlbF9kcF9pc19wb3J0X2VkcChz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGVudW0gcG9ydCBwb3J0KTsKPiAgZW51 bSBpcnFyZXR1cm4gaW50ZWxfZHBfaHBkX3B1bHNlKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQg KmludGVsX2RpZ19wb3J0LAo+ICAJCQkJICBib29sIGxvbmdfaHBkKTsKPiAtLSAKPiAyLjExLjAK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==