From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: Re: [PATCH 5/8] drm/i915: Prepare for atomic plane helpers (v2) Date: Thu, 13 Nov 2014 17:23:05 -0800 Message-ID: <20141114012305.GD4983@intel.com> References: <1415904206-22548-6-git-send-email-matthew.d.roper@intel.com> <1415919092-10553-1-git-send-email-matthew.d.roper@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1415919092-10553-1-git-send-email-matthew.d.roper@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: dri-devel@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBOb3YgMTMsIDIwMTQgYXQgMDI6NTE6MzJQTSAtMDgwMCwgTWF0dCBSb3BlciB3cm90 ZToKPiBBZGQgdGhlIG5ldyBkcml2ZXIgZW50cnlwb2ludHMgdGhhdCB3aWxsIGJlIGNhbGxlZCBi eSB0aGUgYXRvbWljIHBsYW5lCj4gaGVscGVycy4KPiAKPiBUaGlzIHBhdGNoIGRvZXMgbm90IGFj dHVhbGx5IHN3aXRjaCBvdmVyIHRvIHRoZSBuZXcgcGxhbmUgaGVscGVycyB5ZXQsCj4gc28gdGhl cmUgc2hvdWxkIGJlIG5vIGZ1bmN0aW9uYWwgY2hhbmdlIGhlcmUuICBBbHNvIG5vdGUgdGhhdCBh bHRob3VnaAo+IHBsYW5lIHByb2dyYW1taW5nIHdhcyBhbHJlYWR5IHNwbGl0IGludG8gY2hlY2sv cHJlcGFyZS9jb21taXQgc3RlcHMsCj4gc29tZSBvZiB0aGUgc2VtYW50aWNzIG9mIHRob3NlIGlu ZGl2aWR1YWwgZnVuY3Rpb25zIHdpbGwgbmVlZCB0byBjaGFuZ2UKPiBzbGlnaHRseSB3aGVuIHdl IGRvIG1ha2UgdGhlIGp1bXAgc28gdGhhdCB0aGV5IG1hdGNoIHRoZSBiZWhhdmlvciB0aGUKPiBw bGFuZSBoZWxwZXJzIGV4cGVjdC4KPiAKPiB2MjoKPiAgLSBSZW5hbWVkIGZpbGUgZnJvbSBpbnRl bF9hdG9taWMuYyB0byBpbnRlbF9hdG9taWNfcGxhbmUuYyAoRGFuaWVsKQo+ICAtIEZpeCBhIGNv cHkvcGFzdGUgY29tbWVudCBtaXN0YWtlIChCb2IpCj4gCj4gU2lnbmVkLW9mZi1ieTogTWF0dCBS b3BlciA8bWF0dGhldy5kLnJvcGVyQGludGVsLmNvbT4KCkFjdHVhbGx5LCBJIGRvbid0IHRoaW5r IHRoaXMgaXMgcXVpdGUgcmVhZHkgdG8gZ28geWV0LiAgSSBtdXN0IGhhdmUgaGFkCnRvbyBtdWNo IGRlYnVnIHNwYW0gdHVybmVkIG9uIGJlZm9yZSBhbmQgbWlzc2VkIHRoZSBpbXBvcnRhbnQgbWVz c2FnZXMKaW4gdGhlIGtlcm5lbCBsb2csIGJ1dCBpdCBsb29rcyBsaWtlIHdlJ3JlIHN0aWxsIGNh bGxpbmcgc29tZXRoaW5nIHRoYXQKY2FuIHNsZWVwIChpbiB0aGUgZnJvbnRidWZmZXIgdHJhY2tp bmcgY29kZT8pIHdoaWxlIGlycXMgYXJlIGRpc2FibGVkCmZvciB2YmxhbmsgZXZhc2lvbi4KCkkn bGwgaGF2ZSB0byBsb29rIGludG8gdGhpcyBzb21lIG1vcmUgdG9tb3Jyb3cgYW5kIGRlY2lkZSB3 aGF0IGFuCmFwcHJvcHJpYXRlIGZpeCBpcy4KCgpNYXR0Cgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9NYWtlZmlsZSAgICAgICAgICAgICB8ICAgMSArCj4gIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2F0b21pY19wbGFuZS5jIHwgMjIwICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgICAgICB8ICAyMCAr Ky0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgICAgICAgfCAgMTUgKysK PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMgICAgICAgfCAgMTAgKysKPiAg NSBmaWxlcyBjaGFuZ2VkLCAyNjUgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQo+ICBjcmVh dGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRvbWljX3BsYW5lLmMK PiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9NYWtlZmlsZQo+IGluZGV4IDg5MWU1ODQuLjlmNWM1N2QgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9NYWtlZmlsZQo+IEBAIC02Myw2ICs2Myw3IEBAIGk5MTUteSArPSBkdm9fY2g3MDE3 Lm8gXAo+ICAJICBkdm9fbnMyNTAxLm8gXAo+ICAJICBkdm9fc2lsMTY0Lm8gXAo+ICAJICBkdm9f dGZwNDEwLm8gXAo+ICsJICBpbnRlbF9hdG9taWNfcGxhbmUubyBcCj4gIAkgIGludGVsX2NydC5v IFwKPiAgCSAgaW50ZWxfZGRpLm8gXAo+ICAJICBpbnRlbF9kcC5vIFwKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRvbWljX3BsYW5lLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9hdG9taWNfcGxhbmUuYwo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5k ZXggMDAwMDAwMC4uN2MwMzliZgo+IC0tLSAvZGV2L251bGwKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9hdG9taWNfcGxhbmUuYwo+IEBAIC0wLDAgKzEsMjIwIEBACj4gKy8qCj4g KyAqIENvcHlyaWdodCDCqSAyMDE0IEludGVsIENvcnBvcmF0aW9uCj4gKyAqCj4gKyAqIFBlcm1p c3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9i dGFpbmluZyBhCj4gKyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1 bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksCj4gKyAqIHRvIGRlYWwgaW4gdGhlIFNv ZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24K PiArICogdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRp c3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCj4gKyAqIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29m dHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZQo+ICsgKiBTb2Z0d2FyZSBp cyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25z Ogo+ICsgKgo+ICsgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNz aW9uIG5vdGljZSAoaW5jbHVkaW5nIHRoZSBuZXh0Cj4gKyAqIHBhcmFncmFwaCkgc2hhbGwgYmUg aW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUKPiAr ICogU29mdHdhcmUuCj4gKyAqCj4gKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMi LCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCj4gKyAqIElNUExJRUQs IElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB QklMSVRZLAo+ICsgKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5G UklOR0VNRU5ULiAgSU4gTk8gRVZFTlQgU0hBTEwKPiArICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJ R0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKPiAr ICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBP VEhFUldJU0UsIEFSSVNJTkcKPiArICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lU SCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgo+ICsgKiBERUFMSU5HUyBJTiBUSEUg U09GVFdBUkUuCj4gKyAqLwo+ICsKPiArI2luY2x1ZGUgPGRybS9kcm1QLmg+Cj4gKyNpbmNsdWRl IDxkcm0vZHJtX2F0b21pY19oZWxwZXIuaD4KPiArI2luY2x1ZGUgPGRybS9kcm1fcGxhbmVfaGVs cGVyLmg+Cj4gKyNpbmNsdWRlICJpbnRlbF9kcnYuaCIKPiArCj4gKy8qKgo+ICsgKiBpbnRlbF9w bGFuZV9kdXBsaWNhdGVfc3RhdGUgLSBkdXBsaWNhdGUgcGxhbmUgc3RhdGUKPiArICogQHBsYW5l OiBkcm0gcGxhbmUKPiArICoKPiArICogQWxsb2NhdGVzIGFuZCByZXR1cm5zIGEgY29weSBvZiB0 aGUgcGxhbmUgc3RhdGUgKGJvdGggY29tbW9uIGFuZAo+ICsgKiBJbnRlbC1zcGVjaWZpYykgZm9y IHRoZSBzcGVjaWZpZWQgcGxhbmUuCj4gKyAqLwo+ICtzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICoK PiAraW50ZWxfcGxhbmVfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lKQo+ ICt7Cj4gKwlzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnN0YXRlOwo+ICsKPiArCWlmIChwbGFu ZS0+c3RhdGUpCj4gKwkJc3RhdGUgPSBrbWVtZHVwKHBsYW5lLT5zdGF0ZSwgc2l6ZW9mKCpzdGF0 ZSksIEdGUF9LRVJORUwpOwo+ICsJZWxzZQo+ICsJCXN0YXRlID0ga3phbGxvYyhzaXplb2YoKnN0 YXRlKSwgR0ZQX0tFUk5FTCk7Cj4gKwo+ICsJaWYgKHN0YXRlICYmIHN0YXRlLT5iYXNlLmZiKQo+ ICsJCWRybV9mcmFtZWJ1ZmZlcl9yZWZlcmVuY2Uoc3RhdGUtPmJhc2UuZmIpOwo+ICsKPiArCXJl dHVybiAmc3RhdGUtPmJhc2U7Cj4gK30KPiArCj4gKy8qKgo+ICsgKiBpbnRlbF9wbGFuZV9kZXN0 cm95X3N0YXRlIC0gZGVzdHJveSBwbGFuZSBzdGF0ZQo+ICsgKiBAcGxhbmU6IGRybSBwbGFuZQo+ ICsgKgo+ICsgKiBEZXN0cm95cyB0aGUgcGxhbmUgc3RhdGUgKGJvdGggY29tbW9uIGFuZCBJbnRl bC1zcGVjaWZpYykgZm9yIHRoZQo+ICsgKiBzcGVjaWZpZWQgcGxhbmUuCj4gKyAqLwo+ICt2b2lk Cj4gK2ludGVsX3BsYW5lX2Rlc3Ryb3lfc3RhdGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4g KwkJCSAgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqc3RhdGUpCj4gK3sKPiArCWRybV9hdG9taWNf aGVscGVyX3BsYW5lX2Rlc3Ryb3lfc3RhdGUocGxhbmUsIHN0YXRlKTsKPiArfQo+ICsKPiArCj4g Ky8qKgo+ICsgKiBpbnRlbF9jcnRjX2F0b21pY19iZWdpbiAtIEJlZ2lucyBhbiBhdG9taWMgY29t bWl0IG9uIGEgQ1JUQwo+ICsgKiBAY3J0YzogZHJtIGNydGMKPiArICoKPiArICogUHJlcGFyZXMg dG8gd3JpdGUgcmVnaXN0ZXJzIGFzc29jaWF0ZWQgd2l0aCB0aGUgYXRvbWljIGNvbW1pdCBvZiBh IENSVEMKPiArICogYnkgdXNpbmcgdmJsYW5rIGV2YXNpb24gdG8gZW5zdXJlIHRoYXQgYWxsIHJl Z2lzdGVyIHdyaXRlcyBoYXBwZW4gd2l0aGluCj4gKyAqIHRoZSBzYW1lIHZibGFuayBwZXJpb2Qu Cj4gKyAqLwo+ICt2b2lkIGludGVsX2NydGNfYXRvbWljX2JlZ2luKHN0cnVjdCBkcm1fY3J0YyAq Y3J0YykKPiArewo+ICsJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9j cnRjKGNydGMpOwo+ICsKPiArCWludGVsX3BpcGVfdXBkYXRlX3N0YXJ0KGludGVsX2NydGMsICZp bnRlbF9jcnRjLT5hdG9taWNfdmJsX2NvdW50KTsKPiArfQo+ICsKPiArLyoqCj4gKyAqIGludGVs X2NydGNfYXRvbWljX2ZsdXNoIC0gRmluaXNoZXMgYW4gYXRvbWljIGNvbW1pdCBvbiBhIENSVEMK PiArICogQGNydGM6IGRybSBjcnRjCj4gKyAqCj4gKyAqIENvbmNsdWRlcyB0aGUgd3JpdGluZyBv ZiByZWdpc3RlcnMgZm9yIGFuIGF0b21pYyBjb21taXQgb2YgYSBDUlRDLgo+ICsgKi8KPiArdm9p ZCBpbnRlbF9jcnRjX2F0b21pY19mbHVzaChzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gK3sKPiAr CXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKPiAr Cj4gKwlpbnRlbF9waXBlX3VwZGF0ZV9lbmQoaW50ZWxfY3J0YywgaW50ZWxfY3J0Yy0+YXRvbWlj X3ZibF9jb3VudCk7Cj4gK30KPiArCj4gK3N0YXRpYyBpbnQgaW50ZWxfcHJlcGFyZV9mYihzdHJ1 Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiArCQkJICAgIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZi KQo+ICt7Cj4gKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gcGxhbmUtPmRldjsKPiArCXN0cnVj dCBpbnRlbF9wbGFuZSAqaW50ZWxfcGxhbmUgPSB0b19pbnRlbF9wbGFuZShwbGFuZSk7Cj4gKwlz dHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqID0gaW50ZWxfZmJfb2JqKGZiKTsKPiArCXN0 cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvbGRfb2JqID0gaW50ZWxfcGxhbmUtPm9iajsKPiAr CWVudW0gcGlwZSBwaXBlID0gaW50ZWxfcGxhbmUtPnBpcGU7Cj4gKwl1bnNpZ25lZCBmcm9udF9i aXRzID0gMDsKPiArCWludCByZXQgPSAwOwo+ICsKPiArCXN3aXRjaCAocGxhbmUtPnR5cGUpIHsK PiArCWNhc2UgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWToKPiArCQlmcm9udF9iaXRzID0gSU5URUxf RlJPTlRCVUZGRVJfUFJJTUFSWShwaXBlKTsKPiArCj4gKwkJaWYgKHBsYW5lLT5jcnRjKSB7Cj4g KwkJCWludGVsX2NydGNfd2FpdF9mb3JfcGVuZGluZ19mbGlwcyhwbGFuZS0+Y3J0Yyk7Cj4gKwkJ CWlmIChpbnRlbF9jcnRjX2hhc19wZW5kaW5nX2ZsaXAocGxhbmUtPmNydGMpKSB7Cj4gKwkJCQlE Uk1fRVJST1IoInBpcGUgaXMgc3RpbGwgYnVzeSB3aXRoIGFuIG9sZCBwYWdlZmxpcFxuIik7Cj4g KwkJCQlyZXR1cm4gLUVCVVNZOwo+ICsJCQl9Cj4gKwkJfQo+ICsKPiArCQlicmVhazsKPiArCWNh c2UgRFJNX1BMQU5FX1RZUEVfT1ZFUkxBWToKPiArCQlmcm9udF9iaXRzID0gSU5URUxfRlJPTlRC VUZGRVJfU1BSSVRFKHBpcGUpOwo+ICsJCWJyZWFrOwo+ICsJY2FzZSBEUk1fUExBTkVfVFlQRV9D VVJTT1I6Cj4gKwkJZnJvbnRfYml0cyA9IElOVEVMX0ZST05UQlVGRkVSX0NVUlNPUihwaXBlKTsK PiArCQlicmVhazsKPiArCX0KPiArCj4gKwltdXRleF9sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7 Cj4gKwo+ICsJLyogTm90ZSB0aGF0IHRoaXMgd2lsbCBhcHBseSB0aGUgVlQtZCB3b3JrYXJvdW5k IGZvciBzY2Fub3V0cywKPiArCSAqIHdoaWNoIGlzIG1vcmUgcmVzdHJpY3RpdmUgdGhhbiByZXF1 aXJlZCBmb3Igc3ByaXRlcy4gKFRoZQo+ICsJICogcHJpbWFyeSBwbGFuZSByZXF1aXJlcyAyNTZL aUIgYWxpZ25tZW50IHdpdGggNjQgUFRFIHBhZGRpbmcsCj4gKwkgKiB0aGUgc3ByaXRlIHBsYW5l cyBvbmx5IHJlcXVpcmUgMTI4S2lCIGFsaWdubWVudCBhbmQgMzIgUFRFCj4gKwkgKiBwYWRkaW5n Lgo+ICsJICovCj4gKwlyZXQgPSBpbnRlbF9waW5fYW5kX2ZlbmNlX2ZiX29iaihwbGFuZSwgZmIs IE5VTEwpOwo+ICsJaWYgKHJldCA9PSAwKQo+ICsJCWk5MTVfZ2VtX3RyYWNrX2ZiKG9sZF9vYmos IG9iaiwgZnJvbnRfYml0cyk7Cj4gKwo+ICsJaWYgKHBsYW5lLT50eXBlID09IERSTV9QTEFORV9U WVBFX0NVUlNPUiAmJgo+ICsJICAgIElOVEVMX0lORk8oZGV2KS0+Y3Vyc29yX25lZWRzX3BoeXNp Y2FsKSB7Cj4gKwkJaW50IGFsaWduID0gSVNfSTgzMChkZXYpID8gMTYgKiAxMDI0IDogMjU2Owo+ ICsKPiArCQlyZXQgPSBpOTE1X2dlbV9vYmplY3RfYXR0YWNoX3BoeXMob2JqLCBhbGlnbik7Cj4g KwkJaWYgKHJldCkKPiArCQkJRFJNX0RFQlVHX0tNUygiZmFpbGVkIHRvIGF0dGFjaCBwaHlzIG9i amVjdFxuIik7Cj4gKwl9Cj4gKwo+ICsJbXV0ZXhfdW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7 Cj4gKwo+ICsJcmV0dXJuIHJldDsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgaW50ZWxfY2xlYW51 cF9mYihzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiArCQkJICAgICBzdHJ1Y3QgZHJtX2ZyYW1l YnVmZmVyICpmYikKPiArewo+ICsJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IHBsYW5lLT5kZXY7 Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqID0gaW50ZWxfZmJfb2JqKGZiKTsK PiArCj4gKwltdXRleF9sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7Cj4gKwlpbnRlbF91bnBpbl9m Yl9vYmoob2JqKTsKPiArCW11dGV4X3VubG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwo+ICt9Cj4g Kwo+ICtzdGF0aWMgaW50IGludGVsX3BsYW5lX2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX3BsYW5l ICpwbGFuZSwKPiArCQkJCSAgICBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpzdGF0ZSkKPiArewo+ ICsJc3RydWN0IGludGVsX3BsYW5lICppbnRlbF9wbGFuZSA9IHRvX2ludGVsX3BsYW5lKHBsYW5l KTsKPiArCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhzdGF0 ZS0+Y3J0Yyk7Cj4gKwlzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKmludGVsX3N0YXRlID0gdG9f aW50ZWxfcGxhbmVfc3RhdGUoc3RhdGUpOwo+ICsKPiArCS8qIERpc2FibGluZyBhIHBsYW5lIGlz IGFsd2F5cyBva2F5ICovCj4gKwlpZiAoc3RhdGUtPmZiID09IE5VTEwpCj4gKwkJcmV0dXJuIDA7 Cj4gKwo+ICsJLyoKPiArCSAqIFRoZSBvcmlnaW5hbCBzcmMvZGVzdCBjb29yZGluYXRlcyBhcmUg c3RvcmVkIGluIHN0YXRlLT5iYXNlLCBidXQKPiArCSAqIHdlIHdhbnQgdG8ga2VlcCBhbm90aGVy IGNvcHkgaW50ZXJuYWwgdG8gb3VyIGRyaXZlciB0aGF0IHdlIGNhbgo+ICsJICogY2xpcC9tb2Rp Znkgb3Vyc2VsdmVzLgo+ICsJICovCj4gKwlpbnRlbF9zdGF0ZS0+c3JjLngxID0gc3RhdGUtPnNy Y194Owo+ICsJaW50ZWxfc3RhdGUtPnNyYy55MSA9IHN0YXRlLT5zcmNfeTsKPiArCWludGVsX3N0 YXRlLT5zcmMueDIgPSBzdGF0ZS0+c3JjX3ggKyBzdGF0ZS0+c3JjX3c7Cj4gKwlpbnRlbF9zdGF0 ZS0+c3JjLnkyID0gc3RhdGUtPnNyY195ICsgc3RhdGUtPnNyY19oOwo+ICsJaW50ZWxfc3RhdGUt PmRzdC54MSA9IHN0YXRlLT5jcnRjX3g7Cj4gKwlpbnRlbF9zdGF0ZS0+ZHN0LnkxID0gc3RhdGUt PmNydGNfeTsKPiArCWludGVsX3N0YXRlLT5kc3QueDIgPSBzdGF0ZS0+Y3J0Y194ICsgc3RhdGUt PmNydGNfdzsKPiArCWludGVsX3N0YXRlLT5kc3QueTIgPSBzdGF0ZS0+Y3J0Y195ICsgc3RhdGUt PmNydGNfaDsKPiArCj4gKwkvKiBDbGlwIGFsbCBwbGFuZXMgdG8gQ1JUQyBzaXplLCBvciAweDAg aWYgQ1JUQyBpcyBkaXNhYmxlZCAqLwo+ICsJaWYgKGludGVsX2NydGMpIHsKPiArCQlpbnRlbF9z dGF0ZS0+Y2xpcC54MSA9IDA7Cj4gKwkJaW50ZWxfc3RhdGUtPmNsaXAueTEgPSAwOwo+ICsJCWlu dGVsX3N0YXRlLT5jbGlwLngyID0KPiArCQkJaW50ZWxfY3J0Yy0+YWN0aXZlID8gaW50ZWxfY3J0 Yy0+Y29uZmlnLnBpcGVfc3JjX3cgOiAwOwo+ICsJCWludGVsX3N0YXRlLT5jbGlwLnkyID0KPiAr CQkJaW50ZWxfY3J0Yy0+YWN0aXZlID8gaW50ZWxfY3J0Yy0+Y29uZmlnLnBpcGVfc3JjX2ggOiAw Owo+ICsJfQo+ICsKPiArCXJldHVybiBpbnRlbF9wbGFuZS0+Y2hlY2tfcGxhbmUocGxhbmUsIGlu dGVsX3N0YXRlKTsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgaW50ZWxfcGxhbmVfYXRvbWljX3Vw ZGF0ZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkKPiArewo+ICsJc3RydWN0IGludGVsX3BsYW5l ICppbnRlbF9wbGFuZSA9IHRvX2ludGVsX3BsYW5lKHBsYW5lKTsKPiArCXN0cnVjdCBpbnRlbF9w bGFuZV9zdGF0ZSAqaW50ZWxfc3RhdGUgPQo+ICsJCXRvX2ludGVsX3BsYW5lX3N0YXRlKHBsYW5l LT5zdGF0ZSk7Cj4gKwo+ICsJaWYgKCFwbGFuZS0+c3RhdGUtPmZiKQo+ICsJCWludGVsX3BsYW5l X2Rpc2FibGUocGxhbmUpOwo+ICsJZWxzZQo+ICsJCWludGVsX3BsYW5lLT5jb21taXRfcGxhbmUo cGxhbmUsIGludGVsX3N0YXRlKTsKPiArfQo+ICsKPiArY29uc3Qgc3RydWN0IGRybV9wbGFuZV9o ZWxwZXJfZnVuY3MgaW50ZWxfcGxhbmVfaGVscGVyX2Z1bmNzID0gewo+ICsJLnByZXBhcmVfZmIg PSBpbnRlbF9wcmVwYXJlX2ZiLAo+ICsJLmNsZWFudXBfZmIgPSBpbnRlbF9jbGVhbnVwX2ZiLAo+ ICsJLmF0b21pY19jaGVjayA9IGludGVsX3BsYW5lX2F0b21pY19jaGVjaywKPiArCS5hdG9taWNf dXBkYXRlID0gaW50ZWxfcGxhbmVfYXRvbWljX3VwZGF0ZSwKPiArfTsKPiArCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IGluZGV4IDJkNGVmMDQuLjMyYTJiMTIgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gQEAgLTk3MDUsNiArOTcwNSw4IEBAIG91 dF9oYW5nOgo+ICBzdGF0aWMgc3RydWN0IGRybV9jcnRjX2hlbHBlcl9mdW5jcyBpbnRlbF9oZWxw ZXJfZnVuY3MgPSB7Cj4gIAkubW9kZV9zZXRfYmFzZV9hdG9taWMgPSBpbnRlbF9waXBlX3NldF9i YXNlX2F0b21pYywKPiAgCS5sb2FkX2x1dCA9IGludGVsX2NydGNfbG9hZF9sdXQsCj4gKwkuYXRv bWljX2JlZ2luID0gaW50ZWxfY3J0Y19hdG9taWNfYmVnaW4sCj4gKwkuYXRvbWljX2ZsdXNoID0g aW50ZWxfY3J0Y19hdG9taWNfZmx1c2gsCj4gIH07Cj4gIAo+ICAvKioKPiBAQCAtMTE3NDcsNiAr MTE3NDksNyBAQCBpbnRlbF9wcmltYXJ5X3BsYW5lX3NldHBsYW5lKHN0cnVjdCBkcm1fcGxhbmUg KnBsYW5lLCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gIHZvaWQgaW50ZWxfcGxhbmVfZGVzdHJv eShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkKPiAgewo+ICAJc3RydWN0IGludGVsX3BsYW5lICpp bnRlbF9wbGFuZSA9IHRvX2ludGVsX3BsYW5lKHBsYW5lKTsKPiArCWludGVsX3BsYW5lX2Rlc3Ry b3lfc3RhdGUocGxhbmUsIHBsYW5lLT5zdGF0ZSk7Cj4gIAlkcm1fcGxhbmVfY2xlYW51cChwbGFu ZSk7Cj4gIAlrZnJlZShpbnRlbF9wbGFuZSk7Cj4gIH0KPiBAQCAtMTE3NTUsNyArMTE3NTgsMTAg QEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfZnVuY3MgaW50ZWxfcHJpbWFyeV9wbGFu ZV9mdW5jcyA9IHsKPiAgCS51cGRhdGVfcGxhbmUgPSBpbnRlbF9wcmltYXJ5X3BsYW5lX3NldHBs YW5lLAo+ICAJLmRpc2FibGVfcGxhbmUgPSBpbnRlbF9wcmltYXJ5X3BsYW5lX2Rpc2FibGUsCj4g IAkuZGVzdHJveSA9IGludGVsX3BsYW5lX2Rlc3Ryb3ksCj4gLQkuc2V0X3Byb3BlcnR5ID0gaW50 ZWxfcGxhbmVfc2V0X3Byb3BlcnR5Cj4gKwkuc2V0X3Byb3BlcnR5ID0gaW50ZWxfcGxhbmVfc2V0 X3Byb3BlcnR5LAo+ICsJLmF0b21pY19kdXBsaWNhdGVfc3RhdGUgPSBpbnRlbF9wbGFuZV9kdXBs aWNhdGVfc3RhdGUsCj4gKwkuYXRvbWljX2Rlc3Ryb3lfc3RhdGUgPSBpbnRlbF9wbGFuZV9kZXN0 cm95X3N0YXRlLAo+ICsKPiAgfTsKPiAgCj4gIHN0YXRpYyBzdHJ1Y3QgZHJtX3BsYW5lICppbnRl bF9wcmltYXJ5X3BsYW5lX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+IEBAIC0xMTc2 OSwxMSArMTE3NzUsMTQgQEAgc3RhdGljIHN0cnVjdCBkcm1fcGxhbmUgKmludGVsX3ByaW1hcnlf cGxhbmVfY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAlpZiAocHJpbWFyeSA9PSBO VUxMKQo+ICAJCXJldHVybiBOVUxMOwo+ICAKPiArCXByaW1hcnktPmJhc2Uuc3RhdGUgPSBpbnRl bF9wbGFuZV9kdXBsaWNhdGVfc3RhdGUoJnByaW1hcnktPmJhc2UpOwo+ICAJcHJpbWFyeS0+Y2Fu X3NjYWxlID0gZmFsc2U7Cj4gIAlwcmltYXJ5LT5tYXhfZG93bnNjYWxlID0gMTsKPiAgCXByaW1h cnktPnBpcGUgPSBwaXBlOwo+ICAJcHJpbWFyeS0+cGxhbmUgPSBwaXBlOwo+ICAJcHJpbWFyeS0+ cm90YXRpb24gPSBCSVQoRFJNX1JPVEFURV8wKTsKPiArCXByaW1hcnktPmNoZWNrX3BsYW5lID0g aW50ZWxfY2hlY2tfcHJpbWFyeV9wbGFuZTsKPiArCXByaW1hcnktPmNvbW1pdF9wbGFuZSA9IGlu dGVsX2NvbW1pdF9wcmltYXJ5X3BsYW5lOwo+ICAJaWYgKEhBU19GQkMoZGV2KSAmJiBJTlRFTF9J TkZPKGRldiktPmdlbiA8IDQpCj4gIAkJcHJpbWFyeS0+cGxhbmUgPSAhcGlwZTsKPiAgCj4gQEAg LTExODAyLDYgKzExODExLDggQEAgc3RhdGljIHN0cnVjdCBkcm1fcGxhbmUgKmludGVsX3ByaW1h cnlfcGxhbmVfY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAkJCQlwcmltYXJ5LT5y b3RhdGlvbik7Cj4gIAl9Cj4gIAo+ICsJZHJtX3BsYW5lX2hlbHBlcl9hZGQoJnByaW1hcnktPmJh c2UsICZpbnRlbF9wbGFuZV9oZWxwZXJfZnVuY3MpOwo+ICsKPiAgCXJldHVybiAmcHJpbWFyeS0+ YmFzZTsKPiAgfQo+ICAKPiBAQCAtMTE5NTcsNiArMTE5NjgsOCBAQCBzdGF0aWMgY29uc3Qgc3Ry dWN0IGRybV9wbGFuZV9mdW5jcyBpbnRlbF9jdXJzb3JfcGxhbmVfZnVuY3MgPSB7Cj4gIAkuZGlz YWJsZV9wbGFuZSA9IGludGVsX2N1cnNvcl9wbGFuZV9kaXNhYmxlLAo+ICAJLmRlc3Ryb3kgPSBp bnRlbF9wbGFuZV9kZXN0cm95LAo+ICAJLnNldF9wcm9wZXJ0eSA9IGludGVsX3BsYW5lX3NldF9w cm9wZXJ0eSwKPiArCS5hdG9taWNfZHVwbGljYXRlX3N0YXRlID0gaW50ZWxfcGxhbmVfZHVwbGlj YXRlX3N0YXRlLAo+ICsJLmF0b21pY19kZXN0cm95X3N0YXRlID0gaW50ZWxfcGxhbmVfZGVzdHJv eV9zdGF0ZSwKPiAgfTsKPiAgCj4gIHN0YXRpYyBzdHJ1Y3QgZHJtX3BsYW5lICppbnRlbF9jdXJz b3JfcGxhbmVfY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gQEAgLTExOTY4LDExICsx MTk4MSwxNCBAQCBzdGF0aWMgc3RydWN0IGRybV9wbGFuZSAqaW50ZWxfY3Vyc29yX3BsYW5lX2Ny ZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAJaWYgKGN1cnNvciA9PSBOVUxMKQo+ICAJ CXJldHVybiBOVUxMOwo+ICAKPiArCWN1cnNvci0+YmFzZS5zdGF0ZSA9IGludGVsX3BsYW5lX2R1 cGxpY2F0ZV9zdGF0ZSgmY3Vyc29yLT5iYXNlKTsKPiAgCWN1cnNvci0+Y2FuX3NjYWxlID0gZmFs c2U7Cj4gIAljdXJzb3ItPm1heF9kb3duc2NhbGUgPSAxOwo+ICAJY3Vyc29yLT5waXBlID0gcGlw ZTsKPiAgCWN1cnNvci0+cGxhbmUgPSBwaXBlOwo+ICAJY3Vyc29yLT5yb3RhdGlvbiA9IEJJVChE Uk1fUk9UQVRFXzApOwo+ICsJY3Vyc29yLT5jaGVja19wbGFuZSA9IGludGVsX2NoZWNrX2N1cnNv cl9wbGFuZTsKPiArCWN1cnNvci0+Y29tbWl0X3BsYW5lID0gaW50ZWxfY29tbWl0X2N1cnNvcl9w bGFuZTsKPiAgCj4gIAlkcm1fdW5pdmVyc2FsX3BsYW5lX2luaXQoZGV2LCAmY3Vyc29yLT5iYXNl LCAwLAo+ICAJCQkJICZpbnRlbF9jdXJzb3JfcGxhbmVfZnVuY3MsCj4gQEAgLTExOTkyLDYgKzEy MDA4LDggQEAgc3RhdGljIHN0cnVjdCBkcm1fcGxhbmUgKmludGVsX2N1cnNvcl9wbGFuZV9jcmVh dGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCQkJCWN1cnNvci0+cm90YXRpb24pOwo+ICAJ fQo+ICAKPiArCWRybV9wbGFuZV9oZWxwZXJfYWRkKCZjdXJzb3ItPmJhc2UsICZpbnRlbF9wbGFu ZV9oZWxwZXJfZnVuY3MpOwo+ICsKPiAgCXJldHVybiAmY3Vyc29yLT5iYXNlOwo+ICB9Cj4gIAo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gaW5kZXggNDkzNThjOC4uMTg4MmRlMSAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gQEAgLTQ2Niw2ICs0NjYsOCBAQCBzdHJ1Y3QgaW50 ZWxfY3J0YyB7Cj4gIAo+ICAJaW50IHNjYW5saW5lX29mZnNldDsKPiAgCXN0cnVjdCBpbnRlbF9t bWlvX2ZsaXAgbW1pb19mbGlwOwo+ICsKPiArCXVpbnQzMl90IGF0b21pY192YmxfY291bnQ7Cj4g IH07Cj4gIAo+ICBzdHJ1Y3QgaW50ZWxfcGxhbmVfd21fcGFyYW1ldGVycyB7Cj4gQEAgLTUwNiw2 ICs1MDgsMTAgQEAgc3RydWN0IGludGVsX3BsYW5lIHsKPiAgCQkJICAgICB1aW50MzJfdCBzcmNf dywgdWludDMyX3Qgc3JjX2gpOwo+ICAJdm9pZCAoKmRpc2FibGVfcGxhbmUpKHN0cnVjdCBkcm1f cGxhbmUgKnBsYW5lLAo+ICAJCQkgICAgICBzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOwo+ICsJaW50 ICgqY2hlY2tfcGxhbmUpKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ICsJCQkgICBzdHJ1Y3Qg aW50ZWxfcGxhbmVfc3RhdGUgKnN0YXRlKTsKPiArCXZvaWQgKCpjb21taXRfcGxhbmUpKHN0cnVj dCBkcm1fcGxhbmUgKnBsYW5lLAo+ICsJCQkgICAgIHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAq c3RhdGUpOwo+ICAJaW50ICgqdXBkYXRlX2NvbG9ya2V5KShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFu ZSwKPiAgCQkJICAgICAgIHN0cnVjdCBkcm1faW50ZWxfc3ByaXRlX2NvbG9ya2V5ICprZXkpOwo+ ICAJdm9pZCAoKmdldF9jb2xvcmtleSkoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gQEAgLTUz Niw2ICs1NDIsNyBAQCBzdHJ1Y3QgY3hzcl9sYXRlbmN5IHsKPiAgI2RlZmluZSB0b19pbnRlbF9l bmNvZGVyKHgpIGNvbnRhaW5lcl9vZih4LCBzdHJ1Y3QgaW50ZWxfZW5jb2RlciwgYmFzZSkKPiAg I2RlZmluZSB0b19pbnRlbF9mcmFtZWJ1ZmZlcih4KSBjb250YWluZXJfb2YoeCwgc3RydWN0IGlu dGVsX2ZyYW1lYnVmZmVyLCBiYXNlKQo+ICAjZGVmaW5lIHRvX2ludGVsX3BsYW5lKHgpIGNvbnRh aW5lcl9vZih4LCBzdHJ1Y3QgaW50ZWxfcGxhbmUsIGJhc2UpCj4gKyNkZWZpbmUgdG9faW50ZWxf cGxhbmVfc3RhdGUoeCkgY29udGFpbmVyX29mKHgsIHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSwg YmFzZSkKPiAgI2RlZmluZSBpbnRlbF9mYl9vYmooeCkgKHggPyB0b19pbnRlbF9mcmFtZWJ1ZmZl cih4KS0+b2JqIDogTlVMTCkKPiAgCj4gIHN0cnVjdCBpbnRlbF9oZG1pIHsKPiBAQCAtMTE5NSw0 ICsxMjAyLDEyIEBAIGludCBpbnRlbF9zcHJpdGVfcGxhbmVfZGlzYWJsZShzdHJ1Y3QgZHJtX3Bs YW5lICpwbGFuZSk7Cj4gIC8qIGludGVsX3R2LmMgKi8KPiAgdm9pZCBpbnRlbF90dl9pbml0KHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+ICAKPiArLyogaW50ZWxfYXRvbWljLmMgKi8KPiArc3Ry dWN0IGRybV9wbGFuZV9zdGF0ZSAqaW50ZWxfcGxhbmVfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBk cm1fcGxhbmUgKnBsYW5lKTsKPiArdm9pZCBpbnRlbF9wbGFuZV9kZXN0cm95X3N0YXRlKHN0cnVj dCBkcm1fcGxhbmUgKnBsYW5lLAo+ICsJCQkgICAgICAgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAq c3RhdGUpOwo+ICt2b2lkIGludGVsX2NydGNfYXRvbWljX2JlZ2luKHN0cnVjdCBkcm1fY3J0YyAq Y3J0Yyk7Cj4gK3ZvaWQgaW50ZWxfY3J0Y19hdG9taWNfZmx1c2goc3RydWN0IGRybV9jcnRjICpj cnRjKTsKPiArZXh0ZXJuIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfaGVscGVyX2Z1bmNzIGludGVs X3BsYW5lX2hlbHBlcl9mdW5jczsKPiArCj4gICNlbmRpZiAvKiBfX0lOVEVMX0RSVl9IX18gKi8K PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwo+IGluZGV4IDllNmE3MmEuLmQzNjc3YzMg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwo+IEBAIC0zMyw2ICszMyw3IEBA Cj4gICNpbmNsdWRlIDxkcm0vZHJtX2NydGMuaD4KPiAgI2luY2x1ZGUgPGRybS9kcm1fZm91cmNj Lmg+Cj4gICNpbmNsdWRlIDxkcm0vZHJtX3JlY3QuaD4KPiArI2luY2x1ZGUgPGRybS9kcm1fcGxh bmVfaGVscGVyLmg+Cj4gICNpbmNsdWRlICJpbnRlbF9kcnYuaCIKPiAgI2luY2x1ZGUgPGRybS9p OTE1X2RybS5oPgo+ICAjaW5jbHVkZSAiaTkxNV9kcnYuaCIKPiBAQCAtMTU3Myw2ICsxNTc0LDgg QEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfZnVuY3MgaW50ZWxfcGxhbmVfZnVuY3Mg PSB7Cj4gIAkuZGlzYWJsZV9wbGFuZSA9IGludGVsX3Nwcml0ZV9wbGFuZV9kaXNhYmxlLAo+ICAJ LmRlc3Ryb3kgPSBpbnRlbF9wbGFuZV9kZXN0cm95LAo+ICAJLnNldF9wcm9wZXJ0eSA9IGludGVs X3BsYW5lX3NldF9wcm9wZXJ0eSwKPiArCS5hdG9taWNfZHVwbGljYXRlX3N0YXRlID0gaW50ZWxf cGxhbmVfZHVwbGljYXRlX3N0YXRlLAo+ICsJLmF0b21pY19kZXN0cm95X3N0YXRlID0gaW50ZWxf cGxhbmVfZGVzdHJveV9zdGF0ZSwKPiAgfTsKPiAgCj4gIHN0YXRpYyB1aW50MzJfdCBpbGtfcGxh bmVfZm9ybWF0c1tdID0gewo+IEBAIC0xNjM0LDYgKzE2MzcsOSBAQCBpbnRlbF9wbGFuZV9pbml0 KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGVudW0gcGlwZSBwaXBlLCBpbnQgcGxhbmUpCj4gIAlp ZiAoIWludGVsX3BsYW5lKQo+ICAJCXJldHVybiAtRU5PTUVNOwo+ICAKPiArCWludGVsX3BsYW5l LT5iYXNlLnN0YXRlID0KPiArCQlpbnRlbF9wbGFuZV9kdXBsaWNhdGVfc3RhdGUoJmludGVsX3Bs YW5lLT5iYXNlKTsKPiArCj4gIAlzd2l0Y2ggKElOVEVMX0lORk8oZGV2KS0+Z2VuKSB7Cj4gIAlj YXNlIDU6Cj4gIAljYXNlIDY6Cj4gQEAgLTE3MDQsNiArMTcxMCw4IEBAIGludGVsX3BsYW5lX2lu aXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgZW51bSBwaXBlIHBpcGUsIGludCBwbGFuZSkKPiAg CWludGVsX3BsYW5lLT5waXBlID0gcGlwZTsKPiAgCWludGVsX3BsYW5lLT5wbGFuZSA9IHBsYW5l Owo+ICAJaW50ZWxfcGxhbmUtPnJvdGF0aW9uID0gQklUKERSTV9ST1RBVEVfMCk7Cj4gKwlpbnRl bF9wbGFuZS0+Y2hlY2tfcGxhbmUgPSBpbnRlbF9jaGVja19zcHJpdGVfcGxhbmU7Cj4gKwlpbnRl bF9wbGFuZS0+Y29tbWl0X3BsYW5lID0gaW50ZWxfY29tbWl0X3Nwcml0ZV9wbGFuZTsKPiAgCXBv c3NpYmxlX2NydGNzID0gKDEgPDwgcGlwZSk7Cj4gIAlyZXQgPSBkcm1fdW5pdmVyc2FsX3BsYW5l X2luaXQoZGV2LCAmaW50ZWxfcGxhbmUtPmJhc2UsIHBvc3NpYmxlX2NydGNzLAo+ICAJCQkJICAg ICAgICZpbnRlbF9wbGFuZV9mdW5jcywKPiBAQCAtMTcyNSw2ICsxNzMzLDggQEAgaW50ZWxfcGxh bmVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBlbnVtIHBpcGUgcGlwZSwgaW50IHBsYW5l KQo+ICAJCQkJCSAgIGRldi0+bW9kZV9jb25maWcucm90YXRpb25fcHJvcGVydHksCj4gIAkJCQkJ ICAgaW50ZWxfcGxhbmUtPnJvdGF0aW9uKTsKPiAgCj4gKwlkcm1fcGxhbmVfaGVscGVyX2FkZCgm aW50ZWxfcGxhbmUtPmJhc2UsICZpbnRlbF9wbGFuZV9oZWxwZXJfZnVuY3MpOwo+ICsKPiAgIG91 dDoKPiAgCXJldHVybiByZXQ7Cj4gIH0KPiAtLSAKPiAxLjguNS4xCj4gCgotLSAKTWF0dCBSb3Bl cgpHcmFwaGljcyBTb2Z0d2FyZSBFbmdpbmVlcgpJb1RHIFBsYXRmb3JtIEVuYWJsaW5nICYgRGV2 ZWxvcG1lbnQKSW50ZWwgQ29ycG9yYXRpb24KKDkxNikgMzU2LTI3OTUKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJ bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK