From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Sharma, Shashank" Subject: Re: [PATCH 4/7] drm/i915: Move infoframe vfuncs into intel_digital_port Date: Mon, 13 Jun 2016 18:24:12 +0530 Message-ID: <575EACF4.5060606@intel.com> References: <1464897332-25503-1-git-send-email-ville.syrjala@linux.intel.com> <1464897332-25503-5-git-send-email-ville.syrjala@linux.intel.com> <575E8829.2050607@intel.com> <20160613122538.GO4329@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTP id 56E006E436 for ; Mon, 13 Jun 2016 12:54:29 +0000 (UTC) In-Reply-To: <20160613122538.GO4329@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: =?windows-1252?Q?Ville_Syrj=E4l=E4?= Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org UmV2aWV3ZWQtYnk6IFNoYXNoYW5rIFNoYXJtYQoKUmVnYXJkcwpTaGFzaGFuawpPbiA2LzEzLzIw MTYgNTo1NSBQTSwgVmlsbGUgU3lyasOkbMOkIHdyb3RlOgo+IE9uIE1vbiwgSnVuIDEzLCAyMDE2 IGF0IDAzOjQ3OjEzUE0gKzA1MzAsIFNoYXJtYSwgU2hhc2hhbmsgd3JvdGU6Cj4+IFJlZ2FyZHMK Pj4gU2hhc2hhbmsKPj4KPj4gT24gNi8zLzIwMTYgMToyNSBBTSwgdmlsbGUuc3lyamFsYUBsaW51 eC5pbnRlbC5jb20gd3JvdGU6Cj4+PiBGcm9tOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmph bGFAbGludXguaW50ZWwuY29tPgo+Pj4KPj4+IERQIHBvcnRzIHdpbGwgYWxzbyB3YW50IHRvIHV0 aWxpemUgdGhlIHZpZGVvIERJUCBmb3IgU0RQIHRyYW5zbWlzc2lvbi4KPj4+IFNvIGxldCdzIG1v dmUgdGhlIHZmdW5jcyBpbnRvIHRoZSBkaWdfcG9ydC4KPj4+Cj4+PiBTaWduZWQtb2ZmLWJ5OiBW aWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+Pj4gLS0tCj4+ PiAgICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyAgfCAyMCArKysrKystLS0tLS0K Pj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICB8IDE2ICsrKysrLS0tLS0K Pj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYyB8IDY0ICsrKysrKysrKysr KysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLQo+Pj4gICAgMyBmaWxlcyBjaGFuZ2VkLCA1MiBp bnNlcnRpb25zKCspLCA0OCBkZWxldGlvbnMoLSkKPj4+Cj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k ZGkuYwo+Pj4gaW5kZXggNmZmMmE3Yjk3Y2E2Li4zYTg4MmE5NzllNWQgMTAwNjQ0Cj4+PiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+Pj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGRpLmMKPj4+IEBAIC0xNjI4LDExICsxNjI4LDEyIEBAIHN0YXRpYyB2 b2lkIGludGVsX2RkaV9wcmVfZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNv ZGVyKQo+Pj4gICAgCQlpZiAocG9ydCAhPSBQT1JUX0EgfHwgSU5URUxfSU5GTyhkZXZfcHJpdikt PmdlbiA+PSA5KQo+Pj4gICAgCQkJaW50ZWxfZHBfc3RvcF9saW5rX3RyYWluKGludGVsX2RwKTsK Pj4+ICAgIAl9IGVsc2UgaWYgKHR5cGUgPT0gSU5URUxfT1VUUFVUX0hETUkpIHsKPj4+IC0JCXN0 cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1pID0gZW5jX3RvX2ludGVsX2hkbWkoZW5jb2Rlcik7 Cj4+PiArCQlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9Cj4+PiAr CQkJZW5jX3RvX2RpZ19wb3J0KGVuY29kZXIpOwo+Pj4KPj4+IC0JCWludGVsX2hkbWktPnNldF9p bmZvZnJhbWVzKGVuY29kZXIsCj4+PiAtCQkJCQkgICBjcnRjLT5jb25maWctPmhhc19pbmZvZnJh bWUsCj4+PiAtCQkJCQkgICAmY3J0Yy0+Y29uZmlnLT5iYXNlLmFkanVzdGVkX21vZGUpOwo+Pj4g KwkJaW50ZWxfZGlnX3BvcnQtPnNldF9pbmZvZnJhbWVzKGVuY29kZXIsCj4+PiArCQkJCQkgICAg ICAgY3J0Yy0+Y29uZmlnLT5oYXNfaW5mb2ZyYW1lLAo+Pj4gKwo+PiBXZSBoYXZlIGtlcHQgdGhp cyBjYWxsIHN0aWxsIGluc2lkZSBpZiAodHlwZSA9PSBIRE1JKTsgbm93IHdoZW4gdGhlIGFpbQo+ PiBpcyB0byBtYWtlIGl0IGNvbW1vbiBmb3IgYWxsIERESSBpbnRlcmZhY2VzLCBkbyB3ZSBuZWVk IHRoaXMgY2hlY2sgPwo+PiAJCQkJCSAgICAgICAmY3J0Yy0+Y29uZmlnLT5iYXNlLmFkanVzdGVk X21vZGUpOwo+Cj4gVGhpcyBpcyBhIHB1cmVseSBtZWNoYW5pY2FsIGNoYW5nZS4gTm8gY2hhbmdl IGluIGJlaGF2aW91ci4KPgo+Pj4gICAgCX0KPj4+ICAgIH0KPj4+Cj4+PiBAQCAtMTY2Miw5ICsx NjYzLDEwIEBAIHN0YXRpYyB2b2lkIGludGVsX2RkaV9wb3N0X2Rpc2FibGUoc3RydWN0IGludGVs X2VuY29kZXIgKmludGVsX2VuY29kZXIpCj4+PiAgICAJCWludGVsX3dhaXRfZGRpX2J1Zl9pZGxl KGRldl9wcml2LCBwb3J0KTsKPj4+Cj4+PiAgICAJaWYgKHR5cGUgPT0gSU5URUxfT1VUUFVUX0hE TUkpIHsKPj4+IC0JCXN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1pID0gZW5jX3RvX2ludGVs X2hkbWkoZW5jb2Rlcik7Cj4+PiArCQlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9k aWdfcG9ydCA9Cj4+PiArCQkJZW5jX3RvX2RpZ19wb3J0KGVuY29kZXIpOwo+Pj4KPj4+IC0JCWlu dGVsX2hkbWktPnNldF9pbmZvZnJhbWVzKGVuY29kZXIsIGZhbHNlLCBOVUxMKTsKPj4+ICsJCWlu dGVsX2RpZ19wb3J0LT5zZXRfaW5mb2ZyYW1lcyhlbmNvZGVyLCBmYWxzZSwgTlVMTCk7Cj4+IFNh bWUgYXMgYWJvdmUuCj4+PiAgICAJfQo+Pj4KPj4+ICAgIAlpZiAodHlwZSA9PSBJTlRFTF9PVVRQ VVRfRElTUExBWVBPUlQgfHwgdHlwZSA9PSBJTlRFTF9PVVRQVVRfRURQKSB7Cj4+PiBAQCAtMjE1 NSw3ICsyMTU3LDcgQEAgdm9pZCBpbnRlbF9kZGlfZ2V0X2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqZW5jb2RlciwKPj4+ICAgIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSBlbmNvZGVyLT5iYXNlLmRldi0+ZGV2X3ByaXZhdGU7Cj4+PiAgICAJc3RydWN0IGludGVsX2Ny dGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGVuY29kZXItPmJhc2UuY3J0Yyk7Cj4+PiAg ICAJZW51bSB0cmFuc2NvZGVyIGNwdV90cmFuc2NvZGVyID0gcGlwZV9jb25maWctPmNwdV90cmFu c2NvZGVyOwo+Pj4gLQlzdHJ1Y3QgaW50ZWxfaGRtaSAqaW50ZWxfaGRtaTsKPj4+ICsJc3RydWN0 IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQ7Cj4+PiAgICAJdTMyIHRlbXAsIGZs YWdzID0gMDsKPj4+Cj4+PiAgICAJLyogWFhYOiBEU0kgdHJhbnNjb2RlciBwYXJhbm9pYSAqLwo+ Pj4gQEAgLTIxOTQsOSArMjE5Niw5IEBAIHZvaWQgaW50ZWxfZGRpX2dldF9jb25maWcoc3RydWN0 IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4+PiAgICAJc3dpdGNoICh0ZW1wICYgVFJBTlNfRERJ X01PREVfU0VMRUNUX01BU0spIHsKPj4+ICAgIAljYXNlIFRSQU5TX0RESV9NT0RFX1NFTEVDVF9I RE1JOgo+PiAJY2FzZSBUUkFOU19ERElfTU9ERV9TRUxFQ1RfRFAgaGVyZTogPwo+Pj4gICAgCQlw aXBlX2NvbmZpZy0+aGFzX2hkbWlfc2luayA9IHRydWU7Cj4+PiAtCQlpbnRlbF9oZG1pID0gZW5j X3RvX2ludGVsX2hkbWkoJmVuY29kZXItPmJhc2UpOwo+Pj4gKwkJaW50ZWxfZGlnX3BvcnQgPSBl bmNfdG9fZGlnX3BvcnQoJmVuY29kZXItPmJhc2UpOwo+Pj4KPj4+IC0JCWlmIChpbnRlbF9oZG1p LT5pbmZvZnJhbWVfZW5hYmxlZCgmZW5jb2Rlci0+YmFzZSwgcGlwZV9jb25maWcpKQo+Pj4gKwkJ aWYgKGludGVsX2RpZ19wb3J0LT5pbmZvZnJhbWVfZW5hYmxlZCgmZW5jb2Rlci0+YmFzZSwgcGlw ZV9jb25maWcpKQo+Pj4gICAgCQkJcGlwZV9jb25maWctPmhhc19pbmZvZnJhbWUgPSB0cnVlOwo+ Pj4gICAgCQkvKiBmYWxsIHRocm91Z2ggKi8KPj4+ICAgIAljYXNlIFRSQU5TX0RESV9NT0RFX1NF TEVDVF9EVkk6Cj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2 LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+Pj4gaW5kZXggZWJlN2IzNDI3 ZTJlLi5hNjA3Nzk5Yjc3NzYgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcnYuaAo+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPj4+ IEBAIC03OTAsMTQgKzc5MCw2IEBAIHN0cnVjdCBpbnRlbF9oZG1pIHsKPj4+ICAgIAlib29sIHJn Yl9xdWFudF9yYW5nZV9zZWxlY3RhYmxlOwo+Pj4gICAgCWVudW0gaGRtaV9waWN0dXJlX2FzcGVj dCBhc3BlY3RfcmF0aW87Cj4+PiAgICAJc3RydWN0IGludGVsX2Nvbm5lY3RvciAqYXR0YWNoZWRf Y29ubmVjdG9yOwo+Pj4gLQl2b2lkICgqd3JpdGVfaW5mb2ZyYW1lKShzdHJ1Y3QgZHJtX2VuY29k ZXIgKmVuY29kZXIsCj4+PiAtCQkJCWVudW0gaGRtaV9pbmZvZnJhbWVfdHlwZSB0eXBlLAo+Pj4g LQkJCQljb25zdCB2b2lkICpmcmFtZSwgc3NpemVfdCBsZW4pOwo+Pj4gLQl2b2lkICgqc2V0X2lu Zm9mcmFtZXMpKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKPj4+IC0JCQkgICAgICAgYm9v bCBlbmFibGUsCj4+PiAtCQkJICAgICAgIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICph ZGp1c3RlZF9tb2RlKTsKPj4+IC0JYm9vbCAoKmluZm9mcmFtZV9lbmFibGVkKShzdHJ1Y3QgZHJt X2VuY29kZXIgKmVuY29kZXIsCj4+PiAtCQkJCSAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKnBpcGVfY29uZmlnKTsKPj4+ICAgIH07Cj4+Pgo+Pj4gICAgc3RydWN0IGludGVsX2RwX21z dF9lbmNvZGVyOwo+Pj4gQEAgLTkwNyw2ICs4OTksMTQgQEAgc3RydWN0IGludGVsX2RpZ2l0YWxf cG9ydCB7Cj4+PiAgICAJdWludDhfdCBtYXhfbGFuZXM7Cj4+PiAgICAJLyogZm9yIGNvbW11bmlj YXRpb24gd2l0aCBhdWRpbyBjb21wb25lbnQ7IHByb3RlY3RlZCBieSBhdl9tdXRleCAqLwo+Pj4g ICAgCWNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yICphdWRpb19jb25uZWN0b3I7Cj4+PiArCXZv aWQgKCp3cml0ZV9pbmZvZnJhbWUpKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKPj4+ICsJ CQkJZW51bSBoZG1pX2luZm9mcmFtZV90eXBlIHR5cGUsCj4+PiArCQkJCWNvbnN0IHZvaWQgKmZy YW1lLCBzc2l6ZV90IGxlbik7Cj4+PiArCXZvaWQgKCpzZXRfaW5mb2ZyYW1lcykoc3RydWN0IGRy bV9lbmNvZGVyICplbmNvZGVyLAo+Pj4gKwkJCSAgICAgICBib29sIGVuYWJsZSwKPj4+ICsJCQkg ICAgICAgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUpOwo+Pj4g Kwlib29sICgqaW5mb2ZyYW1lX2VuYWJsZWQpKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwK Pj4+ICsJCQkJICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcpOwo+ Pj4gICAgfTsKPj4+Cj4+PiAgICBzdHJ1Y3QgaW50ZWxfZHBfbXN0X2VuY29kZXIgewo+Pj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2hkbWkuYwo+Pj4gaW5kZXggMDY3YjEwYTdjYjA0Li4zMTlmNTAxMzky M2MgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKPj4+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwo+Pj4gQEAgLTQyNyw3ICs0 MjcsNyBAQCBzdGF0aWMgYm9vbCBoc3dfaW5mb2ZyYW1lX2VuYWJsZWQoc3RydWN0IGRybV9lbmNv ZGVyICplbmNvZGVyLAo+Pj4gICAgc3RhdGljIHZvaWQgaW50ZWxfd3JpdGVfaW5mb2ZyYW1lKHN0 cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKPj4+ICAgIAkJCQkgIHVuaW9uIGhkbWlfaW5mb2Zy YW1lICpmcmFtZSkKPj4+ICAgIHsKPj4+IC0Jc3RydWN0IGludGVsX2hkbWkgKmludGVsX2hkbWkg PSBlbmNfdG9faW50ZWxfaGRtaShlbmNvZGVyKTsKPj4+ICsJc3RydWN0IGludGVsX2RpZ2l0YWxf cG9ydCAqaW50ZWxfZGlnX3BvcnQgPSBlbmNfdG9fZGlnX3BvcnQoZW5jb2Rlcik7Cj4+PiAgICAJ dWludDhfdCBidWZmZXJbVklERU9fRElQX0RBVEFfU0laRV07Cj4+PiAgICAJc3NpemVfdCBsZW47 Cj4+Pgo+Pj4gQEAgLTQ0Myw3ICs0NDMsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF93cml0ZV9pbmZv ZnJhbWUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAo+Pj4gICAgCWJ1ZmZlclszXSA9IDA7 Cj4+PiAgICAJbGVuKys7Cj4+Pgo+Pj4gLQlpbnRlbF9oZG1pLT53cml0ZV9pbmZvZnJhbWUoZW5j b2RlciwgZnJhbWUtPmFueS50eXBlLCBidWZmZXIsIGxlbik7Cj4+PiArCWludGVsX2RpZ19wb3J0 LT53cml0ZV9pbmZvZnJhbWUoZW5jb2RlciwgZnJhbWUtPmFueS50eXBlLCBidWZmZXIsIGxlbik7 Cj4+PiAgICB9Cj4+Pgo+Pj4gICAgc3RhdGljIHZvaWQgaW50ZWxfaGRtaV9zZXRfYXZpX2luZm9m cmFtZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4+PiBAQCAtOTMwLDYgKzkzMCw3IEBA IHN0YXRpYyB2b2lkIGludGVsX2hkbWlfZ2V0X2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAq ZW5jb2RlciwKPj4+ICAgIAkJCQkgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZp ZykKPj4+ICAgIHsKPj4+ICAgIAlzdHJ1Y3QgaW50ZWxfaGRtaSAqaW50ZWxfaGRtaSA9IGVuY190 b19pbnRlbF9oZG1pKCZlbmNvZGVyLT5iYXNlKTsKPj4+ICsJc3RydWN0IGludGVsX2RpZ2l0YWxf cG9ydCAqaW50ZWxfZGlnX3BvcnQgPSBoZG1pX3RvX2RpZ19wb3J0KGludGVsX2hkbWkpOwo+Pj4g ICAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBlbmNvZGVyLT5iYXNlLmRldjsKPj4+ICAgIAlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+Pj4g ICAgCXUzMiB0bXAsIGZsYWdzID0gMDsKPj4+IEBAIC05NTAsNyArOTUxLDcgQEAgc3RhdGljIHZv aWQgaW50ZWxfaGRtaV9nZXRfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ Pj4gICAgCWlmICh0bXAgJiBIRE1JX01PREVfU0VMRUNUX0hETUkpCj4+PiAgICAJCXBpcGVfY29u ZmlnLT5oYXNfaGRtaV9zaW5rID0gdHJ1ZTsKPj4+Cj4+PiAtCWlmIChpbnRlbF9oZG1pLT5pbmZv ZnJhbWVfZW5hYmxlZCgmZW5jb2Rlci0+YmFzZSwgcGlwZV9jb25maWcpKQo+Pj4gKwlpZiAoaW50 ZWxfZGlnX3BvcnQtPmluZm9mcmFtZV9lbmFibGVkKCZlbmNvZGVyLT5iYXNlLCBwaXBlX2NvbmZp ZykpCj4+PiAgICAJCXBpcGVfY29uZmlnLT5oYXNfaW5mb2ZyYW1lID0gdHJ1ZTsKPj4+Cj4+PiAg ICAJaWYgKHRtcCAmIFNEVk9fQVVESU9fRU5BQkxFKQo+Pj4gQEAgLTExMTcsNiArMTExOCw4IEBA IHN0YXRpYyB2b2lkIGludGVsX2Rpc2FibGVfaGRtaShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5j b2RlcikKPj4+ICAgIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZW5jb2Rlci0+YmFzZS5kZXY7 Cj4+PiAgICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJp dmF0ZTsKPj4+ICAgIAlzdHJ1Y3QgaW50ZWxfaGRtaSAqaW50ZWxfaGRtaSA9IGVuY190b19pbnRl bF9oZG1pKCZlbmNvZGVyLT5iYXNlKTsKPj4+ICsJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAq aW50ZWxfZGlnX3BvcnQgPQo+Pj4gKwkJaGRtaV90b19kaWdfcG9ydChpbnRlbF9oZG1pKTsKPj4+ ICAgIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoZW5jb2Rlci0+YmFz ZS5jcnRjKTsKPj4+ICAgIAl1MzIgdGVtcDsKPj4+Cj4+PiBAQCAtMTE1OSw3ICsxMTYyLDcgQEAg c3RhdGljIHZvaWQgaW50ZWxfZGlzYWJsZV9oZG1pKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyKQo+Pj4gICAgCQlpbnRlbF9zZXRfcGNoX2ZpZm9fdW5kZXJydW5fcmVwb3J0aW5nKGRldl9w cml2LCBQSVBFX0EsIHRydWUpOwo+Pj4gICAgCX0KPj4+Cj4+PiAtCWludGVsX2hkbWktPnNldF9p bmZvZnJhbWVzKCZlbmNvZGVyLT5iYXNlLCBmYWxzZSwgTlVMTCk7Cj4+PiArCWludGVsX2RpZ19w b3J0LT5zZXRfaW5mb2ZyYW1lcygmZW5jb2Rlci0+YmFzZSwgZmFsc2UsIE5VTEwpOwo+Pj4KPj4g SSBndWVzcyB0aGVyZSBpcyBhIHNlcGFyYXRlIHBhdGNoIHdoZXJlIHlvdSBhcmUgYWRkaW5nIHRo ZSBjb2RlIHdoaWNoCj4+IHVzZXMgdGhlc2UgZnVuY3Rpb25zIGZvciBEUCwgYW5kIHdpbGwgZ29p bmcgZnVydGhlciBpbiB0aGlzIHNlcmllcy4KPj4gLSBTaGFzaGFuawo+Pj4gICAgCWludGVsX2Rw X2R1YWxfbW9kZV9zZXRfdG1kc19vdXRwdXQoaW50ZWxfaGRtaSwgZmFsc2UpOwo+Pj4gICAgfQo+ Pj4gQEAgLTE2NTgsMjEgKzE2NjEsMjEgQEAgZG9uZToKPj4+Cj4+PiAgICBzdGF0aWMgdm9pZCBp bnRlbF9oZG1pX3ByZV9lbmFibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCj4+PiAg ICB7Cj4+PiAtCXN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1pID0gZW5jX3RvX2ludGVsX2hk bWkoJmVuY29kZXItPmJhc2UpOwo+Pj4gKwlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRl bF9kaWdfcG9ydCA9Cj4+PiArCQllbmNfdG9fZGlnX3BvcnQoJmVuY29kZXItPmJhc2UpOwo+Pj4g ICAgCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhlbmNvZGVy LT5iYXNlLmNydGMpOwo+Pj4gICAgCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1 c3RlZF9tb2RlID0gJmludGVsX2NydGMtPmNvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlOwo+Pj4K Pj4+ICAgIAlpbnRlbF9oZG1pX3ByZXBhcmUoZW5jb2Rlcik7Cj4+Pgo+Pj4gLQlpbnRlbF9oZG1p LT5zZXRfaW5mb2ZyYW1lcygmZW5jb2Rlci0+YmFzZSwKPj4+IC0JCQkJICAgaW50ZWxfY3J0Yy0+ Y29uZmlnLT5oYXNfaW5mb2ZyYW1lLAo+Pj4gLQkJCQkgICBhZGp1c3RlZF9tb2RlKTsKPj4+ICsJ aW50ZWxfZGlnX3BvcnQtPnNldF9pbmZvZnJhbWVzKCZlbmNvZGVyLT5iYXNlLAo+Pj4gKwkJCQkg ICAgICAgaW50ZWxfY3J0Yy0+Y29uZmlnLT5oYXNfaW5mb2ZyYW1lLAo+Pj4gKwkJCQkgICAgICAg YWRqdXN0ZWRfbW9kZSk7Cj4+PiAgICB9Cj4+Pgo+Pj4gICAgc3RhdGljIHZvaWQgdmx2X2hkbWlf cHJlX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKPj4+ICAgIHsKPj4+ICAg IAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkcG9ydCA9IGVuY190b19kaWdfcG9ydCgmZW5j b2Rlci0+YmFzZSk7Cj4+PiAtCXN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1pID0gJmRwb3J0 LT5oZG1pOwo+Pj4gICAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBlbmNvZGVyLT5iYXNlLmRl djsKPj4+ICAgIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9w cml2YXRlOwo+Pj4gICAgCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0KPj4+IEBAIC0x Njg1LDkgKzE2ODgsOSBAQCBzdGF0aWMgdm9pZCB2bHZfaGRtaV9wcmVfZW5hYmxlKHN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyKQo+Pj4gICAgCXZsdl9zZXRfcGh5X3NpZ25hbF9sZXZlbChl bmNvZGVyLCAweDJiMjQ1ZjVmLCAweDAwMDAyMDAwLCAweDU1NzhiODNhLAo+Pj4gICAgCQkJCSAw eDJiMjQ3ODc4KTsKPj4+Cj4+PiAtCWludGVsX2hkbWktPnNldF9pbmZvZnJhbWVzKCZlbmNvZGVy LT5iYXNlLAo+Pj4gLQkJCQkgICBpbnRlbF9jcnRjLT5jb25maWctPmhhc19pbmZvZnJhbWUsCj4+ PiAtCQkJCSAgIGFkanVzdGVkX21vZGUpOwo+Pj4gKwlkcG9ydC0+c2V0X2luZm9mcmFtZXMoJmVu Y29kZXItPmJhc2UsCj4+PiArCQkJICAgICAgaW50ZWxfY3J0Yy0+Y29uZmlnLT5oYXNfaW5mb2Zy YW1lLAo+Pj4gKwkJCSAgICAgIGFkanVzdGVkX21vZGUpOwo+Pj4KPj4+ICAgIAlnNHhfZW5hYmxl X2hkbWkoZW5jb2Rlcik7Cj4+Pgo+Pj4gQEAgLTE3MzUsNyArMTczOCw2IEBAIHN0YXRpYyB2b2lk IGNodl9oZG1pX3Bvc3RfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKPj4+ ICAgIHN0YXRpYyB2b2lkIGNodl9oZG1pX3ByZV9lbmFibGUoc3RydWN0IGludGVsX2VuY29kZXIg KmVuY29kZXIpCj4+PiAgICB7Cj4+PiAgICAJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZHBv cnQgPSBlbmNfdG9fZGlnX3BvcnQoJmVuY29kZXItPmJhc2UpOwo+Pj4gLQlzdHJ1Y3QgaW50ZWxf aGRtaSAqaW50ZWxfaGRtaSA9ICZkcG9ydC0+aGRtaTsKPj4+ICAgIAlzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2ID0gZW5jb2Rlci0+YmFzZS5kZXY7Cj4+PiAgICAJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPj4+ICAgIAlzdHJ1Y3QgaW50ZWxfY3J0 YyAqaW50ZWxfY3J0YyA9Cj4+PiBAQCAtMTc0OCw5ICsxNzUwLDkgQEAgc3RhdGljIHZvaWQgY2h2 X2hkbWlfcHJlX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKPj4+ICAgIAkv KiBVc2UgODAwbVYtMGRCICovCj4+PiAgICAJY2h2X3NldF9waHlfc2lnbmFsX2xldmVsKGVuY29k ZXIsIDEyOCwgMTAyLCBmYWxzZSk7Cj4+Pgo+Pj4gLQlpbnRlbF9oZG1pLT5zZXRfaW5mb2ZyYW1l cygmZW5jb2Rlci0+YmFzZSwKPj4+IC0JCQkJICAgaW50ZWxfY3J0Yy0+Y29uZmlnLT5oYXNfaW5m b2ZyYW1lLAo+Pj4gLQkJCQkgICBhZGp1c3RlZF9tb2RlKTsKPj4+ICsJZHBvcnQtPnNldF9pbmZv ZnJhbWVzKCZlbmNvZGVyLT5iYXNlLAo+Pj4gKwkJCSAgICAgIGludGVsX2NydGMtPmNvbmZpZy0+ aGFzX2luZm9mcmFtZSwKPj4+ICsJCQkgICAgICBhZGp1c3RlZF9tb2RlKTsKPj4+Cj4+PiAgICAJ ZzR4X2VuYWJsZV9oZG1pKGVuY29kZXIpOwo+Pj4KPj4+IEBAIC0xODgyLDI1ICsxODg0LDI1IEBA IHZvaWQgaW50ZWxfaGRtaV9pbml0X2Nvbm5lY3RvcihzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0 ICppbnRlbF9kaWdfcG9ydCwKPj4+ICAgIAl9Cj4+Pgo+Pj4gICAgCWlmIChJU19WQUxMRVlWSUVX KGRldikgfHwgSVNfQ0hFUlJZVklFVyhkZXYpKSB7Cj4+PiAtCQlpbnRlbF9oZG1pLT53cml0ZV9p bmZvZnJhbWUgPSB2bHZfd3JpdGVfaW5mb2ZyYW1lOwo+Pj4gLQkJaW50ZWxfaGRtaS0+c2V0X2lu Zm9mcmFtZXMgPSB2bHZfc2V0X2luZm9mcmFtZXM7Cj4+PiAtCQlpbnRlbF9oZG1pLT5pbmZvZnJh bWVfZW5hYmxlZCA9IHZsdl9pbmZvZnJhbWVfZW5hYmxlZDsKPj4+ICsJCWludGVsX2RpZ19wb3J0 LT53cml0ZV9pbmZvZnJhbWUgPSB2bHZfd3JpdGVfaW5mb2ZyYW1lOwo+Pj4gKwkJaW50ZWxfZGln X3BvcnQtPnNldF9pbmZvZnJhbWVzID0gdmx2X3NldF9pbmZvZnJhbWVzOwo+Pj4gKwkJaW50ZWxf ZGlnX3BvcnQtPmluZm9mcmFtZV9lbmFibGVkID0gdmx2X2luZm9mcmFtZV9lbmFibGVkOwo+Pj4g ICAgCX0gZWxzZSBpZiAoSVNfRzRYKGRldikpIHsKPj4+IC0JCWludGVsX2hkbWktPndyaXRlX2lu Zm9mcmFtZSA9IGc0eF93cml0ZV9pbmZvZnJhbWU7Cj4+PiAtCQlpbnRlbF9oZG1pLT5zZXRfaW5m b2ZyYW1lcyA9IGc0eF9zZXRfaW5mb2ZyYW1lczsKPj4+IC0JCWludGVsX2hkbWktPmluZm9mcmFt ZV9lbmFibGVkID0gZzR4X2luZm9mcmFtZV9lbmFibGVkOwo+Pj4gKwkJaW50ZWxfZGlnX3BvcnQt PndyaXRlX2luZm9mcmFtZSA9IGc0eF93cml0ZV9pbmZvZnJhbWU7Cj4+PiArCQlpbnRlbF9kaWdf cG9ydC0+c2V0X2luZm9mcmFtZXMgPSBnNHhfc2V0X2luZm9mcmFtZXM7Cj4+PiArCQlpbnRlbF9k aWdfcG9ydC0+aW5mb2ZyYW1lX2VuYWJsZWQgPSBnNHhfaW5mb2ZyYW1lX2VuYWJsZWQ7Cj4+PiAg ICAJfSBlbHNlIGlmIChIQVNfRERJKGRldikpIHsKPj4+IC0JCWludGVsX2hkbWktPndyaXRlX2lu Zm9mcmFtZSA9IGhzd193cml0ZV9pbmZvZnJhbWU7Cj4+PiAtCQlpbnRlbF9oZG1pLT5zZXRfaW5m b2ZyYW1lcyA9IGhzd19zZXRfaW5mb2ZyYW1lczsKPj4+IC0JCWludGVsX2hkbWktPmluZm9mcmFt ZV9lbmFibGVkID0gaHN3X2luZm9mcmFtZV9lbmFibGVkOwo+Pj4gKwkJaW50ZWxfZGlnX3BvcnQt PndyaXRlX2luZm9mcmFtZSA9IGhzd193cml0ZV9pbmZvZnJhbWU7Cj4+PiArCQlpbnRlbF9kaWdf cG9ydC0+c2V0X2luZm9mcmFtZXMgPSBoc3dfc2V0X2luZm9mcmFtZXM7Cj4+PiArCQlpbnRlbF9k aWdfcG9ydC0+aW5mb2ZyYW1lX2VuYWJsZWQgPSBoc3dfaW5mb2ZyYW1lX2VuYWJsZWQ7Cj4+PiAg ICAJfSBlbHNlIGlmIChIQVNfUENIX0lCWChkZXYpKSB7Cj4+PiAtCQlpbnRlbF9oZG1pLT53cml0 ZV9pbmZvZnJhbWUgPSBpYnhfd3JpdGVfaW5mb2ZyYW1lOwo+Pj4gLQkJaW50ZWxfaGRtaS0+c2V0 X2luZm9mcmFtZXMgPSBpYnhfc2V0X2luZm9mcmFtZXM7Cj4+PiAtCQlpbnRlbF9oZG1pLT5pbmZv ZnJhbWVfZW5hYmxlZCA9IGlieF9pbmZvZnJhbWVfZW5hYmxlZDsKPj4+ICsJCWludGVsX2RpZ19w b3J0LT53cml0ZV9pbmZvZnJhbWUgPSBpYnhfd3JpdGVfaW5mb2ZyYW1lOwo+Pj4gKwkJaW50ZWxf ZGlnX3BvcnQtPnNldF9pbmZvZnJhbWVzID0gaWJ4X3NldF9pbmZvZnJhbWVzOwo+Pj4gKwkJaW50 ZWxfZGlnX3BvcnQtPmluZm9mcmFtZV9lbmFibGVkID0gaWJ4X2luZm9mcmFtZV9lbmFibGVkOwo+ Pj4gICAgCX0gZWxzZSB7Cj4+PiAtCQlpbnRlbF9oZG1pLT53cml0ZV9pbmZvZnJhbWUgPSBjcHRf d3JpdGVfaW5mb2ZyYW1lOwo+Pj4gLQkJaW50ZWxfaGRtaS0+c2V0X2luZm9mcmFtZXMgPSBjcHRf c2V0X2luZm9mcmFtZXM7Cj4+PiAtCQlpbnRlbF9oZG1pLT5pbmZvZnJhbWVfZW5hYmxlZCA9IGNw dF9pbmZvZnJhbWVfZW5hYmxlZDsKPj4+ICsJCWludGVsX2RpZ19wb3J0LT53cml0ZV9pbmZvZnJh bWUgPSBjcHRfd3JpdGVfaW5mb2ZyYW1lOwo+Pj4gKwkJaW50ZWxfZGlnX3BvcnQtPnNldF9pbmZv ZnJhbWVzID0gY3B0X3NldF9pbmZvZnJhbWVzOwo+Pj4gKwkJaW50ZWxfZGlnX3BvcnQtPmluZm9m cmFtZV9lbmFibGVkID0gY3B0X2luZm9mcmFtZV9lbmFibGVkOwo+Pj4gICAgCX0KPj4+Cj4+PiAg ICAJaWYgKEhBU19EREkoZGV2KSkKPj4+Cj4KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vaW50ZWwtZ2Z4Cg==