From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v6 03/10] drm/i915: s/enum plane/enum i9xx_plane_id/ Date: Fri, 17 Nov 2017 22:32:19 +0200 Message-ID: <20171117203219.GO10981@intel.com> References: <20171117191917.11506-1-ville.syrjala@linux.intel.com> <20171117191917.11506-4-ville.syrjala@linux.intel.com> <20171117201215.dp26crgfrxh467i5@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 07C986EA8B for ; Fri, 17 Nov 2017 20:32:22 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20171117201215.dp26crgfrxh467i5@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Rodrigo Vivi Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBOb3YgMTcsIDIwMTcgYXQgMTI6MTI6MTVQTSAtMDgwMCwgUm9kcmlnbyBWaXZpIHdy b3RlOgo+IE9uIEZyaSwgTm92IDE3LCAyMDE3IGF0IDA3OjE5OjEwUE0gKzAwMDAsIFZpbGxlIFN5 cmphbGEgd3JvdGU6Cj4gPiBGcm9tOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGlu dXguaW50ZWwuY29tPgo+ID4gCj4gPiBSZW5hbWUgZW51bSBwbGFuZSB0byBlbnVtIGk5eHhfcGxh bmVfaWQgdG8gbWFrZSBpdCBjbGVhciB0aGF0IGl0IG9ubHkKPiA+IGFwcGxpZXMgdG8gcHJlLVNL TCBwbGF0Zm9ybXMuCj4gCj4gT2ghIEkgc2hvdWxkIGhhZCByZWFkIHRoaXMgYmVmb3JlIGNvbW1l bnRpbmcgb24gdGhlIGNvdmVyIGxldHRlci4uLiBzb3JyeS4uLgo+IAo+IEFueXdheSBJIGRvbid0 IGJlbGlldmUgaXQgbWFrZSBjbGVhciB0aGF0IGl0IGlzIG5vdCBza2wuLi4gYmVjYXVzZSBpdCBt ZWFucwo+IGl0IHN0YXJ0ZWQgb24gaTl4eCwgYnV0IG5vdCB0aGF0IGVuZGVkIG9uIHNrbC4uLiBq dXN0ICJwbGFuZSIgd2FzIGFscmVhZHkKPiBnb29kIGVub3VnaCBpbWhvLi4uIGJ1dCBpdCBpcyBy ZWFsbHkganVzdCBhIGNvbW1lbnQuLi4KPiBkb24ndCB0YWtlIHRoaXMgYXMgYSBuYWNrIGFueWhv dy4uLiA7KQoKSSB0aGluayBvdXIgdW53cml0dGVuIHJ1bGUgaXMgdGhhdCBpOXh4IG9mdGVuIHJl ZmVycyB0bwpnZW4yLzMvNCwgc29tZXRpbWVzIGluY2x1ZGluZyBnNHggc29tZXRpbWVzIG5vdCwg YW5kIHNvbWV0aW1lcwpldmVuIHZsdi9jaHYgZ2V0cyBpbmNsdWRlZC4KCkFuZCBzb21ldGltZXMg d2UganVzdCBjYWxsIHRoaW5ncyBieSB0aGUgbmFtZSBpOTE1IGluc3RlYWQgb2YKaTl4eCwgbWVh bmluZyBnbWNoLiBCdXQgb24gb3RoZXIgb2NjYXNpb25zIGk5MTUgbWVhbnMganVzdCBnZW4zLAph bmQgaTl4eCBtZWFucyBhbnl0aGluZyBlbHNlIGdtY2ggbm90IG90aGVyd2lzZSBuYW1lZCBtb3Jl CnNwZWNpZmljYWxseS4KCkdvdCBpdD8gR29vZCA6KQoKSW4gdGhpcyBjYXNlIHRoYXQgInBhdHRl cm4iIGlzIGEgYml0IG1vcmUgYnJva2VuIHNpbmNlIGhlcmUKaTl4eCBleHRlbmRzIGFsbCB0aGUg d2F5IHRvIGJkdy4gQnV0IGl0IGRvZXMgbWF0Y2ggdGhlIGZhY3QgdGhhdAp0aGUgcHJpbWFyeSBw bGFuZSBmdW5jdGlvbnMgYXJlIG5vdyBjYWxsZWQgaTl4eF9wbGFuZV93aGF0ZXZlcigpLgoKSSB0 aGluayBJIG5lZWQgdG8gaW5jbHVkZSB0aGUgY3Vyc29yIHBsYW5lcyBpbiB0aGUgaTl4eF9wbGFu ZV9pZApzb29uIGVub3VnaCwgd2hpY2ggd2lsbCBtYWtlIGl0IHBhcnRpYWxseSBleHRlbmQgYWxs IHRoZSB3YXkgdG8gY25sCmFuZCBiZXlvbmQuIFdlIHJlYWxseSBuZWVkIHRvIHRlbGwgdGhlIGh3 IHBlb3BsZSB0byByZWRlc2lnbiB0aGUKY3Vyc29yIHBsYW5lcyBzbyB0aGF0IHdlIGhhdmUgYW4g ZXhjdXNlIHRvIHNwbGl0IHRoZSBjb2RlIDpQCgo+IAo+ID4gCj4gPiBlbnVtIGk5eHhfcGxhbmVf aWQgaXMgYSBnbG9iYWwgaWRlbnRpZmllciwgd2hlcmVhcyBlbnVtIHBsYW5lX2lkIGlzCj4gPiBw ZXItcGlwZS4gV2UgbmVlZCB0aGUgb2xkIGdsb2JhbCBpZGVudGlmaWVyIHRvIGluZGV4IHRoZSBw cmltYXJ5IHBsYW5lCj4gPiAoYW5kIHRoZSBwcmUtZzR4IHNwcml0ZSBDIGlmIHdlIGV2ZXIgZXhw b3NlIGl0KSByZWdpc3RlcnMgb24gcHJlLVNLTAo+ID4gcGxhdGZvcm1zLgo+ID4gCj4gPiB2Mjog UmVvcmRlciBwYXRjaGVzCj4gPiB2Mzogcy9vbGRfcGxhbmVfaWQvaTl4eF9wbGFuZV9pZC8gKERh bmllbCkKPiA+ICAgICBQaW1wIHRoZSBjb21taXQgbWVzc2FnZSBhIGJpdAo+ID4gICAgIE5vdGUg dGhhdCBpOXh4X3BsYW5lX2lkIGRvZXNuJ3QgYXBwbHkgdG8gU0tMKwo+ID4gdjQ6IFJlYmFzZSBk dWUgdG8gcG93ZXIgZG9tYWluIGhhbmRsaW5nIGluIHBsYW5lIHJlYWRvdXQKPiA+IHY1OiBSZWJh c2UgZHVlIHRvIGNydGMtPmRzcGFkZHJfb2Zmc2V0IHJlbW92YWwKPiA+IHY2OiBzL3BsYW5lL2k5 eHhfcGxhbmUvIGV0Yy4gKEphbWVzKQo+ID4gCj4gPiBDYzogSmFtZXMgQXVzbXVzIDxqYW1lcy5h dXNtdXNAaW50ZWwuY29tPgo+ID4gQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbEBmZndsbC5jaD4K PiA+IFNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5p bnRlbC5jb20+Cj4gPiAtLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAg ICAgfCAgNiArLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCA5 OCArKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0KPiA+ICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgfCAgNiArLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9mYmMuYyAgICAgfCAxMiArKy0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3Nwcml0ZS5jICB8ICAyICstCj4gPiAgNSBmaWxlcyBjaGFuZ2VkLCA2MiBpbnNlcnRpb25z KCspLCA2MiBkZWxldGlvbnMoLSkKPiA+IAo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gPiBp bmRleCAyMTU4YTc1OGExN2QuLjU1ZGQ2MDI1ODJjYiAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmgKPiA+IEBAIC0zMDQsOSArMzA0LDkgQEAgc3RhdGljIGlubGluZSBib29sIHRyYW5z Y29kZXJfaXNfZHNpKGVudW0gdHJhbnNjb2RlciB0cmFuc2NvZGVyKQo+ID4gIAo+ID4gIC8qCj4g PiAgICogR2xvYmFsIGxlZ2FjeSBwbGFuZSBpZGVudGlmaWVyLiBWYWxpZCBvbmx5IGZvciBwcmlt YXJ5L3Nwcml0ZQo+ID4gLSAqIHBsYW5lcyBvbiBwcmUtZzR4LCBhbmQgb25seSBmb3IgcHJpbWFy eSBwbGFuZXMgb24gZzR4Ky4KPiA+ICsgKiBwbGFuZXMgb24gcHJlLWc0eCwgYW5kIG9ubHkgZm9y IHByaW1hcnkgcGxhbmVzIG9uIGc0eC1iZHcuCj4gPiAgICovCj4gPiAtZW51bSBwbGFuZSB7Cj4g PiArZW51bSBpOXh4X3BsYW5lX2lkIHsKPiA+ICAJUExBTkVfQSwKPiA+ICAJUExBTkVfQiwKPiA+ ICAJUExBTkVfQywKPiA+IEBAIC0xMTQ1LDcgKzExNDUsNyBAQCBzdHJ1Y3QgaW50ZWxfZmJjIHsK PiA+ICAKPiA+ICAJCXN0cnVjdCB7Cj4gPiAgCQkJZW51bSBwaXBlIHBpcGU7Cj4gPiAtCQkJZW51 bSBwbGFuZSBwbGFuZTsKPiA+ICsJCQllbnVtIGk5eHhfcGxhbmVfaWQgaTl4eF9wbGFuZTsKPiA+ ICAJCQl1bnNpZ25lZCBpbnQgZmVuY2VfeV9vZmZzZXQ7Cj4gPiAgCQl9IGNydGM7Cj4gPiAgCj4g PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gPiBpbmRleCA5MWY3NGM1MzczYjMu LjE2YWM4NjgxNmYyOCAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5j Cj4gPiBAQCAtMzIyMCwxNiArMzIyMCwxNiBAQCBpbnQgaTl4eF9jaGVja19wbGFuZV9zdXJmYWNl KHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGUpCj4gPiAgCXJldHVybiAwOwo+ ID4gIH0KPiA+ICAKPiA+IC1zdGF0aWMgdm9pZCBpOXh4X3VwZGF0ZV9wcmltYXJ5X3BsYW5lKHN0 cnVjdCBpbnRlbF9wbGFuZSAqcHJpbWFyeSwKPiA+IC0JCQkJICAgICAgY29uc3Qgc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCj4gPiAtCQkJCSAgICAgIGNvbnN0IHN0cnVjdCBp bnRlbF9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGUpCj4gPiArc3RhdGljIHZvaWQgaTl4eF91cGRh dGVfcGxhbmUoc3RydWN0IGludGVsX3BsYW5lICpwbGFuZSwKPiA+ICsJCQkgICAgICBjb25zdCBz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPiA+ICsJCQkgICAgICBjb25zdCBz dHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlKQo+ID4gIHsKPiA+IC0Jc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShwcmltYXJ5LT5iYXNlLmRldik7 Cj4gPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUocGxhbmUt PmJhc2UuZGV2KTsKPiA+ICAJY29uc3Qgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSBwbGFu ZV9zdGF0ZS0+YmFzZS5mYjsKPiA+IC0JZW51bSBwbGFuZSBwbGFuZSA9IHByaW1hcnktPnBsYW5l Owo+ID4gKwllbnVtIGk5eHhfcGxhbmVfaWQgaTl4eF9wbGFuZSA9IHBsYW5lLT5pOXh4X3BsYW5l Owo+ID4gIAl1MzIgbGluZWFyX29mZnNldDsKPiA+ICAJdTMyIGRzcGNudHIgPSBwbGFuZV9zdGF0 ZS0+Y3RsOwo+ID4gLQlpOTE1X3JlZ190IHJlZyA9IERTUENOVFIocGxhbmUpOwo+ID4gKwlpOTE1 X3JlZ190IHJlZyA9IERTUENOVFIoaTl4eF9wbGFuZSk7Cj4gPiAgCWludCB4ID0gcGxhbmVfc3Rh dGUtPm1haW4ueDsKPiA+ICAJaW50IHkgPSBwbGFuZV9zdGF0ZS0+bWFpbi55Owo+ID4gIAl1bnNp Z25lZCBsb25nIGlycWZsYWdzOwo+ID4gQEAgLTMyNDgsMzQgKzMyNDgsMzQgQEAgc3RhdGljIHZv aWQgaTl4eF91cGRhdGVfcHJpbWFyeV9wbGFuZShzdHJ1Y3QgaW50ZWxfcGxhbmUgKnByaW1hcnks Cj4gPiAgCQkvKiBwaXBlc3JjIGFuZCBkc3BzaXplIGNvbnRyb2wgdGhlIHNpemUgdGhhdCBpcyBz Y2FsZWQgZnJvbSwKPiA+ICAJCSAqIHdoaWNoIHNob3VsZCBhbHdheXMgYmUgdGhlIHVzZXIncyBy ZXF1ZXN0ZWQgc2l6ZS4KPiA+ICAJCSAqLwo+ID4gLQkJSTkxNV9XUklURV9GVyhEU1BTSVpFKHBs YW5lKSwKPiA+ICsJCUk5MTVfV1JJVEVfRlcoRFNQU0laRShpOXh4X3BsYW5lKSwKPiA+ICAJCQkg ICAgICAoKGNydGNfc3RhdGUtPnBpcGVfc3JjX2ggLSAxKSA8PCAxNikgfAo+ID4gIAkJCSAgICAg IChjcnRjX3N0YXRlLT5waXBlX3NyY193IC0gMSkpOwo+ID4gLQkJSTkxNV9XUklURV9GVyhEU1BQ T1MocGxhbmUpLCAwKTsKPiA+IC0JfSBlbHNlIGlmIChJU19DSEVSUllWSUVXKGRldl9wcml2KSAm JiBwbGFuZSA9PSBQTEFORV9CKSB7Cj4gPiAtCQlJOTE1X1dSSVRFX0ZXKFBSSU1TSVpFKHBsYW5l KSwKPiA+ICsJCUk5MTVfV1JJVEVfRlcoRFNQUE9TKGk5eHhfcGxhbmUpLCAwKTsKPiA+ICsJfSBl bHNlIGlmIChJU19DSEVSUllWSUVXKGRldl9wcml2KSAmJiBpOXh4X3BsYW5lID09IFBMQU5FX0Ip IHsKPiA+ICsJCUk5MTVfV1JJVEVfRlcoUFJJTVNJWkUoaTl4eF9wbGFuZSksCj4gPiAgCQkJICAg ICAgKChjcnRjX3N0YXRlLT5waXBlX3NyY19oIC0gMSkgPDwgMTYpIHwKPiA+ICAJCQkgICAgICAo Y3J0Y19zdGF0ZS0+cGlwZV9zcmNfdyAtIDEpKTsKPiA+IC0JCUk5MTVfV1JJVEVfRlcoUFJJTVBP UyhwbGFuZSksIDApOwo+ID4gLQkJSTkxNV9XUklURV9GVyhQUklNQ05TVEFMUEhBKHBsYW5lKSwg MCk7Cj4gPiArCQlJOTE1X1dSSVRFX0ZXKFBSSU1QT1MoaTl4eF9wbGFuZSksIDApOwo+ID4gKwkJ STkxNV9XUklURV9GVyhQUklNQ05TVEFMUEhBKGk5eHhfcGxhbmUpLCAwKTsKPiA+ICAJfQo+ID4g IAo+ID4gIAlJOTE1X1dSSVRFX0ZXKHJlZywgZHNwY250cik7Cj4gPiAgCj4gPiAtCUk5MTVfV1JJ VEVfRlcoRFNQU1RSSURFKHBsYW5lKSwgZmItPnBpdGNoZXNbMF0pOwo+ID4gKwlJOTE1X1dSSVRF X0ZXKERTUFNUUklERShpOXh4X3BsYW5lKSwgZmItPnBpdGNoZXNbMF0pOwo+ID4gIAlpZiAoSVNf SEFTV0VMTChkZXZfcHJpdikgfHwgSVNfQlJPQURXRUxMKGRldl9wcml2KSkgewo+ID4gLQkJSTkx NV9XUklURV9GVyhEU1BTVVJGKHBsYW5lKSwKPiA+ICsJCUk5MTVfV1JJVEVfRlcoRFNQU1VSRihp OXh4X3BsYW5lKSwKPiA+ICAJCQkgICAgICBpbnRlbF9wbGFuZV9nZ3R0X29mZnNldChwbGFuZV9z dGF0ZSkgKwo+ID4gIAkJCSAgICAgIGRzcGFkZHJfb2Zmc2V0KTsKPiA+IC0JCUk5MTVfV1JJVEVf RlcoRFNQT0ZGU0VUKHBsYW5lKSwgKHkgPDwgMTYpIHwgeCk7Cj4gPiArCQlJOTE1X1dSSVRFX0ZX KERTUE9GRlNFVChpOXh4X3BsYW5lKSwgKHkgPDwgMTYpIHwgeCk7Cj4gPiAgCX0gZWxzZSBpZiAo SU5URUxfR0VOKGRldl9wcml2KSA+PSA0KSB7Cj4gPiAtCQlJOTE1X1dSSVRFX0ZXKERTUFNVUkYo cGxhbmUpLAo+ID4gKwkJSTkxNV9XUklURV9GVyhEU1BTVVJGKGk5eHhfcGxhbmUpLAo+ID4gIAkJ CSAgICAgIGludGVsX3BsYW5lX2dndHRfb2Zmc2V0KHBsYW5lX3N0YXRlKSArCj4gPiAgCQkJICAg ICAgZHNwYWRkcl9vZmZzZXQpOwo+ID4gLQkJSTkxNV9XUklURV9GVyhEU1BUSUxFT0ZGKHBsYW5l KSwgKHkgPDwgMTYpIHwgeCk7Cj4gPiAtCQlJOTE1X1dSSVRFX0ZXKERTUExJTk9GRihwbGFuZSks IGxpbmVhcl9vZmZzZXQpOwo+ID4gKwkJSTkxNV9XUklURV9GVyhEU1BUSUxFT0ZGKGk5eHhfcGxh bmUpLCAoeSA8PCAxNikgfCB4KTsKPiA+ICsJCUk5MTVfV1JJVEVfRlcoRFNQTElOT0ZGKGk5eHhf cGxhbmUpLCBsaW5lYXJfb2Zmc2V0KTsKPiA+ICAJfSBlbHNlIHsKPiA+IC0JCUk5MTVfV1JJVEVf RlcoRFNQQUREUihwbGFuZSksCj4gPiArCQlJOTE1X1dSSVRFX0ZXKERTUEFERFIoaTl4eF9wbGFu ZSksCj4gPiAgCQkJICAgICAgaW50ZWxfcGxhbmVfZ2d0dF9vZmZzZXQocGxhbmVfc3RhdGUpICsK PiA+ICAJCQkgICAgICBkc3BhZGRyX29mZnNldCk7Cj4gPiAgCX0KPiA+IEBAIC0zMjg0LDMyICsz Mjg0LDMxIEBAIHN0YXRpYyB2b2lkIGk5eHhfdXBkYXRlX3ByaW1hcnlfcGxhbmUoc3RydWN0IGlu dGVsX3BsYW5lICpwcmltYXJ5LAo+ID4gIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkZXZfcHJp di0+dW5jb3JlLmxvY2ssIGlycWZsYWdzKTsKPiA+ICB9Cj4gPiAgCj4gPiAtc3RhdGljIHZvaWQg aTl4eF9kaXNhYmxlX3ByaW1hcnlfcGxhbmUoc3RydWN0IGludGVsX3BsYW5lICpwcmltYXJ5LAo+ ID4gLQkJCQkgICAgICAgc3RydWN0IGludGVsX2NydGMgKmNydGMpCj4gPiArc3RhdGljIHZvaWQg aTl4eF9kaXNhYmxlX3BsYW5lKHN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmUsCj4gPiArCQkJICAg ICAgIHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQo+ID4gIHsKPiA+IC0Jc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShwcmltYXJ5LT5iYXNlLmRldik7Cj4gPiAtCWVu dW0gcGxhbmUgcGxhbmUgPSBwcmltYXJ5LT5wbGFuZTsKPiA+ICsJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShwbGFuZS0+YmFzZS5kZXYpOwo+ID4gKwllbnVtIGk5 eHhfcGxhbmVfaWQgaTl4eF9wbGFuZSA9IHBsYW5lLT5pOXh4X3BsYW5lOwo+ID4gIAl1bnNpZ25l ZCBsb25nIGlycWZsYWdzOwo+ID4gIAo+ID4gIAlzcGluX2xvY2tfaXJxc2F2ZSgmZGV2X3ByaXYt PnVuY29yZS5sb2NrLCBpcnFmbGFncyk7Cj4gPiAgCj4gPiAtCUk5MTVfV1JJVEVfRlcoRFNQQ05U UihwbGFuZSksIDApOwo+ID4gLQlpZiAoSU5URUxfSU5GTyhkZXZfcHJpdiktPmdlbiA+PSA0KQo+ ID4gLQkJSTkxNV9XUklURV9GVyhEU1BTVVJGKHBsYW5lKSwgMCk7Cj4gPiArCUk5MTVfV1JJVEVf RlcoRFNQQ05UUihpOXh4X3BsYW5lKSwgMCk7Cj4gPiArCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYp ID49IDQpCj4gPiArCQlJOTE1X1dSSVRFX0ZXKERTUFNVUkYoaTl4eF9wbGFuZSksIDApOwo+ID4g IAllbHNlCj4gPiAtCQlJOTE1X1dSSVRFX0ZXKERTUEFERFIocGxhbmUpLCAwKTsKPiA+IC0JUE9T VElOR19SRUFEX0ZXKERTUENOVFIocGxhbmUpKTsKPiA+ICsJCUk5MTVfV1JJVEVfRlcoRFNQQURE UihpOXh4X3BsYW5lKSwgMCk7Cj4gPiArCVBPU1RJTkdfUkVBRF9GVyhEU1BDTlRSKGk5eHhfcGxh bmUpKTsKPiA+ICAKPiA+ICAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZGV2X3ByaXYtPnVuY29y ZS5sb2NrLCBpcnFmbGFncyk7Cj4gPiAgfQo+ID4gIAo+ID4gLXN0YXRpYyBib29sIGk5eHhfcGxh bmVfZ2V0X2h3X3N0YXRlKHN0cnVjdCBpbnRlbF9wbGFuZSAqcHJpbWFyeSkKPiA+ICtzdGF0aWMg Ym9vbCBpOXh4X3BsYW5lX2dldF9od19zdGF0ZShzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lKQo+ ID4gIHsKPiA+IC0KPiA+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9f aTkxNShwcmltYXJ5LT5iYXNlLmRldik7Cj4gPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IHRvX2k5MTUocGxhbmUtPmJhc2UuZGV2KTsKPiA+ICAJZW51bSBpbnRlbF9kaXNw bGF5X3Bvd2VyX2RvbWFpbiBwb3dlcl9kb21haW47Cj4gPiAtCWVudW0gcGxhbmUgcGxhbmUgPSBw cmltYXJ5LT5wbGFuZTsKPiA+IC0JZW51bSBwaXBlIHBpcGUgPSBwcmltYXJ5LT5waXBlOwo+ID4g KwllbnVtIGk5eHhfcGxhbmVfaWQgaTl4eF9wbGFuZSA9IHBsYW5lLT5pOXh4X3BsYW5lOwo+ID4g KwllbnVtIHBpcGUgcGlwZSA9IHBsYW5lLT5waXBlOwo+ID4gIAlib29sIHJldDsKPiA+ICAKPiA+ ICAJLyoKPiA+IEBAIC0zMzIxLDcgKzMzMjAsNyBAQCBzdGF0aWMgYm9vbCBpOXh4X3BsYW5lX2dl dF9od19zdGF0ZShzdHJ1Y3QgaW50ZWxfcGxhbmUgKnByaW1hcnkpCj4gPiAgCWlmICghaW50ZWxf ZGlzcGxheV9wb3dlcl9nZXRfaWZfZW5hYmxlZChkZXZfcHJpdiwgcG93ZXJfZG9tYWluKSkKPiA+ ICAJCXJldHVybiBmYWxzZTsKPiA+ICAKPiA+IC0JcmV0ID0gSTkxNV9SRUFEKERTUENOVFIocGxh bmUpKSAmIERJU1BMQVlfUExBTkVfRU5BQkxFOwo+ID4gKwlyZXQgPSBJOTE1X1JFQUQoRFNQQ05U UihpOXh4X3BsYW5lKSkgJiBESVNQTEFZX1BMQU5FX0VOQUJMRTsKPiA+ICAKPiA+ICAJaW50ZWxf ZGlzcGxheV9wb3dlcl9wdXQoZGV2X3ByaXYsIHBvd2VyX2RvbWFpbik7Cj4gPiAgCj4gPiBAQCAt NzQwNiw3ICs3NDA1LDcgQEAgaTl4eF9nZXRfaW5pdGlhbF9wbGFuZV9jb25maWcoc3RydWN0IGlu dGVsX2NydGMgKmNydGMsCj4gPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5iYXNl LmRldjsKPiA+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShk ZXYpOwo+ID4gIAl1MzIgdmFsLCBiYXNlLCBvZmZzZXQ7Cj4gPiAtCWludCBwaXBlID0gY3J0Yy0+ cGlwZSwgcGxhbmUgPSBjcnRjLT5wbGFuZTsKPiA+ICsJaW50IHBpcGUgPSBjcnRjLT5waXBlLCBw bGFuZSA9IGNydGMtPmk5eHhfcGxhbmU7Cj4gPiAgCWludCBmb3VyY2MsIHBpeGVsX2Zvcm1hdDsK PiA+ICAJdW5zaWduZWQgaW50IGFsaWduZWRfaGVpZ2h0Owo+ID4gIAlzdHJ1Y3QgZHJtX2ZyYW1l YnVmZmVyICpmYjsKPiA+IEBAIC0xMzI3Miw5ICsxMzI3MSw5IEBAIGludGVsX3ByaW1hcnlfcGxh bmVfY3JlYXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgZW51bSBwaXBlIHBp cGUpCj4gPiAgCSAqIHBvcnQgaXMgaG9va2VkIHRvIHBpcGUgQi4gSGVuY2Ugd2Ugd2FudCBwbGFu ZSBBIGZlZWRpbmcgcGlwZSBCLgo+ID4gIAkgKi8KPiA+ICAJaWYgKEhBU19GQkMoZGV2X3ByaXYp ICYmIElOVEVMX0dFTihkZXZfcHJpdikgPCA0KQo+ID4gLQkJcHJpbWFyeS0+cGxhbmUgPSAoZW51 bSBwbGFuZSkgIXBpcGU7Cj4gPiArCQlwcmltYXJ5LT5pOXh4X3BsYW5lID0gKGVudW0gaTl4eF9w bGFuZV9pZCkgIXBpcGU7Cj4gPiAgCWVsc2UKPiA+IC0JCXByaW1hcnktPnBsYW5lID0gKGVudW0g cGxhbmUpIHBpcGU7Cj4gPiArCQlwcmltYXJ5LT5pOXh4X3BsYW5lID0gKGVudW0gaTl4eF9wbGFu ZV9pZCkgcGlwZTsKPiA+ICAJcHJpbWFyeS0+aWQgPSBQTEFORV9QUklNQVJZOwo+ID4gIAlwcmlt YXJ5LT5mcm9udGJ1ZmZlcl9iaXQgPSBJTlRFTF9GUk9OVEJVRkZFUl9QUklNQVJZKHBpcGUpOwo+ ID4gIAlwcmltYXJ5LT5jaGVja19wbGFuZSA9IGludGVsX2NoZWNrX3ByaW1hcnlfcGxhbmU7Cj4g PiBAQCAtMTMzMDMsMTYgKzEzMzAyLDE2IEBAIGludGVsX3ByaW1hcnlfcGxhbmVfY3JlYXRlKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgZW51bSBwaXBlIHBpcGUpCj4gPiAgCQlu dW1fZm9ybWF0cyA9IEFSUkFZX1NJWkUoaTk2NV9wcmltYXJ5X2Zvcm1hdHMpOwo+ID4gIAkJbW9k aWZpZXJzID0gaTl4eF9mb3JtYXRfbW9kaWZpZXJzOwo+ID4gIAo+ID4gLQkJcHJpbWFyeS0+dXBk YXRlX3BsYW5lID0gaTl4eF91cGRhdGVfcHJpbWFyeV9wbGFuZTsKPiA+IC0JCXByaW1hcnktPmRp c2FibGVfcGxhbmUgPSBpOXh4X2Rpc2FibGVfcHJpbWFyeV9wbGFuZTsKPiA+ICsJCXByaW1hcnkt PnVwZGF0ZV9wbGFuZSA9IGk5eHhfdXBkYXRlX3BsYW5lOwo+ID4gKwkJcHJpbWFyeS0+ZGlzYWJs ZV9wbGFuZSA9IGk5eHhfZGlzYWJsZV9wbGFuZTsKPiA+ICAJCXByaW1hcnktPmdldF9od19zdGF0 ZSA9IGk5eHhfcGxhbmVfZ2V0X2h3X3N0YXRlOwo+ID4gIAl9IGVsc2Ugewo+ID4gIAkJaW50ZWxf cHJpbWFyeV9mb3JtYXRzID0gaTh4eF9wcmltYXJ5X2Zvcm1hdHM7Cj4gPiAgCQludW1fZm9ybWF0 cyA9IEFSUkFZX1NJWkUoaTh4eF9wcmltYXJ5X2Zvcm1hdHMpOwo+ID4gIAkJbW9kaWZpZXJzID0g aTl4eF9mb3JtYXRfbW9kaWZpZXJzOwo+ID4gIAo+ID4gLQkJcHJpbWFyeS0+dXBkYXRlX3BsYW5l ID0gaTl4eF91cGRhdGVfcHJpbWFyeV9wbGFuZTsKPiA+IC0JCXByaW1hcnktPmRpc2FibGVfcGxh bmUgPSBpOXh4X2Rpc2FibGVfcHJpbWFyeV9wbGFuZTsKPiA+ICsJCXByaW1hcnktPnVwZGF0ZV9w bGFuZSA9IGk5eHhfdXBkYXRlX3BsYW5lOwo+ID4gKwkJcHJpbWFyeS0+ZGlzYWJsZV9wbGFuZSA9 IGk5eHhfZGlzYWJsZV9wbGFuZTsKPiA+ICAJCXByaW1hcnktPmdldF9od19zdGF0ZSA9IGk5eHhf cGxhbmVfZ2V0X2h3X3N0YXRlOwo+ID4gIAl9Cj4gPiAgCj4gPiBAQCAtMTMzMzYsNyArMTMzMzUs OCBAQCBpbnRlbF9wcmltYXJ5X3BsYW5lX2NyZWF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYsIGVudW0gcGlwZSBwaXBlKQo+ID4gIAkJCQkJICAgICAgIGludGVsX3ByaW1hcnlf Zm9ybWF0cywgbnVtX2Zvcm1hdHMsCj4gPiAgCQkJCQkgICAgICAgbW9kaWZpZXJzLAo+ID4gIAkJ CQkJICAgICAgIERSTV9QTEFORV9UWVBFX1BSSU1BUlksCj4gPiAtCQkJCQkgICAgICAgInBsYW5l ICVjIiwgcGxhbmVfbmFtZShwcmltYXJ5LT5wbGFuZSkpOwo+ID4gKwkJCQkJICAgICAgICJwbGFu ZSAlYyIsCj4gPiArCQkJCQkgICAgICAgcGxhbmVfbmFtZShwcmltYXJ5LT5pOXh4X3BsYW5lKSk7 Cj4gPiAgCWlmIChyZXQpCj4gPiAgCQlnb3RvIGZhaWw7Cj4gPiAgCj4gPiBAQCAtMTMzOTYsNyAr MTMzOTYsNyBAQCBpbnRlbF9jdXJzb3JfcGxhbmVfY3JlYXRlKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiwKPiA+ICAJY3Vyc29yLT5jYW5fc2NhbGUgPSBmYWxzZTsKPiA+ICAJY3Vy c29yLT5tYXhfZG93bnNjYWxlID0gMTsKPiA+ICAJY3Vyc29yLT5waXBlID0gcGlwZTsKPiA+IC0J Y3Vyc29yLT5wbGFuZSA9IHBpcGU7Cj4gPiArCWN1cnNvci0+aTl4eF9wbGFuZSA9IChlbnVtIGk5 eHhfcGxhbmVfaWQpIHBpcGU7Cj4gPiAgCWN1cnNvci0+aWQgPSBQTEFORV9DVVJTT1I7Cj4gPiAg CWN1cnNvci0+ZnJvbnRidWZmZXJfYml0ID0gSU5URUxfRlJPTlRCVUZGRVJfQ1VSU09SKHBpcGUp Owo+ID4gIAo+ID4gQEAgLTEzNTI0LDE0ICsxMzUyNCwxNCBAQCBzdGF0aWMgaW50IGludGVsX2Ny dGNfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGVudW0gcGlwZSBwaXBl KQo+ID4gIAkJZ290byBmYWlsOwo+ID4gIAo+ID4gIAlpbnRlbF9jcnRjLT5waXBlID0gcGlwZTsK PiA+IC0JaW50ZWxfY3J0Yy0+cGxhbmUgPSBwcmltYXJ5LT5wbGFuZTsKPiA+ICsJaW50ZWxfY3J0 Yy0+aTl4eF9wbGFuZSA9IHByaW1hcnktPmk5eHhfcGxhbmU7Cj4gPiAgCj4gPiAgCS8qIGluaXRp YWxpemUgc2hhcmVkIHNjYWxlcnMgKi8KPiA+ICAJaW50ZWxfY3J0Y19pbml0X3NjYWxlcnMoaW50 ZWxfY3J0YywgY3J0Y19zdGF0ZSk7Cj4gPiAgCj4gPiAgCUJVR19PTihwaXBlID49IEFSUkFZX1NJ WkUoZGV2X3ByaXYtPnBsYW5lX3RvX2NydGNfbWFwcGluZykgfHwKPiA+IC0JICAgICAgIGRldl9w cml2LT5wbGFuZV90b19jcnRjX21hcHBpbmdbaW50ZWxfY3J0Yy0+cGxhbmVdICE9IE5VTEwpOwo+ ID4gLQlkZXZfcHJpdi0+cGxhbmVfdG9fY3J0Y19tYXBwaW5nW2ludGVsX2NydGMtPnBsYW5lXSA9 IGludGVsX2NydGM7Cj4gPiArCSAgICAgICBkZXZfcHJpdi0+cGxhbmVfdG9fY3J0Y19tYXBwaW5n W2ludGVsX2NydGMtPmk5eHhfcGxhbmVdICE9IE5VTEwpOwo+ID4gKwlkZXZfcHJpdi0+cGxhbmVf dG9fY3J0Y19tYXBwaW5nW2ludGVsX2NydGMtPmk5eHhfcGxhbmVdID0gaW50ZWxfY3J0YzsKPiA+ ICAJZGV2X3ByaXYtPnBpcGVfdG9fY3J0Y19tYXBwaW5nW2ludGVsX2NydGMtPnBpcGVdID0gaW50 ZWxfY3J0YzsKPiA+ICAKPiA+ICAJZHJtX2NydGNfaGVscGVyX2FkZCgmaW50ZWxfY3J0Yy0+YmFz ZSwgJmludGVsX2hlbHBlcl9mdW5jcyk7Cj4gPiBAQCAtMTQ3ODgsMTEgKzE0Nzg4LDExIEBAIHZv aWQgaTgzMF9kaXNhYmxlX3BpcGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBl bnVtIHBpcGUgcGlwZSkKPiA+ICB9Cj4gPiAgCj4gPiAgc3RhdGljIGJvb2wgaW50ZWxfcGxhbmVf bWFwcGluZ19vayhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKPiA+IC0JCQkJICAgc3RydWN0IGlu dGVsX3BsYW5lICpwcmltYXJ5KQo+ID4gKwkJCQkgICBzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5l KQo+ID4gIHsKPiA+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkx NShjcnRjLT5iYXNlLmRldik7Cj4gPiAtCWVudW0gcGxhbmUgcGxhbmUgPSBwcmltYXJ5LT5wbGFu ZTsKPiA+IC0JdTMyIHZhbCA9IEk5MTVfUkVBRChEU1BDTlRSKHBsYW5lKSk7Cj4gPiArCWVudW0g aTl4eF9wbGFuZV9pZCBpOXh4X3BsYW5lID0gcGxhbmUtPmk5eHhfcGxhbmU7Cj4gPiArCXUzMiB2 YWwgPSBJOTE1X1JFQUQoRFNQQ05UUihpOXh4X3BsYW5lKSk7Cj4gPiAgCj4gPiAgCXJldHVybiAo dmFsICYgRElTUExBWV9QTEFORV9FTkFCTEUpID09IDAgfHwKPiA+ICAJCSh2YWwgJiBESVNQUExB TkVfU0VMX1BJUEVfTUFTSykgPT0gRElTUFBMQU5FX1NFTF9QSVBFKGNydGMtPnBpcGUpOwo+ID4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+IGluZGV4IDk5ODQwZjM5NDBjNy4uZDFmZTdiZTk0 YjYyIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPiBAQCAtNzk5LDcgKzc5 OSw3IEBAIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlIHsKPiA+ICBzdHJ1Y3QgaW50ZWxfY3J0YyB7 Cj4gPiAgCXN0cnVjdCBkcm1fY3J0YyBiYXNlOwo+ID4gIAllbnVtIHBpcGUgcGlwZTsKPiA+IC0J ZW51bSBwbGFuZSBwbGFuZTsKPiA+ICsJZW51bSBpOXh4X3BsYW5lX2lkIGk5eHhfcGxhbmU7Cj4g PiAgCS8qCj4gPiAgCSAqIFdoZXRoZXIgdGhlIGNydGMgYW5kIHRoZSBjb25uZWN0ZWQgb3V0cHV0 IHBpcGVsaW5lIGlzIGFjdGl2ZS4gSW1wbGllcwo+ID4gIAkgKiB0aGF0IGNydGMtPmVuYWJsZWQg aXMgc2V0LCBpLmUuIHRoZSBjdXJyZW50IG1vZGUgY29uZmlndXJhdGlvbiBoYXMKPiA+IEBAIC04 NDQsNyArODQ0LDcgQEAgc3RydWN0IGludGVsX2NydGMgewo+ID4gIAo+ID4gIHN0cnVjdCBpbnRl bF9wbGFuZSB7Cj4gPiAgCXN0cnVjdCBkcm1fcGxhbmUgYmFzZTsKPiA+IC0JdTggcGxhbmU7Cj4g PiArCWVudW0gaTl4eF9wbGFuZV9pZCBpOXh4X3BsYW5lOwo+ID4gIAllbnVtIHBsYW5lX2lkIGlk Owo+ID4gIAllbnVtIHBpcGUgcGlwZTsKPiA+ICAJYm9vbCBjYW5fc2NhbGU7Cj4gPiBAQCAtMTEz MCw3ICsxMTMwLDcgQEAgaW50ZWxfZ2V0X2NydGNfZm9yX3BpcGUoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2LCBlbnVtIHBpcGUgcGlwZSkKPiA+ICB9Cj4gPiAgCj4gPiAgc3RhdGlj IGlubGluZSBzdHJ1Y3QgaW50ZWxfY3J0YyAqCj4gPiAtaW50ZWxfZ2V0X2NydGNfZm9yX3BsYW5l KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgZW51bSBwbGFuZSBwbGFuZSkKPiA+ ICtpbnRlbF9nZXRfY3J0Y19mb3JfcGxhbmUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LCBlbnVtIGk5eHhfcGxhbmVfaWQgcGxhbmUpCj4gPiAgewo+ID4gIAlyZXR1cm4gZGV2X3By aXYtPnBsYW5lX3RvX2NydGNfbWFwcGluZ1twbGFuZV07Cj4gPiAgfQo+ID4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2ZiYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZmJjLmMKPiA+IGluZGV4IDFhMGY1ZTBjOGQxMC4uMzEzMzEzMTMwNmE5IDEwMDY0NAo+ ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJjLmMKPiA+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2ZiYy5jCj4gPiBAQCAtMTUxLDcgKzE1MSw3IEBAIHN0YXRp YyB2b2lkIGk4eHhfZmJjX2FjdGl2YXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dikKPiA+ICAKPiA+ICAJCS8qIFNldCBpdCB1cC4uLiAqLwo+ID4gIAkJZmJjX2N0bDIgPSBGQkNf Q1RMX0ZFTkNFX0RCTCB8IEZCQ19DVExfSURMRV9JTU0gfCBGQkNfQ1RMX0NQVV9GRU5DRTsKPiA+ IC0JCWZiY19jdGwyIHw9IEZCQ19DVExfUExBTkUocGFyYW1zLT5jcnRjLnBsYW5lKTsKPiA+ICsJ CWZiY19jdGwyIHw9IEZCQ19DVExfUExBTkUocGFyYW1zLT5jcnRjLmk5eHhfcGxhbmUpOwo+ID4g IAkJSTkxNV9XUklURShGQkNfQ09OVFJPTDIsIGZiY19jdGwyKTsKPiA+ICAJCUk5MTVfV1JJVEUo RkJDX0ZFTkNFX09GRiwgcGFyYW1zLT5jcnRjLmZlbmNlX3lfb2Zmc2V0KTsKPiA+ICAJfQo+ID4g QEAgLTE3Nyw3ICsxNzcsNyBAQCBzdGF0aWMgdm9pZCBnNHhfZmJjX2FjdGl2YXRlKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiA+ICAJc3RydWN0IGludGVsX2ZiY19yZWdfcGFy YW1zICpwYXJhbXMgPSAmZGV2X3ByaXYtPmZiYy5wYXJhbXM7Cj4gPiAgCXUzMiBkcGZjX2N0bDsK PiA+ICAKPiA+IC0JZHBmY19jdGwgPSBEUEZDX0NUTF9QTEFORShwYXJhbXMtPmNydGMucGxhbmUp IHwgRFBGQ19TUl9FTjsKPiA+ICsJZHBmY19jdGwgPSBEUEZDX0NUTF9QTEFORShwYXJhbXMtPmNy dGMuaTl4eF9wbGFuZSkgfCBEUEZDX1NSX0VOOwo+ID4gIAlpZiAocGFyYW1zLT5mYi5mb3JtYXQt PmNwcFswXSA9PSAyKQo+ID4gIAkJZHBmY19jdGwgfD0gRFBGQ19DVExfTElNSVRfMlg7Cj4gPiAg CWVsc2UKPiA+IEBAIC0yMjQsNyArMjI0LDcgQEAgc3RhdGljIHZvaWQgaWxrX2ZiY19hY3RpdmF0 ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gPiAgCXUzMiBkcGZjX2N0bDsK PiA+ICAJaW50IHRocmVzaG9sZCA9IGRldl9wcml2LT5mYmMudGhyZXNob2xkOwo+ID4gIAo+ID4g LQlkcGZjX2N0bCA9IERQRkNfQ1RMX1BMQU5FKHBhcmFtcy0+Y3J0Yy5wbGFuZSk7Cj4gPiArCWRw ZmNfY3RsID0gRFBGQ19DVExfUExBTkUocGFyYW1zLT5jcnRjLmk5eHhfcGxhbmUpOwo+ID4gIAlp ZiAocGFyYW1zLT5mYi5mb3JtYXQtPmNwcFswXSA9PSAyKQo+ID4gIAkJdGhyZXNob2xkKys7Cj4g PiAgCj4gPiBAQCAtMzA2LDcgKzMwNiw3IEBAIHN0YXRpYyB2b2lkIGdlbjdfZmJjX2FjdGl2YXRl KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiA+ICAKPiA+ICAJZHBmY19jdGwg PSAwOwo+ID4gIAlpZiAoSVNfSVZZQlJJREdFKGRldl9wcml2KSkKPiA+IC0JCWRwZmNfY3RsIHw9 IElWQl9EUEZDX0NUTF9QTEFORShwYXJhbXMtPmNydGMucGxhbmUpOwo+ID4gKwkJZHBmY19jdGwg fD0gSVZCX0RQRkNfQ1RMX1BMQU5FKHBhcmFtcy0+Y3J0Yy5pOXh4X3BsYW5lKTsKPiA+ICAKPiA+ ICAJaWYgKHBhcmFtcy0+ZmIuZm9ybWF0LT5jcHBbMF0gPT0gMikKPiA+ICAJCXRocmVzaG9sZCsr Owo+ID4gQEAgLTg5MCw3ICs4OTAsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9mYmNfZ2V0X3JlZ19w YXJhbXMoc3RydWN0IGludGVsX2NydGMgKmNydGMsCj4gPiAgCXBhcmFtcy0+dm1hID0gY2FjaGUt PnZtYTsKPiA+ICAKPiA+ICAJcGFyYW1zLT5jcnRjLnBpcGUgPSBjcnRjLT5waXBlOwo+ID4gLQlw YXJhbXMtPmNydGMucGxhbmUgPSBjcnRjLT5wbGFuZTsKPiA+ICsJcGFyYW1zLT5jcnRjLmk5eHhf cGxhbmUgPSBjcnRjLT5pOXh4X3BsYW5lOwo+ID4gIAlwYXJhbXMtPmNydGMuZmVuY2VfeV9vZmZz ZXQgPSBnZXRfY3J0Y19mZW5jZV95X29mZnNldChmYmMpOwo+ID4gIAo+ID4gIAlwYXJhbXMtPmZi LmZvcm1hdCA9IGNhY2hlLT5mYi5mb3JtYXQ7Cj4gPiBAQCAtMTA4OCw3ICsxMDg4LDcgQEAgdm9p ZCBpbnRlbF9mYmNfY2hvb3NlX2NydGMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LAo+ID4gIAkJaWYgKGZiY19vbl9waXBlX2Ffb25seShkZXZfcHJpdikgJiYgY3J0Yy0+cGlwZSAh PSBQSVBFX0EpCj4gPiAgCQkJY29udGludWU7Cj4gPiAgCj4gPiAtCQlpZiAoZmJjX29uX3BsYW5l X2Ffb25seShkZXZfcHJpdikgJiYgY3J0Yy0+cGxhbmUgIT0gUExBTkVfQSkKPiA+ICsJCWlmIChm YmNfb25fcGxhbmVfYV9vbmx5KGRldl9wcml2KSAmJiBjcnRjLT5pOXh4X3BsYW5lICE9IFBMQU5F X0EpCj4gPiAgCQkJY29udGludWU7Cj4gPiAgCj4gPiAgCQlpbnRlbF9jcnRjX3N0YXRlID0gdG9f aW50ZWxfY3J0Y19zdGF0ZSgKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9zcHJpdGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCj4gPiBp bmRleCA1YmFhMDAyMzk2NGUuLmRkNDg1ZjU5ZWIxZCAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9zcHJpdGUuYwo+ID4gQEAgLTEzODQsNyArMTM4NCw3IEBAIGludGVsX3Nwcml0ZV9w bGFuZV9jcmVhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4gIAl9Cj4g PiAgCj4gPiAgCWludGVsX3BsYW5lLT5waXBlID0gcGlwZTsKPiA+IC0JaW50ZWxfcGxhbmUtPnBs YW5lID0gcGxhbmU7Cj4gPiArCWludGVsX3BsYW5lLT5pOXh4X3BsYW5lID0gcGxhbmU7Cj4gPiAg CWludGVsX3BsYW5lLT5pZCA9IFBMQU5FX1NQUklURTAgKyBwbGFuZTsKPiA+ICAJaW50ZWxfcGxh bmUtPmZyb250YnVmZmVyX2JpdCA9IElOVEVMX0ZST05UQlVGRkVSX1NQUklURShwaXBlLCBwbGFu ZSk7Cj4gPiAgCWludGVsX3BsYW5lLT5jaGVja19wbGFuZSA9IGludGVsX2NoZWNrX3Nwcml0ZV9w bGFuZTsKPiA+IC0tIAo+ID4gMi4xMy42Cj4gPiAKPiA+IF9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCj4gPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gPiBJ bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPiBodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAoKLS0gClZpbGxlIFN5cmrDpGzDpApJ bnRlbCBPVEMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K SW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==