From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 4/7] drm/i915: Move infoframe vfuncs into intel_digital_port Date: Mon, 13 Jun 2016 15:25:38 +0300 Message-ID: <20160613122538.GO4329@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> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id B08236E297 for ; Mon, 13 Jun 2016 12:25:41 +0000 (UTC) Content-Disposition: inline In-Reply-To: <575E8829.2050607@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Sharma, Shashank" Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCBKdW4gMTMsIDIwMTYgYXQgMDM6NDc6MTNQTSArMDUzMCwgU2hhcm1hLCBTaGFzaGFu ayB3cm90ZToKPiBSZWdhcmRzCj4gU2hhc2hhbmsKPiAKPiBPbiA2LzMvMjAxNiAxOjI1IEFNLCB2 aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbSB3cm90ZToKPiA+IEZyb206IFZpbGxlIFN5cmrD pGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gPgo+ID4gRFAgcG9ydHMgd2ls bCBhbHNvIHdhbnQgdG8gdXRpbGl6ZSB0aGUgdmlkZW8gRElQIGZvciBTRFAgdHJhbnNtaXNzaW9u Lgo+ID4gU28gbGV0J3MgbW92ZSB0aGUgdmZ1bmNzIGludG8gdGhlIGRpZ19wb3J0Lgo+ID4KPiA+ IFNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRl bC5jb20+Cj4gPiAtLS0KPiA+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMgIHwg MjAgKysrKysrLS0tLS0tCj4gPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICB8 IDE2ICsrKysrLS0tLS0KPiA+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jIHwg NjQgKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tCj4gPiAgIDMgZmlsZXMg Y2hhbmdlZCwgNTIgaW5zZXJ0aW9ucygrKSwgNDggZGVsZXRpb25zKC0pCj4gPgo+ID4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGRpLmMKPiA+IGluZGV4IDZmZjJhN2I5N2NhNi4uM2E4ODJhOTc5ZTVkIDEw MDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiA+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gPiBAQCAtMTYyOCwxMSArMTYyOCwx MiBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfcHJlX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqaW50ZWxfZW5jb2RlcikKPiA+ICAgCQlpZiAocG9ydCAhPSBQT1JUX0EgfHwgSU5URUxfSU5G TyhkZXZfcHJpdiktPmdlbiA+PSA5KQo+ID4gICAJCQlpbnRlbF9kcF9zdG9wX2xpbmtfdHJhaW4o aW50ZWxfZHApOwo+ID4gICAJfSBlbHNlIGlmICh0eXBlID09IElOVEVMX09VVFBVVF9IRE1JKSB7 Cj4gPiAtCQlzdHJ1Y3QgaW50ZWxfaGRtaSAqaW50ZWxfaGRtaSA9IGVuY190b19pbnRlbF9oZG1p KGVuY29kZXIpOwo+ID4gKwkJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3Bv cnQgPQo+ID4gKwkJCWVuY190b19kaWdfcG9ydChlbmNvZGVyKTsKPiA+Cj4gPiAtCQlpbnRlbF9o ZG1pLT5zZXRfaW5mb2ZyYW1lcyhlbmNvZGVyLAo+ID4gLQkJCQkJICAgY3J0Yy0+Y29uZmlnLT5o YXNfaW5mb2ZyYW1lLAo+ID4gLQkJCQkJICAgJmNydGMtPmNvbmZpZy0+YmFzZS5hZGp1c3RlZF9t b2RlKTsKPiA+ICsJCWludGVsX2RpZ19wb3J0LT5zZXRfaW5mb2ZyYW1lcyhlbmNvZGVyLAo+ID4g KwkJCQkJICAgICAgIGNydGMtPmNvbmZpZy0+aGFzX2luZm9mcmFtZSwKPiA+ICsKPiBXZSBoYXZl IGtlcHQgdGhpcyBjYWxsIHN0aWxsIGluc2lkZSBpZiAodHlwZSA9PSBIRE1JKTsgbm93IHdoZW4g dGhlIGFpbSAKPiBpcyB0byBtYWtlIGl0IGNvbW1vbiBmb3IgYWxsIERESSBpbnRlcmZhY2VzLCBk byB3ZSBuZWVkIHRoaXMgY2hlY2sgPwo+IAkJCQkJICAgICAgICZjcnRjLT5jb25maWctPmJhc2Uu YWRqdXN0ZWRfbW9kZSk7CgpUaGlzIGlzIGEgcHVyZWx5IG1lY2hhbmljYWwgY2hhbmdlLiBObyBj aGFuZ2UgaW4gYmVoYXZpb3VyLgoKPiA+ICAgCX0KPiA+ICAgfQo+ID4KPiA+IEBAIC0xNjYyLDkg KzE2NjMsMTAgQEAgc3RhdGljIHZvaWQgaW50ZWxfZGRpX3Bvc3RfZGlzYWJsZShzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlcikKPiA+ICAgCQlpbnRlbF93YWl0X2RkaV9idWZfaWRs ZShkZXZfcHJpdiwgcG9ydCk7Cj4gPgo+ID4gICAJaWYgKHR5cGUgPT0gSU5URUxfT1VUUFVUX0hE TUkpIHsKPiA+IC0JCXN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1pID0gZW5jX3RvX2ludGVs X2hkbWkoZW5jb2Rlcik7Cj4gPiArCQlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9k aWdfcG9ydCA9Cj4gPiArCQkJZW5jX3RvX2RpZ19wb3J0KGVuY29kZXIpOwo+ID4KPiA+IC0JCWlu dGVsX2hkbWktPnNldF9pbmZvZnJhbWVzKGVuY29kZXIsIGZhbHNlLCBOVUxMKTsKPiA+ICsJCWlu dGVsX2RpZ19wb3J0LT5zZXRfaW5mb2ZyYW1lcyhlbmNvZGVyLCBmYWxzZSwgTlVMTCk7Cj4gU2Ft ZSBhcyBhYm92ZS4KPiA+ICAgCX0KPiA+Cj4gPiAgIAlpZiAodHlwZSA9PSBJTlRFTF9PVVRQVVRf RElTUExBWVBPUlQgfHwgdHlwZSA9PSBJTlRFTF9PVVRQVVRfRURQKSB7Cj4gPiBAQCAtMjE1NSw3 ICsyMTU3LDcgQEAgdm9pZCBpbnRlbF9kZGlfZ2V0X2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqZW5jb2RlciwKPiA+ICAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGVu Y29kZXItPmJhc2UuZGV2LT5kZXZfcHJpdmF0ZTsKPiA+ICAgCXN0cnVjdCBpbnRlbF9jcnRjICpp bnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhlbmNvZGVyLT5iYXNlLmNydGMpOwo+ID4gICAJZW51 bSB0cmFuc2NvZGVyIGNwdV90cmFuc2NvZGVyID0gcGlwZV9jb25maWctPmNwdV90cmFuc2NvZGVy Owo+ID4gLQlzdHJ1Y3QgaW50ZWxfaGRtaSAqaW50ZWxfaGRtaTsKPiA+ICsJc3RydWN0IGludGVs X2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQ7Cj4gPiAgIAl1MzIgdGVtcCwgZmxhZ3MgPSAw Owo+ID4KPiA+ICAgCS8qIFhYWDogRFNJIHRyYW5zY29kZXIgcGFyYW5vaWEgKi8KPiA+IEBAIC0y MTk0LDkgKzIxOTYsOSBAQCB2b2lkIGludGVsX2RkaV9nZXRfY29uZmlnKHN0cnVjdCBpbnRlbF9l bmNvZGVyICplbmNvZGVyLAo+ID4gICAJc3dpdGNoICh0ZW1wICYgVFJBTlNfRERJX01PREVfU0VM RUNUX01BU0spIHsKPiA+ICAgCWNhc2UgVFJBTlNfRERJX01PREVfU0VMRUNUX0hETUk6Cj4gCWNh c2UgVFJBTlNfRERJX01PREVfU0VMRUNUX0RQIGhlcmU6ID8KPiA+ICAgCQlwaXBlX2NvbmZpZy0+ aGFzX2hkbWlfc2luayA9IHRydWU7Cj4gPiAtCQlpbnRlbF9oZG1pID0gZW5jX3RvX2ludGVsX2hk bWkoJmVuY29kZXItPmJhc2UpOwo+ID4gKwkJaW50ZWxfZGlnX3BvcnQgPSBlbmNfdG9fZGlnX3Bv cnQoJmVuY29kZXItPmJhc2UpOwo+ID4KPiA+IC0JCWlmIChpbnRlbF9oZG1pLT5pbmZvZnJhbWVf ZW5hYmxlZCgmZW5jb2Rlci0+YmFzZSwgcGlwZV9jb25maWcpKQo+ID4gKwkJaWYgKGludGVsX2Rp Z19wb3J0LT5pbmZvZnJhbWVfZW5hYmxlZCgmZW5jb2Rlci0+YmFzZSwgcGlwZV9jb25maWcpKQo+ ID4gICAJCQlwaXBlX2NvbmZpZy0+aGFzX2luZm9mcmFtZSA9IHRydWU7Cj4gPiAgIAkJLyogZmFs bCB0aHJvdWdoICovCj4gPiAgIAljYXNlIFRSQU5TX0RESV9NT0RFX1NFTEVDVF9EVkk6Cj4gPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4gaW5kZXggZWJlN2IzNDI3ZTJlLi5hNjA3Nzk5Yjc3 NzYgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+IEBAIC03OTAsMTQgKzc5 MCw2IEBAIHN0cnVjdCBpbnRlbF9oZG1pIHsKPiA+ICAgCWJvb2wgcmdiX3F1YW50X3JhbmdlX3Nl bGVjdGFibGU7Cj4gPiAgIAllbnVtIGhkbWlfcGljdHVyZV9hc3BlY3QgYXNwZWN0X3JhdGlvOwo+ ID4gICAJc3RydWN0IGludGVsX2Nvbm5lY3RvciAqYXR0YWNoZWRfY29ubmVjdG9yOwo+ID4gLQl2 b2lkICgqd3JpdGVfaW5mb2ZyYW1lKShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4gPiAt CQkJCWVudW0gaGRtaV9pbmZvZnJhbWVfdHlwZSB0eXBlLAo+ID4gLQkJCQljb25zdCB2b2lkICpm cmFtZSwgc3NpemVfdCBsZW4pOwo+ID4gLQl2b2lkICgqc2V0X2luZm9mcmFtZXMpKHN0cnVjdCBk cm1fZW5jb2RlciAqZW5jb2RlciwKPiA+IC0JCQkgICAgICAgYm9vbCBlbmFibGUsCj4gPiAtCQkJ ICAgICAgIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlKTsKPiA+ IC0JYm9vbCAoKmluZm9mcmFtZV9lbmFibGVkKShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIs Cj4gPiAtCQkJCSAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKTsK PiA+ICAgfTsKPiA+Cj4gPiAgIHN0cnVjdCBpbnRlbF9kcF9tc3RfZW5jb2RlcjsKPiA+IEBAIC05 MDcsNiArODk5LDE0IEBAIHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgewo+ID4gICAJdWludDhf dCBtYXhfbGFuZXM7Cj4gPiAgIAkvKiBmb3IgY29tbXVuaWNhdGlvbiB3aXRoIGF1ZGlvIGNvbXBv bmVudDsgcHJvdGVjdGVkIGJ5IGF2X211dGV4ICovCj4gPiAgIAljb25zdCBzdHJ1Y3QgZHJtX2Nv bm5lY3RvciAqYXVkaW9fY29ubmVjdG9yOwo+ID4gKwl2b2lkICgqd3JpdGVfaW5mb2ZyYW1lKShz dHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4gPiArCQkJCWVudW0gaGRtaV9pbmZvZnJhbWVf dHlwZSB0eXBlLAo+ID4gKwkJCQljb25zdCB2b2lkICpmcmFtZSwgc3NpemVfdCBsZW4pOwo+ID4g Kwl2b2lkICgqc2V0X2luZm9mcmFtZXMpKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKPiA+ ICsJCQkgICAgICAgYm9vbCBlbmFibGUsCj4gPiArCQkJICAgICAgIGNvbnN0IHN0cnVjdCBkcm1f ZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlKTsKPiA+ICsJYm9vbCAoKmluZm9mcmFtZV9lbmFi bGVkKShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4gPiArCQkJCSAgY29uc3Qgc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKTsKPiA+ICAgfTsKPiA+Cj4gPiAgIHN0cnVj dCBpbnRlbF9kcF9tc3RfZW5jb2RlciB7Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4g PiBpbmRleCAwNjdiMTBhN2NiMDQuLjMxOWY1MDEzOTIzYyAxMDA2NDQKPiA+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfaGRtaS5jCj4gPiBAQCAtNDI3LDcgKzQyNyw3IEBAIHN0YXRpYyBib29sIGhzd19p bmZvZnJhbWVfZW5hYmxlZChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4gPiAgIHN0YXRp YyB2b2lkIGludGVsX3dyaXRlX2luZm9mcmFtZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIs Cj4gPiAgIAkJCQkgIHVuaW9uIGhkbWlfaW5mb2ZyYW1lICpmcmFtZSkKPiA+ICAgewo+ID4gLQlz dHJ1Y3QgaW50ZWxfaGRtaSAqaW50ZWxfaGRtaSA9IGVuY190b19pbnRlbF9oZG1pKGVuY29kZXIp Owo+ID4gKwlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9IGVuY190 b19kaWdfcG9ydChlbmNvZGVyKTsKPiA+ICAgCXVpbnQ4X3QgYnVmZmVyW1ZJREVPX0RJUF9EQVRB X1NJWkVdOwo+ID4gICAJc3NpemVfdCBsZW47Cj4gPgo+ID4gQEAgLTQ0Myw3ICs0NDMsNyBAQCBz dGF0aWMgdm9pZCBpbnRlbF93cml0ZV9pbmZvZnJhbWUoc3RydWN0IGRybV9lbmNvZGVyICplbmNv ZGVyLAo+ID4gICAJYnVmZmVyWzNdID0gMDsKPiA+ICAgCWxlbisrOwo+ID4KPiA+IC0JaW50ZWxf aGRtaS0+d3JpdGVfaW5mb2ZyYW1lKGVuY29kZXIsIGZyYW1lLT5hbnkudHlwZSwgYnVmZmVyLCBs ZW4pOwo+ID4gKwlpbnRlbF9kaWdfcG9ydC0+d3JpdGVfaW5mb2ZyYW1lKGVuY29kZXIsIGZyYW1l LT5hbnkudHlwZSwgYnVmZmVyLCBsZW4pOwo+ID4gICB9Cj4gPgo+ID4gICBzdGF0aWMgdm9pZCBp bnRlbF9oZG1pX3NldF9hdmlfaW5mb2ZyYW1lKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwK PiA+IEBAIC05MzAsNiArOTMwLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfaGRtaV9nZXRfY29uZmln KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ID4gICAJCQkJICBzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqcGlwZV9jb25maWcpCj4gPiAgIHsKPiA+ICAgCXN0cnVjdCBpbnRlbF9oZG1p ICppbnRlbF9oZG1pID0gZW5jX3RvX2ludGVsX2hkbWkoJmVuY29kZXItPmJhc2UpOwo+ID4gKwlz dHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9IGhkbWlfdG9fZGlnX3Bv cnQoaW50ZWxfaGRtaSk7Cj4gPiAgIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZW5jb2Rlci0+ YmFzZS5kZXY7Cj4gPiAgIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYt PmRldl9wcml2YXRlOwo+ID4gICAJdTMyIHRtcCwgZmxhZ3MgPSAwOwo+ID4gQEAgLTk1MCw3ICs5 NTEsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9oZG1pX2dldF9jb25maWcoc3RydWN0IGludGVsX2Vu Y29kZXIgKmVuY29kZXIsCj4gPiAgIAlpZiAodG1wICYgSERNSV9NT0RFX1NFTEVDVF9IRE1JKQo+ ID4gICAJCXBpcGVfY29uZmlnLT5oYXNfaGRtaV9zaW5rID0gdHJ1ZTsKPiA+Cj4gPiAtCWlmIChp bnRlbF9oZG1pLT5pbmZvZnJhbWVfZW5hYmxlZCgmZW5jb2Rlci0+YmFzZSwgcGlwZV9jb25maWcp KQo+ID4gKwlpZiAoaW50ZWxfZGlnX3BvcnQtPmluZm9mcmFtZV9lbmFibGVkKCZlbmNvZGVyLT5i YXNlLCBwaXBlX2NvbmZpZykpCj4gPiAgIAkJcGlwZV9jb25maWctPmhhc19pbmZvZnJhbWUgPSB0 cnVlOwo+ID4KPiA+ICAgCWlmICh0bXAgJiBTRFZPX0FVRElPX0VOQUJMRSkKPiA+IEBAIC0xMTE3 LDYgKzExMTgsOCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kaXNhYmxlX2hkbWkoc3RydWN0IGludGVs X2VuY29kZXIgKmVuY29kZXIpCj4gPiAgIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZW5jb2Rl ci0+YmFzZS5kZXY7Cj4gPiAgIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBk ZXYtPmRldl9wcml2YXRlOwo+ID4gICAJc3RydWN0IGludGVsX2hkbWkgKmludGVsX2hkbWkgPSBl bmNfdG9faW50ZWxfaGRtaSgmZW5jb2Rlci0+YmFzZSk7Cj4gPiArCXN0cnVjdCBpbnRlbF9kaWdp dGFsX3BvcnQgKmludGVsX2RpZ19wb3J0ID0KPiA+ICsJCWhkbWlfdG9fZGlnX3BvcnQoaW50ZWxf aGRtaSk7Cj4gPiAgIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoZW5j b2Rlci0+YmFzZS5jcnRjKTsKPiA+ICAgCXUzMiB0ZW1wOwo+ID4KPiA+IEBAIC0xMTU5LDcgKzEx NjIsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kaXNhYmxlX2hkbWkoc3RydWN0IGludGVsX2VuY29k ZXIgKmVuY29kZXIpCj4gPiAgIAkJaW50ZWxfc2V0X3BjaF9maWZvX3VuZGVycnVuX3JlcG9ydGlu ZyhkZXZfcHJpdiwgUElQRV9BLCB0cnVlKTsKPiA+ICAgCX0KPiA+Cj4gPiAtCWludGVsX2hkbWkt PnNldF9pbmZvZnJhbWVzKCZlbmNvZGVyLT5iYXNlLCBmYWxzZSwgTlVMTCk7Cj4gPiArCWludGVs X2RpZ19wb3J0LT5zZXRfaW5mb2ZyYW1lcygmZW5jb2Rlci0+YmFzZSwgZmFsc2UsIE5VTEwpOwo+ ID4KPiBJIGd1ZXNzIHRoZXJlIGlzIGEgc2VwYXJhdGUgcGF0Y2ggd2hlcmUgeW91IGFyZSBhZGRp bmcgdGhlIGNvZGUgd2hpY2ggCj4gdXNlcyB0aGVzZSBmdW5jdGlvbnMgZm9yIERQLCBhbmQgd2ls bCBnb2luZyBmdXJ0aGVyIGluIHRoaXMgc2VyaWVzLgo+IC0gU2hhc2hhbmsKPiA+ICAgCWludGVs X2RwX2R1YWxfbW9kZV9zZXRfdG1kc19vdXRwdXQoaW50ZWxfaGRtaSwgZmFsc2UpOwo+ID4gICB9 Cj4gPiBAQCAtMTY1OCwyMSArMTY2MSwyMSBAQCBkb25lOgo+ID4KPiA+ICAgc3RhdGljIHZvaWQg aW50ZWxfaGRtaV9wcmVfZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQo+ID4g ICB7Cj4gPiAtCXN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1pID0gZW5jX3RvX2ludGVsX2hk bWkoJmVuY29kZXItPmJhc2UpOwo+ID4gKwlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRl bF9kaWdfcG9ydCA9Cj4gPiArCQllbmNfdG9fZGlnX3BvcnQoJmVuY29kZXItPmJhc2UpOwo+ID4g ICAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGVuY29kZXIt PmJhc2UuY3J0Yyk7Cj4gPiAgIAljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0 ZWRfbW9kZSA9ICZpbnRlbF9jcnRjLT5jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZTsKPiA+Cj4g PiAgIAlpbnRlbF9oZG1pX3ByZXBhcmUoZW5jb2Rlcik7Cj4gPgo+ID4gLQlpbnRlbF9oZG1pLT5z ZXRfaW5mb2ZyYW1lcygmZW5jb2Rlci0+YmFzZSwKPiA+IC0JCQkJICAgaW50ZWxfY3J0Yy0+Y29u ZmlnLT5oYXNfaW5mb2ZyYW1lLAo+ID4gLQkJCQkgICBhZGp1c3RlZF9tb2RlKTsKPiA+ICsJaW50 ZWxfZGlnX3BvcnQtPnNldF9pbmZvZnJhbWVzKCZlbmNvZGVyLT5iYXNlLAo+ID4gKwkJCQkgICAg ICAgaW50ZWxfY3J0Yy0+Y29uZmlnLT5oYXNfaW5mb2ZyYW1lLAo+ID4gKwkJCQkgICAgICAgYWRq dXN0ZWRfbW9kZSk7Cj4gPiAgIH0KPiA+Cj4gPiAgIHN0YXRpYyB2b2lkIHZsdl9oZG1pX3ByZV9l bmFibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCj4gPiAgIHsKPiA+ICAgCXN0cnVj dCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRwb3J0ID0gZW5jX3RvX2RpZ19wb3J0KCZlbmNvZGVyLT5i YXNlKTsKPiA+IC0Jc3RydWN0IGludGVsX2hkbWkgKmludGVsX2hkbWkgPSAmZHBvcnQtPmhkbWk7 Cj4gPiAgIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZW5jb2Rlci0+YmFzZS5kZXY7Cj4gPiAg IAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ ID4gICAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPQo+ID4gQEAgLTE2ODUsOSArMTY4 OCw5IEBAIHN0YXRpYyB2b2lkIHZsdl9oZG1pX3ByZV9lbmFibGUoc3RydWN0IGludGVsX2VuY29k ZXIgKmVuY29kZXIpCj4gPiAgIAl2bHZfc2V0X3BoeV9zaWduYWxfbGV2ZWwoZW5jb2RlciwgMHgy YjI0NWY1ZiwgMHgwMDAwMjAwMCwgMHg1NTc4YjgzYSwKPiA+ICAgCQkJCSAweDJiMjQ3ODc4KTsK PiA+Cj4gPiAtCWludGVsX2hkbWktPnNldF9pbmZvZnJhbWVzKCZlbmNvZGVyLT5iYXNlLAo+ID4g LQkJCQkgICBpbnRlbF9jcnRjLT5jb25maWctPmhhc19pbmZvZnJhbWUsCj4gPiAtCQkJCSAgIGFk anVzdGVkX21vZGUpOwo+ID4gKwlkcG9ydC0+c2V0X2luZm9mcmFtZXMoJmVuY29kZXItPmJhc2Us Cj4gPiArCQkJICAgICAgaW50ZWxfY3J0Yy0+Y29uZmlnLT5oYXNfaW5mb2ZyYW1lLAo+ID4gKwkJ CSAgICAgIGFkanVzdGVkX21vZGUpOwo+ID4KPiA+ICAgCWc0eF9lbmFibGVfaGRtaShlbmNvZGVy KTsKPiA+Cj4gPiBAQCAtMTczNSw3ICsxNzM4LDYgQEAgc3RhdGljIHZvaWQgY2h2X2hkbWlfcG9z dF9kaXNhYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQo+ID4gICBzdGF0aWMgdm9p ZCBjaHZfaGRtaV9wcmVfZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQo+ID4g ICB7Cj4gPiAgIAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkcG9ydCA9IGVuY190b19kaWdf cG9ydCgmZW5jb2Rlci0+YmFzZSk7Cj4gPiAtCXN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1p ID0gJmRwb3J0LT5oZG1pOwo+ID4gICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGVuY29kZXIt PmJhc2UuZGV2Owo+ID4gICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2 LT5kZXZfcHJpdmF0ZTsKPiA+ICAgCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0KPiA+ IEBAIC0xNzQ4LDkgKzE3NTAsOSBAQCBzdGF0aWMgdm9pZCBjaHZfaGRtaV9wcmVfZW5hYmxlKHN0 cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQo+ID4gICAJLyogVXNlIDgwMG1WLTBkQiAqLwo+ ID4gICAJY2h2X3NldF9waHlfc2lnbmFsX2xldmVsKGVuY29kZXIsIDEyOCwgMTAyLCBmYWxzZSk7 Cj4gPgo+ID4gLQlpbnRlbF9oZG1pLT5zZXRfaW5mb2ZyYW1lcygmZW5jb2Rlci0+YmFzZSwKPiA+ IC0JCQkJICAgaW50ZWxfY3J0Yy0+Y29uZmlnLT5oYXNfaW5mb2ZyYW1lLAo+ID4gLQkJCQkgICBh ZGp1c3RlZF9tb2RlKTsKPiA+ICsJZHBvcnQtPnNldF9pbmZvZnJhbWVzKCZlbmNvZGVyLT5iYXNl LAo+ID4gKwkJCSAgICAgIGludGVsX2NydGMtPmNvbmZpZy0+aGFzX2luZm9mcmFtZSwKPiA+ICsJ CQkgICAgICBhZGp1c3RlZF9tb2RlKTsKPiA+Cj4gPiAgIAlnNHhfZW5hYmxlX2hkbWkoZW5jb2Rl cik7Cj4gPgo+ID4gQEAgLTE4ODIsMjUgKzE4ODQsMjUgQEAgdm9pZCBpbnRlbF9oZG1pX2luaXRf Y29ubmVjdG9yKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0LAo+ID4g ICAJfQo+ID4KPiA+ICAgCWlmIChJU19WQUxMRVlWSUVXKGRldikgfHwgSVNfQ0hFUlJZVklFVyhk ZXYpKSB7Cj4gPiAtCQlpbnRlbF9oZG1pLT53cml0ZV9pbmZvZnJhbWUgPSB2bHZfd3JpdGVfaW5m b2ZyYW1lOwo+ID4gLQkJaW50ZWxfaGRtaS0+c2V0X2luZm9mcmFtZXMgPSB2bHZfc2V0X2luZm9m cmFtZXM7Cj4gPiAtCQlpbnRlbF9oZG1pLT5pbmZvZnJhbWVfZW5hYmxlZCA9IHZsdl9pbmZvZnJh bWVfZW5hYmxlZDsKPiA+ICsJCWludGVsX2RpZ19wb3J0LT53cml0ZV9pbmZvZnJhbWUgPSB2bHZf d3JpdGVfaW5mb2ZyYW1lOwo+ID4gKwkJaW50ZWxfZGlnX3BvcnQtPnNldF9pbmZvZnJhbWVzID0g dmx2X3NldF9pbmZvZnJhbWVzOwo+ID4gKwkJaW50ZWxfZGlnX3BvcnQtPmluZm9mcmFtZV9lbmFi bGVkID0gdmx2X2luZm9mcmFtZV9lbmFibGVkOwo+ID4gICAJfSBlbHNlIGlmIChJU19HNFgoZGV2 KSkgewo+ID4gLQkJaW50ZWxfaGRtaS0+d3JpdGVfaW5mb2ZyYW1lID0gZzR4X3dyaXRlX2luZm9m cmFtZTsKPiA+IC0JCWludGVsX2hkbWktPnNldF9pbmZvZnJhbWVzID0gZzR4X3NldF9pbmZvZnJh bWVzOwo+ID4gLQkJaW50ZWxfaGRtaS0+aW5mb2ZyYW1lX2VuYWJsZWQgPSBnNHhfaW5mb2ZyYW1l X2VuYWJsZWQ7Cj4gPiArCQlpbnRlbF9kaWdfcG9ydC0+d3JpdGVfaW5mb2ZyYW1lID0gZzR4X3dy aXRlX2luZm9mcmFtZTsKPiA+ICsJCWludGVsX2RpZ19wb3J0LT5zZXRfaW5mb2ZyYW1lcyA9IGc0 eF9zZXRfaW5mb2ZyYW1lczsKPiA+ICsJCWludGVsX2RpZ19wb3J0LT5pbmZvZnJhbWVfZW5hYmxl ZCA9IGc0eF9pbmZvZnJhbWVfZW5hYmxlZDsKPiA+ICAgCX0gZWxzZSBpZiAoSEFTX0RESShkZXYp KSB7Cj4gPiAtCQlpbnRlbF9oZG1pLT53cml0ZV9pbmZvZnJhbWUgPSBoc3dfd3JpdGVfaW5mb2Zy YW1lOwo+ID4gLQkJaW50ZWxfaGRtaS0+c2V0X2luZm9mcmFtZXMgPSBoc3dfc2V0X2luZm9mcmFt ZXM7Cj4gPiAtCQlpbnRlbF9oZG1pLT5pbmZvZnJhbWVfZW5hYmxlZCA9IGhzd19pbmZvZnJhbWVf ZW5hYmxlZDsKPiA+ICsJCWludGVsX2RpZ19wb3J0LT53cml0ZV9pbmZvZnJhbWUgPSBoc3dfd3Jp dGVfaW5mb2ZyYW1lOwo+ID4gKwkJaW50ZWxfZGlnX3BvcnQtPnNldF9pbmZvZnJhbWVzID0gaHN3 X3NldF9pbmZvZnJhbWVzOwo+ID4gKwkJaW50ZWxfZGlnX3BvcnQtPmluZm9mcmFtZV9lbmFibGVk ID0gaHN3X2luZm9mcmFtZV9lbmFibGVkOwo+ID4gICAJfSBlbHNlIGlmIChIQVNfUENIX0lCWChk ZXYpKSB7Cj4gPiAtCQlpbnRlbF9oZG1pLT53cml0ZV9pbmZvZnJhbWUgPSBpYnhfd3JpdGVfaW5m b2ZyYW1lOwo+ID4gLQkJaW50ZWxfaGRtaS0+c2V0X2luZm9mcmFtZXMgPSBpYnhfc2V0X2luZm9m cmFtZXM7Cj4gPiAtCQlpbnRlbF9oZG1pLT5pbmZvZnJhbWVfZW5hYmxlZCA9IGlieF9pbmZvZnJh bWVfZW5hYmxlZDsKPiA+ICsJCWludGVsX2RpZ19wb3J0LT53cml0ZV9pbmZvZnJhbWUgPSBpYnhf d3JpdGVfaW5mb2ZyYW1lOwo+ID4gKwkJaW50ZWxfZGlnX3BvcnQtPnNldF9pbmZvZnJhbWVzID0g aWJ4X3NldF9pbmZvZnJhbWVzOwo+ID4gKwkJaW50ZWxfZGlnX3BvcnQtPmluZm9mcmFtZV9lbmFi bGVkID0gaWJ4X2luZm9mcmFtZV9lbmFibGVkOwo+ID4gICAJfSBlbHNlIHsKPiA+IC0JCWludGVs X2hkbWktPndyaXRlX2luZm9mcmFtZSA9IGNwdF93cml0ZV9pbmZvZnJhbWU7Cj4gPiAtCQlpbnRl bF9oZG1pLT5zZXRfaW5mb2ZyYW1lcyA9IGNwdF9zZXRfaW5mb2ZyYW1lczsKPiA+IC0JCWludGVs X2hkbWktPmluZm9mcmFtZV9lbmFibGVkID0gY3B0X2luZm9mcmFtZV9lbmFibGVkOwo+ID4gKwkJ aW50ZWxfZGlnX3BvcnQtPndyaXRlX2luZm9mcmFtZSA9IGNwdF93cml0ZV9pbmZvZnJhbWU7Cj4g PiArCQlpbnRlbF9kaWdfcG9ydC0+c2V0X2luZm9mcmFtZXMgPSBjcHRfc2V0X2luZm9mcmFtZXM7 Cj4gPiArCQlpbnRlbF9kaWdfcG9ydC0+aW5mb2ZyYW1lX2VuYWJsZWQgPSBjcHRfaW5mb2ZyYW1l X2VuYWJsZWQ7Cj4gPiAgIAl9Cj4gPgo+ID4gICAJaWYgKEhBU19EREkoZGV2KSkKPiA+CgotLSAK VmlsbGUgU3lyasOkbMOkCkludGVsIE9UQwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZngK