From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH v2 1/8] drm/i915/sdvo: switch to kernel types Date: Mon, 21 Jan 2019 11:29:51 +0200 Message-ID: <87womy4auo.fsf@intel.com> References: <20190118120125.15484-1-jani.nikula@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 002F46E12F for ; Mon, 21 Jan 2019 09:28:09 +0000 (UTC) In-Reply-To: <20190118120125.15484-1-jani.nikula@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 List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCAxOCBKYW4gMjAxOSwgSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGludGVsLmNvbT4g d3JvdGU6Cj4gTWl4ZWQgQzk5IGFuZCBrZXJuZWwgdHlwZXMgdXNlIGlzIGdldHRpbmcgdWdseS4J UHJlZmVyIGtlcm5lbCB0eXBlcy4KPgo+IHNlZCAtaSAncy9cYnVpbnRcKDhcfDE2XHwzMlx8NjRc KV90XGIvdVwxL2cnCj4KPiB2MjogcmViYXNlCj4KPiBBY2tlZC1ieTogQ2hyaXMgV2lsc29uIDxj aHJpc0BjaHJpcy13aWxzb24uY28udWs+Cj4gQWNrZWQtYnk6IFR2cnRrbyBVcnN1bGluIDx0dnJ0 a28udXJzdWxpbkBpbnRlbC5jb20+Cj4gUmV2aWV3ZWQtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmls bGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gUmV2aWV3ZWQtYnk6IEpvc8OpIFJvYmVydG8g ZGUgU291emEgPGpvc2Uuc291emFAaW50ZWwuY29tPgo+IFNpZ25lZC1vZmYtYnk6IEphbmkgTmlr dWxhIDxqYW5pLm5pa3VsYUBpbnRlbC5jb20+CgpUaGFua3MgZm9yIHRoZSByZXZpZXdzIGFuZCBh Y2tzLiBQdXNoZWQgZXZlcnl0aGluZyAqZXhjZXB0KiB0aGlzIHBhdGNoLAp3aGljaCBzZWVtcyB0 byBuZWVkIGEgZHJtLW5leHQgYmFja21lcmdlIGZvciB0aGUgYXZpIGluZm9mcmFtZSBzdHVmZi4K CkJSLApKYW5pLgoKCj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nkdm8uYyB8 IDc4ICsrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0KPiAgMSBmaWxlIGNoYW5nZWQsIDM5 IGluc2VydGlvbnMoKyksIDM5IGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3Nkdm8uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nk dm8uYwo+IGluZGV4IGRmMmQ4MzBhNzQwNS4uZTdiMDg4NGJhNWE1IDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nkdm8uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3Nkdm8uYwo+IEBAIC03Niw3ICs3Niw3IEBAIHN0cnVjdCBpbnRlbF9zZHZvIHsK PiAgCWk5MTVfcmVnX3Qgc2R2b19yZWc7Cj4gIAo+ICAJLyogQWN0aXZlIG91dHB1dHMgY29udHJv bGxlZCBieSB0aGlzIFNEVk8gb3V0cHV0ICovCj4gLQl1aW50MTZfdCBjb250cm9sbGVkX291dHB1 dDsKPiArCXUxNiBjb250cm9sbGVkX291dHB1dDsKPiAgCj4gIAkvKgo+ICAJICogQ2FwYWJpbGl0 aWVzIG9mIHRoZSBTRFZPIGRldmljZSByZXR1cm5lZCBieQo+IEBAIC05MSwxMiArOTEsMTIgQEAg c3RydWN0IGludGVsX3Nkdm8gewo+ICAJKiBGb3IgbXVsdGlwbGUgZnVuY3Rpb24gU0RWTyBkZXZp Y2UsCj4gIAkqIHRoaXMgaXMgZm9yIGN1cnJlbnQgYXR0YWNoZWQgb3V0cHV0cy4KPiAgCSovCj4g LQl1aW50MTZfdCBhdHRhY2hlZF9vdXRwdXQ7Cj4gKwl1MTYgYXR0YWNoZWRfb3V0cHV0Owo+ICAK PiAgCS8qCj4gIAkgKiBIb3RwbHVnIGFjdGl2YXRpb24gYml0cyBmb3IgdGhpcyBkZXZpY2UKPiAg CSAqLwo+IC0JdWludDE2X3QgaG90cGx1Z19hY3RpdmU7Cj4gKwl1MTYgaG90cGx1Z19hY3RpdmU7 Cj4gIAo+ICAJZW51bSBwb3J0IHBvcnQ7Cj4gIAo+IEBAIC0xMDQsMTkgKzEwNCwxOSBAQCBzdHJ1 Y3QgaW50ZWxfc2R2byB7Cj4gIAlib29sIGhhc19oZG1pX2F1ZGlvOwo+ICAKPiAgCS8qIEREQyBi dXMgdXNlZCBieSB0aGlzIFNEVk8gZW5jb2RlciAqLwo+IC0JdWludDhfdCBkZGNfYnVzOwo+ICsJ dTggZGRjX2J1czsKPiAgCj4gIAkvKgo+ICAJICogdGhlIHNkdm8gZmxhZyBnZXRzIGxvc3QgaW4g cm91bmQgdHJpcDogZHRkLT5hZGp1c3RlZF9tb2RlLT5kdGQKPiAgCSAqLwo+IC0JdWludDhfdCBk dGRfc2R2b19mbGFnczsKPiArCXU4IGR0ZF9zZHZvX2ZsYWdzOwo+ICB9Owo+ICAKPiAgc3RydWN0 IGludGVsX3Nkdm9fY29ubmVjdG9yIHsKPiAgCXN0cnVjdCBpbnRlbF9jb25uZWN0b3IgYmFzZTsK PiAgCj4gIAkvKiBNYXJrIHRoZSB0eXBlIG9mIGNvbm5lY3RvciAqLwo+IC0JdWludDE2X3Qgb3V0 cHV0X2ZsYWc7Cj4gKwl1MTYgb3V0cHV0X2ZsYWc7Cj4gIAo+ICAJLyogVGhpcyBjb250YWlucyBh bGwgY3VycmVudCBzdXBwb3J0ZWQgVFYgZm9ybWF0ICovCj4gIAl1OCB0dl9mb3JtYXRfc3VwcG9y dGVkW1RWX0ZPUk1BVF9OVU1dOwo+IEBAIC0xODQsNyArMTg0LDcgQEAgdG9faW50ZWxfc2R2b19j b25uZWN0b3Ioc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAgCWNvbnRhaW5lcl9v ZigoY29ubl9zdGF0ZSksIHN0cnVjdCBpbnRlbF9zZHZvX2Nvbm5lY3Rvcl9zdGF0ZSwgYmFzZS5i YXNlKQo+ICAKPiAgc3RhdGljIGJvb2wKPiAtaW50ZWxfc2R2b19vdXRwdXRfc2V0dXAoc3RydWN0 IGludGVsX3Nkdm8gKmludGVsX3Nkdm8sIHVpbnQxNl90IGZsYWdzKTsKPiAraW50ZWxfc2R2b19v dXRwdXRfc2V0dXAoc3RydWN0IGludGVsX3Nkdm8gKmludGVsX3Nkdm8sIHUxNiBmbGFncyk7Cj4g IHN0YXRpYyBib29sCj4gIGludGVsX3Nkdm9fdHZfY3JlYXRlX3Byb3BlcnR5KHN0cnVjdCBpbnRl bF9zZHZvICppbnRlbF9zZHZvLAo+ICAJCQkgICAgICBzdHJ1Y3QgaW50ZWxfc2R2b19jb25uZWN0 b3IgKmludGVsX3Nkdm9fY29ubmVjdG9yLAo+IEBAIC03NDYsOSArNzQ2LDkgQEAgc3RhdGljIGJv b2wgaW50ZWxfc2R2b19nZXRfaW5wdXRfdGltaW5nKHN0cnVjdCBpbnRlbF9zZHZvICppbnRlbF9z ZHZvLAo+ICBzdGF0aWMgYm9vbAo+ICBpbnRlbF9zZHZvX2NyZWF0ZV9wcmVmZXJyZWRfaW5wdXRf dGltaW5nKHN0cnVjdCBpbnRlbF9zZHZvICppbnRlbF9zZHZvLAo+ICAJCQkJCSBzdHJ1Y3QgaW50 ZWxfc2R2b19jb25uZWN0b3IgKmludGVsX3Nkdm9fY29ubmVjdG9yLAo+IC0JCQkJCSB1aW50MTZf dCBjbG9jaywKPiAtCQkJCQkgdWludDE2X3Qgd2lkdGgsCj4gLQkJCQkJIHVpbnQxNl90IGhlaWdo dCkKPiArCQkJCQkgdTE2IGNsb2NrLAo+ICsJCQkJCSB1MTYgd2lkdGgsCj4gKwkJCQkJIHUxNiBo ZWlnaHQpCj4gIHsKPiAgCXN0cnVjdCBpbnRlbF9zZHZvX3ByZWZlcnJlZF9pbnB1dF90aW1pbmdf YXJncyBhcmdzOwo+ICAKPiBAQCAtNzkxLDkgKzc5MSw5IEBAIHN0YXRpYyBib29sIGludGVsX3Nk dm9fc2V0X2Nsb2NrX3JhdGVfbXVsdChzdHJ1Y3QgaW50ZWxfc2R2byAqaW50ZWxfc2R2bywgdTgg dmFsCj4gIHN0YXRpYyB2b2lkIGludGVsX3Nkdm9fZ2V0X2R0ZF9mcm9tX21vZGUoc3RydWN0IGlu dGVsX3Nkdm9fZHRkICpkdGQsCj4gIAkJCQkJIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2Rl ICptb2RlKQo+ICB7Cj4gLQl1aW50MTZfdCB3aWR0aCwgaGVpZ2h0Owo+IC0JdWludDE2X3QgaF9i bGFua19sZW4sIGhfc3luY19sZW4sIHZfYmxhbmtfbGVuLCB2X3N5bmNfbGVuOwo+IC0JdWludDE2 X3QgaF9zeW5jX29mZnNldCwgdl9zeW5jX29mZnNldDsKPiArCXUxNiB3aWR0aCwgaGVpZ2h0Owo+ ICsJdTE2IGhfYmxhbmtfbGVuLCBoX3N5bmNfbGVuLCB2X2JsYW5rX2xlbiwgdl9zeW5jX2xlbjsK PiArCXUxNiBoX3N5bmNfb2Zmc2V0LCB2X3N5bmNfb2Zmc2V0Owo+ICAJaW50IG1vZGVfY2xvY2s7 Cj4gIAo+ICAJbWVtc2V0KGR0ZCwgMCwgc2l6ZW9mKCpkdGQpKTsKPiBAQCAtODk4LDEzICs4OTgs MTMgQEAgc3RhdGljIGJvb2wgaW50ZWxfc2R2b19jaGVja19zdXBwX2VuY29kZShzdHJ1Y3QgaW50 ZWxfc2R2byAqaW50ZWxfc2R2bykKPiAgfQo+ICAKPiAgc3RhdGljIGJvb2wgaW50ZWxfc2R2b19z ZXRfZW5jb2RlKHN0cnVjdCBpbnRlbF9zZHZvICppbnRlbF9zZHZvLAo+IC0JCQkJICB1aW50OF90 IG1vZGUpCj4gKwkJCQkgIHU4IG1vZGUpCj4gIHsKPiAgCXJldHVybiBpbnRlbF9zZHZvX3NldF92 YWx1ZShpbnRlbF9zZHZvLCBTRFZPX0NNRF9TRVRfRU5DT0RFLCAmbW9kZSwgMSk7Cj4gIH0KPiAg Cj4gIHN0YXRpYyBib29sIGludGVsX3Nkdm9fc2V0X2NvbG9yaW1ldHJ5KHN0cnVjdCBpbnRlbF9z ZHZvICppbnRlbF9zZHZvLAo+IC0JCQkJICAgICAgIHVpbnQ4X3QgbW9kZSkKPiArCQkJCSAgICAg ICB1OCBtb2RlKQo+ICB7Cj4gIAlyZXR1cm4gaW50ZWxfc2R2b19zZXRfdmFsdWUoaW50ZWxfc2R2 bywgU0RWT19DTURfU0VUX0NPTE9SSU1FVFJZLCAmbW9kZSwgMSk7Cj4gIH0KPiBAQCAtOTEzLDEx ICs5MTMsMTEgQEAgc3RhdGljIGJvb2wgaW50ZWxfc2R2b19zZXRfY29sb3JpbWV0cnkoc3RydWN0 IGludGVsX3Nkdm8gKmludGVsX3Nkdm8sCj4gIHN0YXRpYyB2b2lkIGludGVsX3Nkdm9fZHVtcF9o ZG1pX2J1ZihzdHJ1Y3QgaW50ZWxfc2R2byAqaW50ZWxfc2R2bykKPiAgewo+ICAJaW50IGksIGo7 Cj4gLQl1aW50OF90IHNldF9idWZfaW5kZXhbMl07Cj4gLQl1aW50OF90IGF2X3NwbGl0Owo+IC0J dWludDhfdCBidWZfc2l6ZTsKPiAtCXVpbnQ4X3QgYnVmWzQ4XTsKPiAtCXVpbnQ4X3QgKnBvczsK PiArCXU4IHNldF9idWZfaW5kZXhbMl07Cj4gKwl1OCBhdl9zcGxpdDsKPiArCXU4IGJ1Zl9zaXpl Owo+ICsJdTggYnVmWzQ4XTsKPiArCXU4ICpwb3M7Cj4gIAo+ICAJaW50ZWxfc2R2b19nZXRfdmFs dWUoZW5jb2RlciwgU0RWT19DTURfR0VUX0hCVUZfQVZfU1BMSVQsICZhdl9zcGxpdCwgMSk7Cj4g IAo+IEBAIC05NDAsMTEgKzk0MCwxMSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9zZHZvX2R1bXBfaGRt aV9idWYoc3RydWN0IGludGVsX3Nkdm8gKmludGVsX3Nkdm8pCj4gICNlbmRpZgo+ICAKPiAgc3Rh dGljIGJvb2wgaW50ZWxfc2R2b193cml0ZV9pbmZvZnJhbWUoc3RydWN0IGludGVsX3Nkdm8gKmlu dGVsX3Nkdm8sCj4gLQkJCQkgICAgICAgdW5zaWduZWQgaWZfaW5kZXgsIHVpbnQ4X3QgdHhfcmF0 ZSwKPiAtCQkJCSAgICAgICBjb25zdCB1aW50OF90ICpkYXRhLCB1bnNpZ25lZCBsZW5ndGgpCj4g KwkJCQkgICAgICAgdW5zaWduZWQgaW50IGlmX2luZGV4LCB1OCB0eF9yYXRlLAo+ICsJCQkJICAg ICAgIGNvbnN0IHU4ICpkYXRhLCB1bnNpZ25lZCBpbnQgbGVuZ3RoKQo+ICB7Cj4gLQl1aW50OF90 IHNldF9idWZfaW5kZXhbMl0gPSB7IGlmX2luZGV4LCAwIH07Cj4gLQl1aW50OF90IGhidWZfc2l6 ZSwgdG1wWzhdOwo+ICsJdTggc2V0X2J1Zl9pbmRleFsyXSA9IHsgaWZfaW5kZXgsIDAgfTsKPiAr CXU4IGhidWZfc2l6ZSwgdG1wWzhdOwo+ICAJaW50IGk7Cj4gIAo+ICAJaWYgKCFpbnRlbF9zZHZv X3NldF92YWx1ZShpbnRlbF9zZHZvLAo+IEBAIC05ODQsNyArOTg0LDcgQEAgc3RhdGljIGJvb2wg aW50ZWxfc2R2b19zZXRfYXZpX2luZm9mcmFtZShzdHJ1Y3QgaW50ZWxfc2R2byAqaW50ZWxfc2R2 bywKPiAgewo+ICAJY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUg PQo+ICAJCSZwaXBlX2NvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlOwo+IC0JdWludDhfdCBzZHZv X2RhdGFbSERNSV9JTkZPRlJBTUVfU0laRShBVkkpXTsKPiArCXU4IHNkdm9fZGF0YVtIRE1JX0lO Rk9GUkFNRV9TSVpFKEFWSSldOwo+ICAJdW5pb24gaGRtaV9pbmZvZnJhbWUgZnJhbWU7Cj4gIAlp bnQgcmV0Owo+ICAJc3NpemVfdCBsZW47Cj4gQEAgLTEwMTcsNyArMTAxNyw3IEBAIHN0YXRpYyBi b29sIGludGVsX3Nkdm9fc2V0X3R2X2Zvcm1hdChzdHJ1Y3QgaW50ZWxfc2R2byAqaW50ZWxfc2R2 bywKPiAgCQkJCSAgICAgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3Rh dGUpCj4gIHsKPiAgCXN0cnVjdCBpbnRlbF9zZHZvX3R2X2Zvcm1hdCBmb3JtYXQ7Cj4gLQl1aW50 MzJfdCBmb3JtYXRfbWFwOwo+ICsJdTMyIGZvcm1hdF9tYXA7Cj4gIAo+ICAJZm9ybWF0X21hcCA9 IDEgPDwgY29ubl9zdGF0ZS0+dHYubW9kZTsKPiAgCW1lbXNldCgmZm9ybWF0LCAwLCBzaXplb2Yo Zm9ybWF0KSk7Cj4gQEAgLTEyMDgsNyArMTIwOCw3IEBAIHN0YXRpYyB2b2lkIGludGVsX3Nkdm9f dXBkYXRlX3Byb3BzKHN0cnVjdCBpbnRlbF9zZHZvICppbnRlbF9zZHZvLAo+ICAJY29uc3Qgc3Ry dWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUgPSAmc2R2b19zdGF0ZS0+YmFzZS5i YXNlOwo+ICAJc3RydWN0IGludGVsX3Nkdm9fY29ubmVjdG9yICppbnRlbF9zZHZvX2Nvbm4gPQo+ ICAJCXRvX2ludGVsX3Nkdm9fY29ubmVjdG9yKGNvbm5fc3RhdGUtPmNvbm5lY3Rvcik7Cj4gLQl1 aW50MTZfdCB2YWw7Cj4gKwl1MTYgdmFsOwo+ICAKPiAgCWlmIChpbnRlbF9zZHZvX2Nvbm4tPmxl ZnQpCj4gIAkJVVBEQVRFX1BST1BFUlRZKHNkdm9fc3RhdGUtPnR2Lm92ZXJzY2FuX2gsIE9WRVJT Q0FOX0gpOwo+IEBAIC0xNjkyLDEwICsxNjkyLDEwIEBAIHN0YXRpYyBib29sIGludGVsX3Nkdm9f Z2V0X2NhcGFiaWxpdGllcyhzdHJ1Y3QgaW50ZWxfc2R2byAqaW50ZWxfc2R2bywgc3RydWN0IGlu Cj4gIAlyZXR1cm4gdHJ1ZTsKPiAgfQo+ICAKPiAtc3RhdGljIHVpbnQxNl90IGludGVsX3Nkdm9f Z2V0X2hvdHBsdWdfc3VwcG9ydChzdHJ1Y3QgaW50ZWxfc2R2byAqaW50ZWxfc2R2bykKPiArc3Rh dGljIHUxNiBpbnRlbF9zZHZvX2dldF9ob3RwbHVnX3N1cHBvcnQoc3RydWN0IGludGVsX3Nkdm8g KmludGVsX3Nkdm8pCj4gIHsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUoaW50ZWxfc2R2by0+YmFzZS5iYXNlLmRldik7Cj4gLQl1aW50MTZfdCBob3RwbHVn Owo+ICsJdTE2IGhvdHBsdWc7Cj4gIAo+ICAJaWYgKCFJOTE1X0hBU19IT1RQTFVHKGRldl9wcml2 KSkKPiAgCQlyZXR1cm4gMDsKPiBAQCAtMTgyNiw3ICsxODI2LDcgQEAgaW50ZWxfc2R2b19jb25u ZWN0b3JfbWF0Y2hlc19lZGlkKHN0cnVjdCBpbnRlbF9zZHZvX2Nvbm5lY3RvciAqc2R2bywKPiAg c3RhdGljIGVudW0gZHJtX2Nvbm5lY3Rvcl9zdGF0dXMKPiAgaW50ZWxfc2R2b19kZXRlY3Qoc3Ry dWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwgYm9vbCBmb3JjZSkKPiAgewo+IC0JdWludDE2 X3QgcmVzcG9uc2U7Cj4gKwl1MTYgcmVzcG9uc2U7Cj4gIAlzdHJ1Y3QgaW50ZWxfc2R2byAqaW50 ZWxfc2R2byA9IGludGVsX2F0dGFjaGVkX3Nkdm8oY29ubmVjdG9yKTsKPiAgCXN0cnVjdCBpbnRl bF9zZHZvX2Nvbm5lY3RvciAqaW50ZWxfc2R2b19jb25uZWN0b3IgPSB0b19pbnRlbF9zZHZvX2Nv bm5lY3Rvcihjb25uZWN0b3IpOwo+ICAJZW51bSBkcm1fY29ubmVjdG9yX3N0YXR1cyByZXQ7Cj4g QEAgLTE5NzcsNyArMTk3Nyw3IEBAIHN0YXRpYyB2b2lkIGludGVsX3Nkdm9fZ2V0X3R2X21vZGVz KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gIAlzdHJ1Y3QgaW50ZWxfc2R2byAq aW50ZWxfc2R2byA9IGludGVsX2F0dGFjaGVkX3Nkdm8oY29ubmVjdG9yKTsKPiAgCWNvbnN0IHN0 cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlID0gY29ubmVjdG9yLT5zdGF0ZTsK PiAgCXN0cnVjdCBpbnRlbF9zZHZvX3NkdHZfcmVzb2x1dGlvbl9yZXF1ZXN0IHR2X3JlczsKPiAt CXVpbnQzMl90IHJlcGx5ID0gMCwgZm9ybWF0X21hcCA9IDA7Cj4gKwl1MzIgcmVwbHkgPSAwLCBm b3JtYXRfbWFwID0gMDsKPiAgCWludCBpOwo+ICAKPiAgCURSTV9ERUJVR19LTVMoIltDT05ORUNU T1I6JWQ6JXNdXG4iLAo+IEBAIC0yMDYyLDcgKzIwNjIsNyBAQCBzdGF0aWMgaW50Cj4gIGludGVs X3Nkdm9fY29ubmVjdG9yX2F0b21pY19nZXRfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3Ig KmNvbm5lY3RvciwKPiAgCQkJCQkgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKnN0 YXRlLAo+ICAJCQkJCSBzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wZXJ0eSwKPiAtCQkJCQkgdWlu dDY0X3QgKnZhbCkKPiArCQkJCQkgdTY0ICp2YWwpCj4gIHsKPiAgCXN0cnVjdCBpbnRlbF9zZHZv X2Nvbm5lY3RvciAqaW50ZWxfc2R2b19jb25uZWN0b3IgPSB0b19pbnRlbF9zZHZvX2Nvbm5lY3Rv cihjb25uZWN0b3IpOwo+ICAJY29uc3Qgc3RydWN0IGludGVsX3Nkdm9fY29ubmVjdG9yX3N0YXRl ICpzZHZvX3N0YXRlID0gdG9faW50ZWxfc2R2b19jb25uZWN0b3Jfc3RhdGUoKHZvaWQgKilzdGF0 ZSk7Cj4gQEAgLTIxMjEsNyArMjEyMSw3IEBAIHN0YXRpYyBpbnQKPiAgaW50ZWxfc2R2b19jb25u ZWN0b3JfYXRvbWljX3NldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9y LAo+ICAJCQkJCSBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqc3RhdGUsCj4gIAkJCQkJIHN0 cnVjdCBkcm1fcHJvcGVydHkgKnByb3BlcnR5LAo+IC0JCQkJCSB1aW50NjRfdCB2YWwpCj4gKwkJ CQkJIHU2NCB2YWwpCj4gIHsKPiAgCXN0cnVjdCBpbnRlbF9zZHZvX2Nvbm5lY3RvciAqaW50ZWxf c2R2b19jb25uZWN0b3IgPSB0b19pbnRlbF9zZHZvX2Nvbm5lY3Rvcihjb25uZWN0b3IpOwo+ICAJ c3RydWN0IGludGVsX3Nkdm9fY29ubmVjdG9yX3N0YXRlICpzZHZvX3N0YXRlID0gdG9faW50ZWxf c2R2b19jb25uZWN0b3Jfc3RhdGUoc3RhdGUpOwo+IEBAIC0yMjcwLDcgKzIyNzAsNyBAQCBzdGF0 aWMgY29uc3Qgc3RydWN0IGRybV9lbmNvZGVyX2Z1bmNzIGludGVsX3Nkdm9fZW5jX2Z1bmNzID0g ewo+ICBzdGF0aWMgdm9pZAo+ICBpbnRlbF9zZHZvX2d1ZXNzX2RkY19idXMoc3RydWN0IGludGVs X3Nkdm8gKnNkdm8pCj4gIHsKPiAtCXVpbnQxNl90IG1hc2sgPSAwOwo+ICsJdTE2IG1hc2sgPSAw Owo+ICAJdW5zaWduZWQgaW50IG51bV9iaXRzOwo+ICAKPiAgCS8qCj4gQEAgLTI2NzEsNyArMjY3 MSw3IEBAIGludGVsX3Nkdm9fbHZkc19pbml0KHN0cnVjdCBpbnRlbF9zZHZvICppbnRlbF9zZHZv LCBpbnQgZGV2aWNlKQo+ICB9Cj4gIAo+ICBzdGF0aWMgYm9vbAo+IC1pbnRlbF9zZHZvX291dHB1 dF9zZXR1cChzdHJ1Y3QgaW50ZWxfc2R2byAqaW50ZWxfc2R2bywgdWludDE2X3QgZmxhZ3MpCj4g K2ludGVsX3Nkdm9fb3V0cHV0X3NldHVwKHN0cnVjdCBpbnRlbF9zZHZvICppbnRlbF9zZHZvLCB1 MTYgZmxhZ3MpCj4gIHsKPiAgCS8qIFNEVk8gcmVxdWlyZXMgWFhYMSBmdW5jdGlvbiBtYXkgbm90 IGV4aXN0IHVubGVzcyBpdCBoYXMgWFhYMCBmdW5jdGlvbi4qLwo+ICAKPiBAQCAtMjc0Nyw3ICsy NzQ3LDcgQEAgc3RhdGljIGJvb2wgaW50ZWxfc2R2b190dl9jcmVhdGVfcHJvcGVydHkoc3RydWN0 IGludGVsX3Nkdm8gKmludGVsX3Nkdm8sCj4gIHsKPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYg PSBpbnRlbF9zZHZvLT5iYXNlLmJhc2UuZGV2Owo+ICAJc3RydWN0IGludGVsX3Nkdm9fdHZfZm9y bWF0IGZvcm1hdDsKPiAtCXVpbnQzMl90IGZvcm1hdF9tYXAsIGk7Cj4gKwl1MzIgZm9ybWF0X21h cCwgaTsKPiAgCj4gIAlpZiAoIWludGVsX3Nkdm9fc2V0X3RhcmdldF9vdXRwdXQoaW50ZWxfc2R2 bywgdHlwZSkpCj4gIAkJcmV0dXJuIGZhbHNlOwo+IEBAIC0yODE0LDcgKzI4MTQsNyBAQCBpbnRl bF9zZHZvX2NyZWF0ZV9lbmhhbmNlX3Byb3BlcnR5X3R2KHN0cnVjdCBpbnRlbF9zZHZvICppbnRl bF9zZHZvLAo+ICAJc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUgPSBjb25u ZWN0b3ItPnN0YXRlOwo+ICAJc3RydWN0IGludGVsX3Nkdm9fY29ubmVjdG9yX3N0YXRlICpzZHZv X3N0YXRlID0KPiAgCQl0b19pbnRlbF9zZHZvX2Nvbm5lY3Rvcl9zdGF0ZShjb25uX3N0YXRlKTsK PiAtCXVpbnQxNl90IHJlc3BvbnNlLCBkYXRhX3ZhbHVlWzJdOwo+ICsJdTE2IHJlc3BvbnNlLCBk YXRhX3ZhbHVlWzJdOwo+ICAKPiAgCS8qIHdoZW4gaG9yaXpvbnRhbCBvdmVyc2NhbiBpcyBzdXBw b3J0ZWQsIEFkZCB0aGUgbGVmdC9yaWdodCBwcm9wZXJ0eSAqLwo+ICAJaWYgKGVuaGFuY2VtZW50 cy5vdmVyc2Nhbl9oKSB7Cj4gQEAgLTI5MjUsNyArMjkyNSw3IEBAIGludGVsX3Nkdm9fY3JlYXRl X2VuaGFuY2VfcHJvcGVydHlfbHZkcyhzdHJ1Y3QgaW50ZWxfc2R2byAqaW50ZWxfc2R2bywKPiAg ewo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGludGVsX3Nkdm8tPmJhc2UuYmFzZS5kZXY7 Cj4gIAlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gJmludGVsX3Nkdm9fY29ubmVj dG9yLT5iYXNlLmJhc2U7Cj4gLQl1aW50MTZfdCByZXNwb25zZSwgZGF0YV92YWx1ZVsyXTsKPiAr CXUxNiByZXNwb25zZSwgZGF0YV92YWx1ZVsyXTsKPiAgCj4gIAlFTkhBTkNFTUVOVCgmY29ubmVj dG9yLT5zdGF0ZS0+dHYsIGJyaWdodG5lc3MsIEJSSUdIVE5FU1MpOwo+ICAKPiBAQCAtMjkzOSw3 ICsyOTM5LDcgQEAgc3RhdGljIGJvb2wgaW50ZWxfc2R2b19jcmVhdGVfZW5oYW5jZV9wcm9wZXJ0 eShzdHJ1Y3QgaW50ZWxfc2R2byAqaW50ZWxfc2R2bywKPiAgewo+ICAJdW5pb24gewo+ICAJCXN0 cnVjdCBpbnRlbF9zZHZvX2VuaGFuY2VtZW50c19yZXBseSByZXBseTsKPiAtCQl1aW50MTZfdCBy ZXNwb25zZTsKPiArCQl1MTYgcmVzcG9uc2U7Cj4gIAl9IGVuaGFuY2VtZW50czsKPiAgCj4gIAlC VUlMRF9CVUdfT04oc2l6ZW9mKGVuaGFuY2VtZW50cykgIT0gMik7CgotLSAKSmFuaSBOaWt1bGEs IEludGVsIE9wZW4gU291cmNlIEdyYXBoaWNzIENlbnRlcgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZngK