From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH v2 1/3] drm/i915: Add function to return port from an encoder Date: Fri, 19 Aug 2016 10:02:02 +0200 Message-ID: <20160819080202.GW6232@phenom.ffwll.local> References: <1471305655-4695-1-git-send-email-dhinakaran.pandiyan@intel.com> <1471305655-4695-2-git-send-email-dhinakaran.pandiyan@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x242.google.com (mail-wm0-x242.google.com [IPv6:2a00:1450:400c:c09::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id E08486EB95 for ; Fri, 19 Aug 2016 08:02:06 +0000 (UTC) Received: by mail-wm0-x242.google.com with SMTP id i5so2406999wmg.2 for ; Fri, 19 Aug 2016 01:02:06 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1471305655-4695-2-git-send-email-dhinakaran.pandiyan@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Dhinakaran Pandiyan Cc: intel-gfx@lists.freedesktop.org, libin.yang@linux.intel.com List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCBBdWcgMTUsIDIwMTYgYXQgMDU6MDA6NTNQTSAtMDcwMCwgRGhpbmFrYXJhbiBQYW5k aXlhbiB3cm90ZToKPiBUaGVyZSBhcmUgcGxhY2VzIGluIHRoZSBkcml2ZXIgd2hlcmUgd2UganVz dCBuZWVkIHRoZSAncG9ydCcgYXNzb2NpYXRlZAo+IHdpdGggYW4gZW5jb2RlciBhbmQgbm90ICdz dHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0JyB0aGF0IGNvbnRhaW5zIGl0Lgo+IFRoaXMgYmFzaWNh bGx5IGlzIGEgZ2VuZXJpYyBpbXBsZW1lbnRhdGlvbiBvZiBpbnRlbF9kZGlfZ2V0X2VuY29kZXJf cG9ydCgpCj4gaGFuZGxpbmcgYm90aCBEREkgYW5kIE5vbi1EREkgZW5jb2RlcnMuIFRoZSBoYW5k bGluZyBvZiB0aGUgYW5hbG9nIGVuY29kZXIKPiBpcyBkZWxlZ2F0ZWQgdG8gdGhlIERESSBzcGVj aWZpYyBmdW5jdGlvbi4KPiAKPiBUaGUgaWRlYSB0byBoYXZlIGEgZ2VuZXJpYyBpbXBsZW1lbnRh dGlvbiB0aGF0IHJldHVybmVkIHRoZSAnZW51bSBwb3J0Jwo+IGZyb20gJ3N0cnVjdCBpbnRlbF9l bmNvZGVyJyBjYW1lIGZyb20gVmlsbGUuCj4gCj4gU2lnbmVkLW9mZi1ieTogRGhpbmFrYXJhbiBQ YW5kaXlhbiA8ZGhpbmFrYXJhbi5wYW5kaXlhbkBpbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RkaS5jICAgICAgfCA0MiArKysrKysrKysrLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgIHwg MTggKysrKysrKysrKysrKysrCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAg ICAgfCAgOCArKysrKystCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX29wcmVnaW9uLmMg fCAgMiArLQo+ICA0IGZpbGVzIGNoYW5nZWQsIDM4IGluc2VydGlvbnMoKyksIDMyIGRlbGV0aW9u cygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gaW5kZXggYzJkZjRlNC4uMTNjZWVm NCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gQEAgLTMwMSwyNCArMzAxLDYgQEAg c3RhdGljIGNvbnN0IHN0cnVjdCBieHRfZGRpX2J1Zl90cmFucyBieHRfZGRpX3RyYW5zbGF0aW9u c19oZG1pW10gPSB7Cj4gIAl7IDE1NCwgMHg5QSwgMSwgMTI4LCB0cnVlIH0sCS8qIDk6CTEyMDAJ CTAgICAqLwo+ICB9Owo+ICAKPiAtZW51bSBwb3J0IGludGVsX2RkaV9nZXRfZW5jb2Rlcl9wb3J0 KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQo+IC17Cj4gLQlzd2l0Y2ggKGVuY29kZXIt PnR5cGUpIHsKPiAtCWNhc2UgSU5URUxfT1VUUFVUX0RQX01TVDoKPiAtCQlyZXR1cm4gZW5jX3Rv X21zdCgmZW5jb2Rlci0+YmFzZSktPnByaW1hcnktPnBvcnQ7Cj4gLQljYXNlIElOVEVMX09VVFBV VF9EUDoKPiAtCWNhc2UgSU5URUxfT1VUUFVUX0VEUDoKPiAtCWNhc2UgSU5URUxfT1VUUFVUX0hE TUk6Cj4gLQljYXNlIElOVEVMX09VVFBVVF9VTktOT1dOOgo+IC0JCXJldHVybiBlbmNfdG9fZGln X3BvcnQoJmVuY29kZXItPmJhc2UpLT5wb3J0Owo+IC0JY2FzZSBJTlRFTF9PVVRQVVRfQU5BTE9H Ogo+IC0JCXJldHVybiBQT1JUX0U7Cj4gLQlkZWZhdWx0Ogo+IC0JCU1JU1NJTkdfQ0FTRShlbmNv ZGVyLT50eXBlKTsKPiAtCQlyZXR1cm4gUE9SVF9BOwo+IC0JfQo+IC19Cgp0YmggaWYgd2UgcmVh bGx5IG5lZWQgdGhpcyBpbiBnZW5lcmFsLCBJJ2QganVzdCBzdG9yZSB0aGUgcG9ydCBlbnVtIGlu CmludGVsX2VuY29kZXIgYW5kIHRoYXQncyBpdC4gTWF5YmUgYWRkIGEgUE9SVF9OT05FID0gLTEg Zm9yIGFsbCB0aGUgY2FzZXMKd2hlcmUgaXQncyBub3QgYSBwb3J0LiBBIGJpdCBtb3JlIGNodXJu IHRvIHJvbGwgaXQgdG91LCBidXQgdGhpcyBtYXplIG9mCmluZGlyZWN0aW9ucyBhbmQgY2FzdGlu ZyBoZXJlIGlzIHJlYWxseSBub3QgcHJldHR5LgoKVGhlIGdpdmUtYXdheSBpcyB0aGF0IHdlIGhh dmUgdGhpcyBtYXNzaXZlIHR5cGUgc3dpdGNoIGJsb2NrLCBmb3IKc29tZXRoaW5nIHdoaWNoIGlz IGRlc2lnbmVkIGFmdGVyIE9PIHByaW5pY2lwbGVzOiBUaGUgY29ycmVjdCB3YXkgdG8gZml4CnRo YXQgaXMgYnkgbW92aW5nIHN0dWZmIHVwIGluIHRoZSBpbmhlcml0ZW5jZSBoaXJhcmNoeS4KLURh bmllbAoKPiAtCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZGRpX2J1Zl90cmFucyAqCj4gIGJkd19n ZXRfYnVmX3RyYW5zX2VkcChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGludCAq bl9lbnRyaWVzKQo+ICB7Cj4gQEAgLTQyMSw3ICs0MDMsNyBAQCB2b2lkIGludGVsX3ByZXBhcmVf ZHBfZGRpX2J1ZmZlcnMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCj4gIAlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsK PiAgCXUzMiBpYm9vc3RfYml0ID0gMDsKPiAgCWludCBpLCBuX2RwX2VudHJpZXMsIG5fZWRwX2Vu dHJpZXMsIHNpemU7Cj4gLQllbnVtIHBvcnQgcG9ydCA9IGludGVsX2RkaV9nZXRfZW5jb2Rlcl9w b3J0KGVuY29kZXIpOwo+ICsJZW51bSBwb3J0IHBvcnQgPSBpbnRlbF9nZXRfZW5jb2Rlcl9wb3J0 KGVuY29kZXIpOwo+ICAJY29uc3Qgc3RydWN0IGRkaV9idWZfdHJhbnMgKmRkaV90cmFuc2xhdGlv bnNfZmRpOwo+ICAJY29uc3Qgc3RydWN0IGRkaV9idWZfdHJhbnMgKmRkaV90cmFuc2xhdGlvbnNf ZHA7Cj4gIAljb25zdCBzdHJ1Y3QgZGRpX2J1Zl90cmFucyAqZGRpX3RyYW5zbGF0aW9uc19lZHA7 Cj4gQEAgLTQ5OSw3ICs0ODEsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9wcmVwYXJlX2hkbWlfZGRp X2J1ZmZlcnMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCj4gIAlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKPiAgCXUz MiBpYm9vc3RfYml0ID0gMDsKPiAgCWludCBuX2hkbWlfZW50cmllcywgaGRtaV9sZXZlbDsKPiAt CWVudW0gcG9ydCBwb3J0ID0gaW50ZWxfZGRpX2dldF9lbmNvZGVyX3BvcnQoZW5jb2Rlcik7Cj4g KwllbnVtIHBvcnQgcG9ydCA9IGludGVsX2dldF9lbmNvZGVyX3BvcnQoZW5jb2Rlcik7Cj4gIAlj b25zdCBzdHJ1Y3QgZGRpX2J1Zl90cmFucyAqZGRpX3RyYW5zbGF0aW9uc19oZG1pOwo+ICAKPiAg CWlmIChJU19CUk9YVE9OKGRldl9wcml2KSkKPiBAQCAtOTg3LDcgKzk2OSw3IEBAIHN0YXRpYyB2 b2lkIGJ4dF9kZGlfY2xvY2tfZ2V0KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAJ CQkJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKQo+ICB7Cj4gIAlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsK PiAtCWVudW0gcG9ydCBwb3J0ID0gaW50ZWxfZGRpX2dldF9lbmNvZGVyX3BvcnQoZW5jb2Rlcik7 Cj4gKwllbnVtIHBvcnQgcG9ydCA9IGludGVsX2dldF9lbmNvZGVyX3BvcnQoZW5jb2Rlcik7Cj4g IAl1aW50MzJfdCBkcGxsID0gcG9ydDsKPiAgCj4gIAlwaXBlX2NvbmZpZy0+cG9ydF9jbG9jayA9 IGJ4dF9jYWxjX3BsbF9saW5rKGRldl9wcml2LCBkcGxsKTsKPiBAQCAtMTEzMCw3ICsxMTEyLDcg QEAgdm9pZCBpbnRlbF9kZGlfZW5hYmxlX3RyYW5zY29kZXJfZnVuYyhzdHJ1Y3QgZHJtX2NydGMg KmNydGMpCj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRl dik7Cj4gIAllbnVtIHBpcGUgcGlwZSA9IGludGVsX2NydGMtPnBpcGU7Cj4gIAllbnVtIHRyYW5z Y29kZXIgY3B1X3RyYW5zY29kZXIgPSBpbnRlbF9jcnRjLT5jb25maWctPmNwdV90cmFuc2NvZGVy Owo+IC0JZW51bSBwb3J0IHBvcnQgPSBpbnRlbF9kZGlfZ2V0X2VuY29kZXJfcG9ydChpbnRlbF9l bmNvZGVyKTsKPiArCWVudW0gcG9ydCBwb3J0ID0gaW50ZWxfZ2V0X2VuY29kZXJfcG9ydChpbnRl bF9lbmNvZGVyKTsKPiAgCWludCB0eXBlID0gaW50ZWxfZW5jb2Rlci0+dHlwZTsKPiAgCXVpbnQz Ml90IHRlbXA7Cj4gIAo+IEBAIC0xMjI2LDcgKzEyMDgsNyBAQCBib29sIGludGVsX2RkaV9jb25u ZWN0b3JfZ2V0X2h3X3N0YXRlKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmludGVsX2Nvbm5lY3Rv cikKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsK PiAgCXN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyID0gaW50ZWxfY29ubmVjdG9y LT5lbmNvZGVyOwo+ICAJaW50IHR5cGUgPSBpbnRlbF9jb25uZWN0b3ItPmJhc2UuY29ubmVjdG9y X3R5cGU7Cj4gLQllbnVtIHBvcnQgcG9ydCA9IGludGVsX2RkaV9nZXRfZW5jb2Rlcl9wb3J0KGlu dGVsX2VuY29kZXIpOwo+ICsJZW51bSBwb3J0IHBvcnQgPSBpbnRlbF9nZXRfZW5jb2Rlcl9wb3J0 KGludGVsX2VuY29kZXIpOwo+ICAJZW51bSBwaXBlIHBpcGUgPSAwOwo+ICAJZW51bSB0cmFuc2Nv ZGVyIGNwdV90cmFuc2NvZGVyOwo+ICAJZW51bSBpbnRlbF9kaXNwbGF5X3Bvd2VyX2RvbWFpbiBw b3dlcl9kb21haW47Cj4gQEAgLTEyODYsNyArMTI2OCw3IEBAIGJvb2wgaW50ZWxfZGRpX2dldF9o d19zdGF0ZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgewo+ICAJc3RydWN0IGRy bV9kZXZpY2UgKmRldiA9IGVuY29kZXItPmJhc2UuZGV2Owo+ICAJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwo+IC0JZW51bSBwb3J0IHBvcnQgPSBpbnRl bF9kZGlfZ2V0X2VuY29kZXJfcG9ydChlbmNvZGVyKTsKPiArCWVudW0gcG9ydCBwb3J0ID0gaW50 ZWxfZ2V0X2VuY29kZXJfcG9ydChlbmNvZGVyKTsKPiAgCWVudW0gaW50ZWxfZGlzcGxheV9wb3dl cl9kb21haW4gcG93ZXJfZG9tYWluOwo+ICAJdTMyIHRtcDsKPiAgCWludCBpOwo+IEBAIC0xMzYx LDcgKzEzNDMsNyBAQCB2b2lkIGludGVsX2RkaV9lbmFibGVfcGlwZV9jbG9jayhzdHJ1Y3QgaW50 ZWxfY3J0YyAqaW50ZWxfY3J0YykKPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5k ZXY7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7 Cj4gIAlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlciA9IGludGVsX2RkaV9nZXRf Y3J0Y19lbmNvZGVyKGNydGMpOwo+IC0JZW51bSBwb3J0IHBvcnQgPSBpbnRlbF9kZGlfZ2V0X2Vu Y29kZXJfcG9ydChpbnRlbF9lbmNvZGVyKTsKPiArCWVudW0gcG9ydCBwb3J0ID0gaW50ZWxfZ2V0 X2VuY29kZXJfcG9ydChpbnRlbF9lbmNvZGVyKTsKPiAgCWVudW0gdHJhbnNjb2RlciBjcHVfdHJh bnNjb2RlciA9IGludGVsX2NydGMtPmNvbmZpZy0+Y3B1X3RyYW5zY29kZXI7Cj4gIAo+ICAJaWYg KGNwdV90cmFuc2NvZGVyICE9IFRSQU5TQ09ERVJfRURQKQo+IEBAIC0xNTg5LDcgKzE1NzEsNyBA QCB2b2lkIGludGVsX2RkaV9jbGtfc2VsZWN0KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVy LAo+ICAJCQkgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZykKPiAg ewo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVy LT5iYXNlLmRldik7Cj4gLQllbnVtIHBvcnQgcG9ydCA9IGludGVsX2RkaV9nZXRfZW5jb2Rlcl9w b3J0KGVuY29kZXIpOwo+ICsJZW51bSBwb3J0IHBvcnQgPSBpbnRlbF9nZXRfZW5jb2Rlcl9wb3J0 KGVuY29kZXIpOwo+ICAKPiAgCWlmIChJU19TS1lMQUtFKGRldl9wcml2KSB8fCBJU19LQUJZTEFL RShkZXZfcHJpdikpIHsKPiAgCQl1aW50MzJfdCBkcGxsID0gcGlwZV9jb25maWctPmRkaV9wbGxf c2VsOwo+IEBAIC0xNjE2LDcgKzE1OTgsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfcHJlX2Vu YWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlcikKPiAgCXN0cnVjdCBkcm1f ZW5jb2RlciAqZW5jb2RlciA9ICZpbnRlbF9lbmNvZGVyLT5iYXNlOwo+ICAJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5kZXYpOwo+ICAJc3RydWN0 IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGVuY29kZXItPmNydGMpOwo+IC0JZW51 bSBwb3J0IHBvcnQgPSBpbnRlbF9kZGlfZ2V0X2VuY29kZXJfcG9ydChpbnRlbF9lbmNvZGVyKTsK PiArCWVudW0gcG9ydCBwb3J0ID0gaW50ZWxfZ2V0X2VuY29kZXJfcG9ydChpbnRlbF9lbmNvZGVy KTsKPiAgCWludCB0eXBlID0gaW50ZWxfZW5jb2Rlci0+dHlwZTsKPiAgCj4gIAlpZiAodHlwZSA9 PSBJTlRFTF9PVVRQVVRfSERNSSkgewo+IEBAIC0xNjY4LDcgKzE2NTAsNyBAQCBzdGF0aWMgdm9p ZCBpbnRlbF9kZGlfcG9zdF9kaXNhYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNv ZGVyKQo+ICAJc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyID0gJmludGVsX2VuY29kZXItPmJh c2U7Cj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZW5jb2Rlci0+ZGV2Owo+ICAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwo+IC0JZW51bSBwb3J0 IHBvcnQgPSBpbnRlbF9kZGlfZ2V0X2VuY29kZXJfcG9ydChpbnRlbF9lbmNvZGVyKTsKPiArCWVu dW0gcG9ydCBwb3J0ID0gaW50ZWxfZ2V0X2VuY29kZXJfcG9ydChpbnRlbF9lbmNvZGVyKTsKPiAg CWludCB0eXBlID0gaW50ZWxfZW5jb2Rlci0+dHlwZTsKPiAgCXVpbnQzMl90IHZhbDsKPiAgCWJv b2wgd2FpdCA9IGZhbHNlOwo+IEBAIC0xNzE1LDcgKzE2OTcsNyBAQCBzdGF0aWMgdm9pZCBpbnRl bF9lbmFibGVfZGRpKHN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyKQo+ICAJc3Ry dWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOwo+ICAJc3Ry dWN0IGRybV9kZXZpY2UgKmRldiA9IGVuY29kZXItPmRldjsKPiAgCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKPiAtCWVudW0gcG9ydCBwb3J0ID0gaW50 ZWxfZGRpX2dldF9lbmNvZGVyX3BvcnQoaW50ZWxfZW5jb2Rlcik7Cj4gKwllbnVtIHBvcnQgcG9y dCA9IGludGVsX2dldF9lbmNvZGVyX3BvcnQoaW50ZWxfZW5jb2Rlcik7Cj4gIAlpbnQgdHlwZSA9 IGludGVsX2VuY29kZXItPnR5cGU7Cj4gIAo+ICAJaWYgKHR5cGUgPT0gSU5URUxfT1VUUFVUX0hE TUkpIHsKPiBAQCAtMjI3Niw3ICsyMjU4LDcgQEAgc3RhdGljIGJvb2wgaW50ZWxfZGRpX2NvbXB1 dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICB7Cj4gIAlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsK PiAgCWludCB0eXBlID0gZW5jb2Rlci0+dHlwZTsKPiAtCWludCBwb3J0ID0gaW50ZWxfZGRpX2dl dF9lbmNvZGVyX3BvcnQoZW5jb2Rlcik7Cj4gKwlpbnQgcG9ydCA9IGludGVsX2dldF9lbmNvZGVy X3BvcnQoZW5jb2Rlcik7Cj4gIAlpbnQgcmV0Owo+ICAKPiAgCVdBUk4odHlwZSA9PSBJTlRFTF9P VVRQVVRfVU5LTk9XTiwgImNvbXB1dGVfY29uZmlnKCkgb24gdW5rbm93biBvdXRwdXQhXG4iKTsK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gaW5kZXggOWNiZjU0My4uNDRkMjBi ZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBAQCAtMTYyNzcsNiAr MTYyNzcsMjQgQEAgZXJyOgo+ICAJcmV0dXJuIHJldDsKPiAgfQo+ICAKPiArZW51bSBwb3J0IGlu dGVsX2dldF9lbmNvZGVyX3BvcnQoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCj4gK3sK PiArICAgICAgICBzd2l0Y2ggKGVuY29kZXItPnR5cGUpIHsKPiArICAgICAgICBjYXNlIElOVEVM X09VVFBVVF9EUF9NU1Q6Cj4gKyAgICAgICAgICAgICAgICByZXR1cm4gZW5jX3RvX21zdCgmZW5j b2Rlci0+YmFzZSktPnByaW1hcnktPnBvcnQ7Cj4gKyAgICAgICAgY2FzZSBJTlRFTF9PVVRQVVRf RFA6Cj4gKyAgICAgICAgY2FzZSBJTlRFTF9PVVRQVVRfRURQOgo+ICsgICAgICAgIGNhc2UgSU5U RUxfT1VUUFVUX0hETUk6Cj4gKyAgICAgICAgY2FzZSBJTlRFTF9PVVRQVVRfVU5LTk9XTjoKPiAr ICAgICAgICAgICAgICAgIHJldHVybiBlbmNfdG9fZGlnX3BvcnQoJmVuY29kZXItPmJhc2UpLT5w b3J0Owo+ICsgICAgICAgIGNhc2UgSU5URUxfT1VUUFVUX0FOQUxPRzoKPiArICAgICAgICAgICAg ICAgIHJldHVybiBpbnRlbF9kZGlfZ2V0X2FuYWxvZ19wb3J0KCk7Cj4gKyAgICAgICAgZGVmYXVs dDoKPiArICAgICAgICAgICAgICAgIE1JU1NJTkdfQ0FTRShlbmNvZGVyLT50eXBlKTsKPiArICAg ICAgICAgICAgICAgIHJldHVybiBQT1JUX0E7Cj4gKyAgICAgICAgfQo+ICt9Cj4gKwo+ICB2b2lk IGludGVsX2Nvbm5lY3Rvcl91bnJlZ2lzdGVyKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0 b3IpCj4gIHsKPiAgCXN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmludGVsX2Nvbm5lY3RvciA9IHRv X2ludGVsX2Nvbm5lY3Rvcihjb25uZWN0b3IpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4g aW5kZXggYjFmYzY3ZS4uMTlhYWI3YiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4g QEAgLTExMTEsNyArMTExMSwxMiBAQCB2b2lkIGludGVsX2RkaV9jbGtfc2VsZWN0KHN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICB2b2lkIGludGVsX3ByZXBhcmVfZHBfZGRpX2J1ZmZl cnMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpOwo+ICB2b2lkIGhzd19mZGlfbGlua190 cmFpbihzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOwo+ICB2b2lkIGludGVsX2RkaV9pbml0KHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsIGVudW0gcG9ydCBwb3J0KTsKPiAtZW51bSBwb3J0IGludGVsX2Rk aV9nZXRfZW5jb2Rlcl9wb3J0KHN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyKTsK PiArCj4gK3N0YXRpYyBpbmxpbmUgZW51bSBwb3J0IGludGVsX2RkaV9nZXRfYW5hbG9nX3BvcnQo dm9pZCkKPiArewo+ICsJcmV0dXJuIFBPUlRfQTsKPiArfQo+ICsKPiAgYm9vbCBpbnRlbF9kZGlf Z2V0X2h3X3N0YXRlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLCBlbnVtIHBpcGUgKnBp cGUpOwo+ICB2b2lkIGludGVsX2RkaV9lbmFibGVfdHJhbnNjb2Rlcl9mdW5jKHN0cnVjdCBkcm1f Y3J0YyAqY3J0Yyk7Cj4gIHZvaWQgaW50ZWxfZGRpX2Rpc2FibGVfdHJhbnNjb2Rlcl9mdW5jKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiBAQCAtMTE4OSw2ICsxMTk0LDcgQEAg aW50ZWxfY3J0Y19oYXNfZHBfZW5jb2Rlcihjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq Y3J0Y19zdGF0ZSkKPiAgCQkgKDEgPDwgSU5URUxfT1VUUFVUX0RQX01TVCkgfAo+ICAJCSAoMSA8 PCBJTlRFTF9PVVRQVVRfRURQKSk7Cj4gIH0KPiArZW51bSBwb3J0IGludGVsX2dldF9lbmNvZGVy X3BvcnQoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpOwo+ICBzdGF0aWMgaW5saW5lIHZv aWQKPiAgaW50ZWxfd2FpdF9mb3JfdmJsYW5rKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGludCBw aXBlKQo+ICB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX29wcmVn aW9uLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9vcHJlZ2lvbi5jCj4gaW5kZXggYWRj YTI2Mi4uOWMwMDQzZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9v cHJlZ2lvbi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfb3ByZWdpb24uYwo+ IEBAIC0zNjYsNyArMzY2LDcgQEAgaW50IGludGVsX29wcmVnaW9uX25vdGlmeV9lbmNvZGVyKHN0 cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyLAo+ICAJaWYgKGludGVsX2VuY29kZXIt PnR5cGUgPT0gSU5URUxfT1VUUFVUX0RTSSkKPiAgCQlwb3J0ID0gMDsKPiAgCWVsc2UKPiAtCQlw b3J0ID0gaW50ZWxfZGRpX2dldF9lbmNvZGVyX3BvcnQoaW50ZWxfZW5jb2Rlcik7Cj4gKwkJcG9y dCA9IGludGVsX2dldF9lbmNvZGVyX3BvcnQoaW50ZWxfZW5jb2Rlcik7Cj4gIAo+ICAJaWYgKHBv cnQgPT0gUE9SVF9FKSAgewo+ICAJCXBvcnQgPSAwOwo+IC0tIAo+IDIuNS4wCj4gCj4gX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBJbnRlbC1nZnggbWFp bGluZyBsaXN0Cj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4CgotLSAKRGFuaWVs IFZldHRlcgpTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KaHR0cDovL2Jsb2cu ZmZ3bGwuY2gKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K SW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==