From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: Re: [PATCH v5 2/6] drm/i915: Stop frobbing with DDI encoder->type Date: Mon, 30 Oct 2017 17:29:13 +0100 Message-ID: References: <20171027193128.14483-1-ville.syrjala@linux.intel.com> <20171027193128.14483-3-ville.syrjala@linux.intel.com> <3bb07b82-5e54-fa40-a687-3a50281f6c47@linux.intel.com> <20171030160726.GT10981@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id A95E16E111 for ; Mon, 30 Oct 2017 16:29:16 +0000 (UTC) In-Reply-To: <20171030160726.GT10981@intel.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T3AgMzAtMTAtMTcgb20gMTc6MDcgc2NocmVlZiBWaWxsZSBTeXJqw6Rsw6Q6Cj4gT24gTW9uLCBP Y3QgMzAsIDIwMTcgYXQgMDk6NTk6MjlBTSArMDEwMCwgTWFhcnRlbiBMYW5raG9yc3Qgd3JvdGU6 Cj4+IE9wIDI3LTEwLTE3IG9tIDIxOjMxIHNjaHJlZWYgVmlsbGUgU3lyamFsYToKPj4+IEZyb206 IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4+Pgo+Pj4g Q3VycmVudGx5IHRoZSBEREkgZW5jb2Rlci0+dHlwZSB3aWxsIGNoYW5nZSBhdCBydW50aW1lIGRl cGVuZGluZyBvbgo+Pj4gd2hhdCBraW5kIG9mIGhvdHBsdWdzIHdlJ3ZlIHByb2Nlc3NlZC4gVGhh dCdzIHF1aXRlIGJhZCBzaW5jZSB3ZSBjYW4ndAo+Pj4gcmVhbGx5IHRydXN0IHRoYXQgdGhhdCBj dXJyZW50IHZhbHVlIG9mIGVuY29kZXItPnR5cGUgYWN0dWFsbHkgbWF0Y2hlcwo+Pj4gdGhlIHR5 cGUgb2Ygc2lnbmFsIHdlJ3JlIHRyeWluZyB0byBkcml2ZSB0aHJvdWdoIGl0Lgo+Pj4KPj4+IExl dCdzIGVsaW1pbmF0ZSB0aGF0IHByb2JsZW0gYnkgZGVjbGFyaW5nIHRoYXQgbm9uLWVEUCBEREkg cG9ydCB3aWxsCj4+PiBhbHdheXMgaGF2ZSB0aGUgZW5jb2RlciB0eXBlIGFzIElOVEVMX09VVFBV VF9EREkuIFRoaXMgbWVhbnMgdGhlIGNvZGUKPj4+IGNhbiBubyBsb25nZXIgdHJ5IHRvIGRpc3Rp bmd1aXNoIERQIHZzLiBIRE1JIGJhc2VkIG9uIGVuY29kZXItPnR5cGUuCj4+PiBXZSdsbCBsZWF2 ZSBlRFAgYXMgSU5URUxfT1VUUFVUX0VEUCwgc2luY2UgaXQnbGwgbmV2ZXIgY2hhbmdlIGFuZAo+ Pj4gdGhlcmUncyBhIGJ1bmNoIG9mIGNvZGUgdGhhdCByZWxpZXMgb24gdGhhdCB2YWx1ZSB0byBp ZGVudGlmeSBlRFAKPj4+IGVuY29kZXJzLgo+Pj4KPj4+IFdlJ2xsIGludHJvZHVjZSBhIG5ldyBl bmNvZGVyIC5jb21wdXRlX291dHB1dF90eXBlKCkgaG9vay4gVGhpcyBhbGxvd3MKPj4+IHVzIHRv IGNvbXB1dGUgdGhlIGZ1bGwgb3V0cHV0X3R5cGVzIGJlZm9yZSBhbnkgZW5jb2RlciAuY29tcHV0 ZV9jb25maWcoKQo+Pj4gaG9va3MgZ2V0IGNhbGxlZCwgdGh1cyB0aG9zZSBob29rcyBjYW4gcmVs eSBvbiBvdXRwdXRfdHlwZXMgYmVpbmcKPj4+IGNvcnJlY3QsIHdoaWNoIGlzIHVzZWZ1bCBmb3Ig Y2xvbmluZyBvbiBvbGRyIHBsYXRmb3Jtcy4gRm9yIG5vdyB3ZSdsbAo+Pj4ganVzdCBsb29rIGF0 IHRoZSBjb25uZWN0b3IgdHlwZSBhbmQgcGljayB0aGUgY29ycmVjdCBtb2RlIGJhc2VkIG9uIHRo YXQuCj4+PiBJbiB0aGUgZnV0dXJlIHRoZSBuZXcgaG9vayBjb3VsZCBiZSB1c2VkIHRvIGltcGxl bWVudCBkeW5hbWljIHN3aXRjaGluZwo+Pj4gYmV0d2VlbiBMUyBhbmQgUENPTiBtb2RlcyBmb3Ig TFNQQ09OLgo+Pj4KPj4+IHYyOiBGaXggQlhUL0dMSyBQUFMgZXhwbG9zaW9uIHdpdGggRFNJL01T VCBlbmNvZGVycwo+Pj4gdjM6IEF2b2lkIHRoZSBQUFMgd2FybiBvbiBwdXJlIEhETUkvRFZJIERE SSBlbmNvZGVycyBieSBjaGVja2luZyBkcC5vdXRwdXRfcmVnCj4+PiB2NDogUmViYXNlCj4+PiB2 NTogUG9wdWxhdGUgb3V0cHV0X3R5cGVzIGluIC5nZXRfY29uZmlnKCkgcmF0aGVyIHRoYW4gaW4g dGhlIGNhbGxlcgo+Pj4gdjU6IFNwbGl0IG91dCBwb3B1bGF0aW5nIG91dHB1dF90eXBlcyBpbiAu Z2V0X2NvbmZpZygpIChNYWFydGVuKQo+Pj4KPj4+IENjOiBNYWFydGVuIExhbmtob3JzdCA8bWFh cnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgo+Pj4gU2lnbmVkLW9mZi1ieTogVmlsbGUg U3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPj4+IC0tLQo+Pj4gIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jICAgfCAgMiArLQo+Pj4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RkaS5jICAgICAgfCAzMiArKysrKysrKysrKysrKysrKysrKysr KystLS0tLS0tLQo+Pj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyAgfCAx MSArKysrKysrKy0tLQo+Pj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgICAgICAg fCAxOSArKysrKystLS0tLS0tLS0tLS0tCj4+PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHJ2LmggICAgICB8ICA3ICsrKysrLS0KPj4+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9o ZG1pLmMgICAgIHwgMTAgKystLS0tLS0tLQo+Pj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X29wcmVnaW9uLmMgfCAgMiArLQo+Pj4gIDcgZmlsZXMgY2hhbmdlZCwgNDcgaW5zZXJ0aW9ucygr KSwgMzYgZGVsZXRpb25zKC0pCj4+Pgo+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZGVidWdmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMK Pj4+IGluZGV4IGMxZTViYmE5MWJmZi4uMzk4ODNjZDkxNWRiIDEwMDY0NAo+Pj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZGVidWdmcy5jCj4+PiBAQCAtMzA1MSw3ICszMDUxLDcgQEAgc3RhdGljIHZv aWQgaW50ZWxfY29ubmVjdG9yX2luZm8oc3RydWN0IHNlcV9maWxlICptLAo+Pj4gIAkJYnJlYWs7 Cj4+PiAgCWNhc2UgRFJNX01PREVfQ09OTkVDVE9SX0hETUlBOgo+Pj4gIAkJaWYgKGludGVsX2Vu Y29kZXItPnR5cGUgPT0gSU5URUxfT1VUUFVUX0hETUkgfHwKPj4+IC0JCSAgICBpbnRlbF9lbmNv ZGVyLT50eXBlID09IElOVEVMX09VVFBVVF9VTktOT1dOKQo+Pj4gKwkJICAgIGludGVsX2VuY29k ZXItPnR5cGUgPT0gSU5URUxfT1VUUFVUX0RESSkKPj4+ICAJCQlpbnRlbF9oZG1pX2luZm8obSwg aW50ZWxfY29ubmVjdG9yKTsKPj4+ICAJCWJyZWFrOwo+Pj4gIAlkZWZhdWx0Ogo+Pj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGRpLmMKPj4+IGluZGV4IDdlMGIxYTAyOTEyYS4uZTVkZDI4MTc4MWZlIDEw MDY0NAo+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPj4+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4+PiBAQCAtNDk3LDEwICs0OTcsOCBA QCBlbnVtIHBvcnQgaW50ZWxfZGRpX2dldF9lbmNvZGVyX3BvcnQoc3RydWN0IGludGVsX2VuY29k ZXIgKmVuY29kZXIpCj4+PiAgCXN3aXRjaCAoZW5jb2Rlci0+dHlwZSkgewo+Pj4gIAljYXNlIElO VEVMX09VVFBVVF9EUF9NU1Q6Cj4+PiAgCQlyZXR1cm4gZW5jX3RvX21zdCgmZW5jb2Rlci0+YmFz ZSktPnByaW1hcnktPnBvcnQ7Cj4+PiAtCWNhc2UgSU5URUxfT1VUUFVUX0RQOgo+Pj4gIAljYXNl IElOVEVMX09VVFBVVF9FRFA6Cj4+PiAtCWNhc2UgSU5URUxfT1VUUFVUX0hETUk6Cj4+PiAtCWNh c2UgSU5URUxfT1VUUFVUX1VOS05PV046Cj4+PiArCWNhc2UgSU5URUxfT1VUUFVUX0RESToKPj4+ ICAJCXJldHVybiBlbmNfdG9fZGlnX3BvcnQoJmVuY29kZXItPmJhc2UpLT5wb3J0Owo+Pj4gIAlj YXNlIElOVEVMX09VVFBVVF9BTkFMT0c6Cj4+PiAgCQlyZXR1cm4gUE9SVF9FOwo+Pj4gQEAgLTE1 MzQsNiArMTUzMiw3IEBAIHZvaWQgaW50ZWxfZGRpX3NldF92Y19wYXlsb2FkX2FsbG9jKGNvbnN0 IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+Pj4gIAlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKPj4+ICAJZW51 bSB0cmFuc2NvZGVyIGNwdV90cmFuc2NvZGVyID0gY3J0Y19zdGF0ZS0+Y3B1X3RyYW5zY29kZXI7 Cj4+PiAgCXVpbnQzMl90IHRlbXA7Cj4+PiArCj4+PiAgCXRlbXAgPSBJOTE1X1JFQUQoVFJBTlNf RERJX0ZVTkNfQ1RMKGNwdV90cmFuc2NvZGVyKSk7Cj4+PiAgCWlmIChzdGF0ZSA9PSB0cnVlKQo+ Pj4gIAkJdGVtcCB8PSBUUkFOU19ERElfRFBfVkNfUEFZTE9BRF9BTExPQzsKPj4+IEBAIC0yNjUy LDIxICsyNjUxLDM2IEBAIHZvaWQgaW50ZWxfZGRpX2dldF9jb25maWcoc3RydWN0IGludGVsX2Vu Y29kZXIgKmVuY29kZXIsCj4+PiAgCWludGVsX2RkaV9jb21wdXRlX21pbl92b2x0YWdlX2xldmVs KGRldl9wcml2LCBwaXBlX2NvbmZpZyk7Cj4+PiAgfQo+Pj4gIAo+Pj4gK3N0YXRpYyBlbnVtIGlu dGVsX291dHB1dF90eXBlCj4+PiAraW50ZWxfZGRpX2NvbXB1dGVfb3V0cHV0X3R5cGUoc3RydWN0 IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4+PiArCQkJICAgICAgc3RydWN0IGludGVsX2NydGNf c3RhdGUgKmNydGNfc3RhdGUsCj4+PiArCQkJICAgICAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3Rh dGUgKmNvbm5fc3RhdGUpCj4+PiArewo+Pj4gKwlzd2l0Y2ggKGNvbm5fc3RhdGUtPmNvbm5lY3Rv ci0+Y29ubmVjdG9yX3R5cGUpIHsKPj4+ICsJY2FzZSBEUk1fTU9ERV9DT05ORUNUT1JfSERNSUE6 Cj4+PiArCQlyZXR1cm4gSU5URUxfT1VUUFVUX0hETUk7Cj4+PiArCWNhc2UgRFJNX01PREVfQ09O TkVDVE9SX2VEUDoKPj4+ICsJCXJldHVybiBJTlRFTF9PVVRQVVRfRURQOwo+Pj4gKwljYXNlIERS TV9NT0RFX0NPTk5FQ1RPUl9EaXNwbGF5UG9ydDoKPj4+ICsJCXJldHVybiBJTlRFTF9PVVRQVVRf RFA7Cj4+PiArCWRlZmF1bHQ6Cj4+PiArCQlNSVNTSU5HX0NBU0UoY29ubl9zdGF0ZS0+Y29ubmVj dG9yLT5jb25uZWN0b3JfdHlwZSk7Cj4+PiArCQlyZXR1cm4gSU5URUxfT1VUUFVUX1VOVVNFRDsK Pj4+ICsJfQo+Pj4gK30KPj4+ICsKPj4+ICBzdGF0aWMgYm9vbCBpbnRlbF9kZGlfY29tcHV0ZV9j b25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4+PiAgCQkJCSAgICAgc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAo+Pj4gIAkJCQkgICAgIHN0cnVjdCBkcm1f Y29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKQo+Pj4gIHsKPj4+ICAJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Cj4+PiAtCWlu dCB0eXBlID0gZW5jb2Rlci0+dHlwZTsKPj4+ICAJaW50IHBvcnQgPSBpbnRlbF9kZGlfZ2V0X2Vu Y29kZXJfcG9ydChlbmNvZGVyKTsKPj4+ICAJaW50IHJldDsKPj4+ICAKPj4+IC0JV0FSTih0eXBl ID09IElOVEVMX09VVFBVVF9VTktOT1dOLCAiY29tcHV0ZV9jb25maWcoKSBvbiB1bmtub3duIG91 dHB1dCFcbiIpOwo+Pj4gLQo+Pj4gIAlpZiAocG9ydCA9PSBQT1JUX0EpCj4+PiAgCQlwaXBlX2Nv bmZpZy0+Y3B1X3RyYW5zY29kZXIgPSBUUkFOU0NPREVSX0VEUDsKPj4+ICAKPj4+IC0JaWYgKHR5 cGUgPT0gSU5URUxfT1VUUFVUX0hETUkpCj4+PiArCWlmIChpbnRlbF9jcnRjX2hhc190eXBlKHBp cGVfY29uZmlnLCBJTlRFTF9PVVRQVVRfSERNSSkpCj4+PiAgCQlyZXQgPSBpbnRlbF9oZG1pX2Nv bXB1dGVfY29uZmlnKGVuY29kZXIsIHBpcGVfY29uZmlnLCBjb25uX3N0YXRlKTsKPj4+ICAJZWxz ZQo+Pj4gIAkJcmV0ID0gaW50ZWxfZHBfY29tcHV0ZV9jb25maWcoZW5jb2RlciwgcGlwZV9jb25m aWcsIGNvbm5fc3RhdGUpOwo+PiBXb3VsZCBpdCBiZSBhbiBvcHRpb24gdG8gcHV0IGl0IGluIGNv bXB1dGVfY29uZmlnIGZvciBEREkgb25seT8gVGhlcmUgaXMgbm8gcmlzayBvZiBjbG9uaW5nIHRo ZXJlLCBzYXZlcyBhbm90aGVyIGhvb2suIDopCj4gVGhhdCB3b3VsZCBtZWFuIHRoZSBjYWxsZXIg d291bGQgc2V0ICdvdXRwdXRfdHlwZXN8PURESScgd2hpY2ggd2UnZCBoYXZlCj4gdG8gdW5kbyBo ZXJlLCBvciB3ZSB3b3VsZCBuZWVkIHRvIHNwZWNpYWwgY2FzZSBEREkgaW4gdGhlIGNhbGxlciBh bmQgbm90Cj4gc2V0IG91dHB1dF90eXBlcyB0aGVyZSBhdCBhbGwuIE5laXRoZXIgd291bGQgbG9v ayB2ZXJ5IHByZXR0eSBJIHRoaW5rLgpTb21ldGhpbmcgbGlrZToKCi8qIFRoZXJlIGlzIG5vIDEg dG8gMSBtYXBwaW5nIGZvciBEREksIGl0J3Mgc2V0IGluIGNvbXB1dGVfY29uZmlnKCkKaWYgKHR5 cGUgIT0gRERJKQpvdXRwdXRfdHlwZXMgfD0gQklUKHR5cGUpCgp3b3VsZCB3b3JrIGZvciBtZS4g OikKCj4+IEVpdGhlciB3YXkgaXMgZmluZSB0aG91Z2guCj4+PiBAQCAtMjgxNSw2ICsyODI5LDcg QEAgdm9pZCBpbnRlbF9kZGlfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYs IGVudW0gcG9ydCBwb3J0KQo+Pj4gIAlkcm1fZW5jb2Rlcl9pbml0KCZkZXZfcHJpdi0+ZHJtLCBl bmNvZGVyLCAmaW50ZWxfZGRpX2Z1bmNzLAo+Pj4gIAkJCSBEUk1fTU9ERV9FTkNPREVSX1RNRFMs ICJEREkgJWMiLCBwb3J0X25hbWUocG9ydCkpOwo+Pj4gIAo+Pj4gKwlpbnRlbF9lbmNvZGVyLT5j b21wdXRlX291dHB1dF90eXBlID0gaW50ZWxfZGRpX2NvbXB1dGVfb3V0cHV0X3R5cGU7Cj4+PiAg CWludGVsX2VuY29kZXItPmNvbXB1dGVfY29uZmlnID0gaW50ZWxfZGRpX2NvbXB1dGVfY29uZmln Owo+Pj4gIAlpbnRlbF9lbmNvZGVyLT5lbmFibGUgPSBpbnRlbF9lbmFibGVfZGRpOwo+Pj4gIAlp ZiAoSVNfR0VOOV9MUChkZXZfcHJpdikpCj4+PiBAQCAtMjg2OCw5ICsyODgzLDEwIEBAIHZvaWQg aW50ZWxfZGRpX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBlbnVtIHBv cnQgcG9ydCkKPj4+ICAJCW1heF9sYW5lcyA9IDQ7Cj4+PiAgCX0KPj4+ICAKPj4+ICsJaW50ZWxf ZGlnX3BvcnQtPmRwLm91dHB1dF9yZWcgPSBJTlZBTElEX01NSU9fUkVHOwo+Pj4gIAlpbnRlbF9k aWdfcG9ydC0+bWF4X2xhbmVzID0gbWF4X2xhbmVzOwo+Pj4gIAo+Pj4gLQlpbnRlbF9lbmNvZGVy LT50eXBlID0gSU5URUxfT1VUUFVUX1VOS05PV047Cj4+PiArCWludGVsX2VuY29kZXItPnR5cGUg PSBJTlRFTF9PVVRQVVRfRERJOwo+Pj4gIAlpbnRlbF9lbmNvZGVyLT5wb3dlcl9kb21haW4gPSBp bnRlbF9wb3J0X3RvX3Bvd2VyX2RvbWFpbihwb3J0KTsKPj4+ICAJaW50ZWxfZW5jb2Rlci0+cG9y dCA9IHBvcnQ7Cj4+PiAgCWludGVsX2VuY29kZXItPmNydGNfbWFzayA9ICgxIDw8IDApIHwgKDEg PDwgMSkgfCAoMSA8PCAyKTsKPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPj4+ IGluZGV4IDhmNzY5ZTliOTM0Mi4uNzM3ZGUyNTFkMGY4IDEwMDY0NAo+Pj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kaXNwbGF5LmMKPj4+IEBAIC0xMDU3OSw3ICsxMDU3OSw3IEBAIHN0YXRpYyBj b25zdCBjaGFyICogY29uc3Qgb3V0cHV0X3R5cGVfc3RyW10gPSB7Cj4+PiAgCU9VVFBVVF9UWVBF KERQKSwKPj4+ICAJT1VUUFVUX1RZUEUoRURQKSwKPj4+ICAJT1VUUFVUX1RZUEUoRFNJKSwKPj4+ IC0JT1VUUFVUX1RZUEUoVU5LTk9XTiksCj4+PiArCU9VVFBVVF9UWVBFKERESSksCj4+PiAgCU9V VFBVVF9UWVBFKERQX01TVCksCj4+PiAgfTsKPj4+ICAKPj4+IEBAIC0xMDc1MCw3ICsxMDc1MCw3 IEBAIHN0YXRpYyBib29sIGNoZWNrX2RpZ2l0YWxfcG9ydF9jb25mbGljdHMoc3RydWN0IGRybV9h dG9taWNfc3RhdGUgKnN0YXRlKQo+Pj4gIAo+Pj4gIAkJc3dpdGNoIChlbmNvZGVyLT50eXBlKSB7 Cj4+PiAgCQkJdW5zaWduZWQgaW50IHBvcnRfbWFzazsKPj4+IC0JCWNhc2UgSU5URUxfT1VUUFVU X1VOS05PV046Cj4+PiArCQljYXNlIElOVEVMX09VVFBVVF9EREk6Cj4+PiAgCQkJaWYgKFdBUk5f T04oIUhBU19EREkodG9faTkxNShkZXYpKSkpCj4+PiAgCQkJCWJyZWFrOwo+Pj4gIAkJY2FzZSBJ TlRFTF9PVVRQVVRfRFA6Cj4+PiBAQCAtMTA4ODMsNyArMTA4ODMsMTIgQEAgaW50ZWxfbW9kZXNl dF9waXBlX2NvbmZpZyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4+PiAgCQkgKiBEZXRlcm1pbmUg b3V0cHV0X3R5cGVzIGJlZm9yZSBjYWxsaW5nIHRoZSAuY29tcHV0ZV9jb25maWcoKQo+Pj4gIAkJ ICogaG9va3Mgc28gdGhhdCB0aGUgaG9va3MgY2FuIHVzZSB0aGlzIGluZm9ybWF0aW9uIHNhZmVs eS4KPj4+ICAJCSAqLwo+Pj4gLQkJcGlwZV9jb25maWctPm91dHB1dF90eXBlcyB8PSAxIDw8IGVu Y29kZXItPnR5cGU7Cj4+PiArCQlpZiAoZW5jb2Rlci0+Y29tcHV0ZV9vdXRwdXRfdHlwZSkKPj4+ ICsJCQlwaXBlX2NvbmZpZy0+b3V0cHV0X3R5cGVzIHw9Cj4+PiArCQkJCUJJVChlbmNvZGVyLT5j b21wdXRlX291dHB1dF90eXBlKGVuY29kZXIsIHBpcGVfY29uZmlnLAo+Pj4gKwkJCQkJCQkJIGNv bm5lY3Rvcl9zdGF0ZSkpOwo+Pj4gKwkJZWxzZQo+Pj4gKwkJCXBpcGVfY29uZmlnLT5vdXRwdXRf dHlwZXMgfD0gQklUKGVuY29kZXItPnR5cGUpOwo+Pj4gIAl9Cj4+PiAgCj4+PiAgZW5jb2Rlcl9y ZXRyeToKPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+Pj4gaW5kZXggMzA2ODhhNWQ2ODBkLi5m MGM0OTk2MmZmYmUgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cC5jCj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4+PiBAQCAtNzU4 LDExICs3NTgsMTYgQEAgdm9pZCBpbnRlbF9wb3dlcl9zZXF1ZW5jZXJfcmVzZXQoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+Pj4gIAkJc3RydWN0IGludGVsX2RwICppbnRlbF9k cDsKPj4+ICAKPj4+ICAJCWlmIChlbmNvZGVyLT50eXBlICE9IElOVEVMX09VVFBVVF9EUCAmJgo+ Pj4gLQkJICAgIGVuY29kZXItPnR5cGUgIT0gSU5URUxfT1VUUFVUX0VEUCkKPj4+ICsJCSAgICBl bmNvZGVyLT50eXBlICE9IElOVEVMX09VVFBVVF9FRFAgJiYKPj4+ICsJCSAgICBlbmNvZGVyLT50 eXBlICE9IElOVEVMX09VVFBVVF9EREkpCj4+PiAgCQkJY29udGludWU7Cj4+PiAgCj4+PiAgCQlp bnRlbF9kcCA9IGVuY190b19pbnRlbF9kcCgmZW5jb2Rlci0+YmFzZSk7Cj4+PiAgCj4+PiArCQkv KiBTa2lwIHB1cmUgRFZJL0hETUkgRERJIGVuY29kZXJzICovCj4+PiArCQlpZiAoIWk5MTVfbW1p b19yZWdfdmFsaWQoaW50ZWxfZHAtPm91dHB1dF9yZWcpKQo+Pj4gKwkJCWNvbnRpbnVlOwo+Pj4g Kwo+Pj4gIAkJV0FSTl9PTihpbnRlbF9kcC0+YWN0aXZlX3BpcGUgIT0gSU5WQUxJRF9QSVBFKTsK Pj4+ICAKPj4+ICAJCWlmIChlbmNvZGVyLT50eXBlICE9IElOVEVMX09VVFBVVF9FRFApCj4+PiBA QCAtNDczMyw4ICs0NzM4LDYgQEAgaW50ZWxfZHBfbG9uZ19wdWxzZShzdHJ1Y3QgaW50ZWxfY29u bmVjdG9yICppbnRlbF9jb25uZWN0b3IpCj4+PiAgewo+Pj4gIAlzdHJ1Y3QgZHJtX2Nvbm5lY3Rv ciAqY29ubmVjdG9yID0gJmludGVsX2Nvbm5lY3Rvci0+YmFzZTsKPj4+ICAJc3RydWN0IGludGVs X2RwICppbnRlbF9kcCA9IGludGVsX2F0dGFjaGVkX2RwKGNvbm5lY3Rvcik7Cj4+PiAtCXN0cnVj dCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0ID0gZHBfdG9fZGlnX3BvcnQoaW50 ZWxfZHApOwo+Pj4gLQlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlciA9ICZpbnRl bF9kaWdfcG9ydC0+YmFzZTsKPj4+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNvbm5lY3Rv ci0+ZGV2Owo+Pj4gIAllbnVtIGRybV9jb25uZWN0b3Jfc3RhdHVzIHN0YXR1czsKPj4+ICAJdTgg c2lua19pcnFfdmVjdG9yID0gMDsKPj4+IEBAIC00NzY3LDkgKzQ3NzAsNiBAQCBpbnRlbF9kcF9s b25nX3B1bHNlKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmludGVsX2Nvbm5lY3RvcikKPj4+ICAJ CWdvdG8gb3V0Owo+Pj4gIAl9Cj4+PiAgCj4+PiAtCWlmIChpbnRlbF9lbmNvZGVyLT50eXBlICE9 IElOVEVMX09VVFBVVF9FRFApCj4+PiAtCQlpbnRlbF9lbmNvZGVyLT50eXBlID0gSU5URUxfT1VU UFVUX0RQOwo+Pj4gLQo+Pj4gIAlpZiAoaW50ZWxfZHAtPnJlc2V0X2xpbmtfcGFyYW1zKSB7Cj4+ PiAgCQkvKiBJbml0aWFsIG1heCBsaW5rIGxhbmUgY291bnQgKi8KPj4+ICAJCWludGVsX2RwLT5t YXhfbGlua19sYW5lX2NvdW50ID0gaW50ZWxfZHBfbWF4X2NvbW1vbl9sYW5lX2NvdW50KGludGVs X2RwKTsKPj4+IEBAIC00ODg2LDkgKzQ4ODYsNiBAQCBpbnRlbF9kcF9mb3JjZShzdHJ1Y3QgZHJt X2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+Pj4gIAlpbnRlbF9kcF9zZXRfZWRpZChpbnRlbF9kcCk7 Cj4+PiAgCj4+PiAgCWludGVsX2Rpc3BsYXlfcG93ZXJfcHV0KGRldl9wcml2LCBpbnRlbF9kcC0+ YXV4X3Bvd2VyX2RvbWFpbik7Cj4+PiAtCj4+PiAtCWlmIChpbnRlbF9lbmNvZGVyLT50eXBlICE9 IElOVEVMX09VVFBVVF9FRFApCj4+PiAtCQlpbnRlbF9lbmNvZGVyLT50eXBlID0gSU5URUxfT1VU UFVUX0RQOwo+Pj4gIH0KPj4+ICAKPj4+ICBzdGF0aWMgaW50IGludGVsX2RwX2dldF9tb2Rlcyhz dHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+Pj4gQEAgLTUxMDcsMTAgKzUxMDQsNiBA QCBpbnRlbF9kcF9ocGRfcHVsc2Uoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGln X3BvcnQsIGJvb2wgbG9uZ19ocGQpCj4+PiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IHRvX2k5MTUoZGV2KTsKPj4+ICAJZW51bSBpcnFyZXR1cm4gcmV0ID0gSVJRX05PTkU7 Cj4+PiAgCj4+PiAtCWlmIChpbnRlbF9kaWdfcG9ydC0+YmFzZS50eXBlICE9IElOVEVMX09VVFBV VF9FRFAgJiYKPj4+IC0JICAgIGludGVsX2RpZ19wb3J0LT5iYXNlLnR5cGUgIT0gSU5URUxfT1VU UFVUX0hETUkpCj4+PiAtCQlpbnRlbF9kaWdfcG9ydC0+YmFzZS50eXBlID0gSU5URUxfT1VUUFVU X0RQOwo+Pj4gLQo+Pj4gIAlpZiAobG9uZ19ocGQgJiYgaW50ZWxfZGlnX3BvcnQtPmJhc2UudHlw ZSA9PSBJTlRFTF9PVVRQVVRfRURQKSB7Cj4+PiAgCQkvKgo+Pj4gIAkJICogdmRkIG9mZiBjYW4g Z2VuZXJhdGUgYSBsb25nIHB1bHNlIG9uIGVEUCB3aGljaAo+Pj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHJ2LmgKPj4+IGluZGV4IGRmOTY2NDI3MjMyYy4uNjI5ZWJjNzNiYjA5IDEwMDY0NAo+Pj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPj4+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rydi5oCj4+PiBAQCAtMTczLDcgKzE3Myw3IEBAIGVudW0gaW50ZWxf b3V0cHV0X3R5cGUgewo+Pj4gIAlJTlRFTF9PVVRQVVRfRFAgPSA3LAo+Pj4gIAlJTlRFTF9PVVRQ VVRfRURQID0gOCwKPj4+ICAJSU5URUxfT1VUUFVUX0RTSSA9IDksCj4+PiAtCUlOVEVMX09VVFBV VF9VTktOT1dOID0gMTAsCj4+PiArCUlOVEVMX09VVFBVVF9EREkgPSAxMCwKPj4+ICAJSU5URUxf T1VUUFVUX0RQX01TVCA9IDExLAo+Pj4gIH07Cj4+PiAgCj4+PiBAQCAtMjE2LDYgKzIxNiw5IEBA IHN0cnVjdCBpbnRlbF9lbmNvZGVyIHsKPj4+ICAJZW51bSBwb3J0IHBvcnQ7Cj4+PiAgCXVuc2ln bmVkIGludCBjbG9uZWFibGU7Cj4+PiAgCXZvaWQgKCpob3RfcGx1Zykoc3RydWN0IGludGVsX2Vu Y29kZXIgKik7Cj4+PiArCWVudW0gaW50ZWxfb3V0cHV0X3R5cGUgKCpjb21wdXRlX291dHB1dF90 eXBlKShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqLAo+Pj4gKwkJCQkJCSAgICAgIHN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlICosCj4+PiArCQkJCQkJICAgICAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3Rh dGUgKik7Cj4+PiAgCWJvb2wgKCpjb21wdXRlX2NvbmZpZykoc3RydWN0IGludGVsX2VuY29kZXIg KiwKPj4+ICAJCQkgICAgICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKiwKPj4+ICAJCQkgICAg ICAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKik7Cj4+PiBAQCAtMTE1Miw3ICsxMTU1LDcg QEAgZW5jX3RvX2RpZ19wb3J0KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKPj4+ICAJc3Ry dWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIgPSB0b19pbnRlbF9lbmNvZGVyKGVuY29k ZXIpOwo+Pj4gIAo+Pj4gIAlzd2l0Y2ggKGludGVsX2VuY29kZXItPnR5cGUpIHsKPj4+IC0JY2Fz ZSBJTlRFTF9PVVRQVVRfVU5LTk9XTjoKPj4+ICsJY2FzZSBJTlRFTF9PVVRQVVRfRERJOgo+Pj4g IAkJV0FSTl9PTighSEFTX0RESSh0b19pOTE1KGVuY29kZXItPmRldikpKTsKPj4+ICAJY2FzZSBJ TlRFTF9PVVRQVVRfRFA6Cj4+PiAgCWNhc2UgSU5URUxfT1VUUFVUX0VEUDoKPj4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9oZG1pLmMKPj4+IGluZGV4IDk3ZDA4Y2RhM2Y4ZS4uZGVkZTI4OThjYjhhIDEw MDY0NAo+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4+PiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKPj4+IEBAIC0xNjE3LDEyICsxNjE3 LDkgQEAgaW50ZWxfaGRtaV9kZXRlY3Qoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rvciwg Ym9vbCBmb3JjZSkKPj4+ICAKPj4+ICAJaW50ZWxfaGRtaV91bnNldF9lZGlkKGNvbm5lY3Rvcik7 Cj4+PiAgCj4+PiAtCWlmIChpbnRlbF9oZG1pX3NldF9lZGlkKGNvbm5lY3RvcikpIHsKPj4+IC0J CXN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1pID0gaW50ZWxfYXR0YWNoZWRfaGRtaShjb25u ZWN0b3IpOwo+Pj4gLQo+Pj4gLQkJaGRtaV90b19kaWdfcG9ydChpbnRlbF9oZG1pKS0+YmFzZS50 eXBlID0gSU5URUxfT1VUUFVUX0hETUk7Cj4+PiArCWlmIChpbnRlbF9oZG1pX3NldF9lZGlkKGNv bm5lY3RvcikpCj4+PiAgCQlzdGF0dXMgPSBjb25uZWN0b3Jfc3RhdHVzX2Nvbm5lY3RlZDsKPj4+ IC0JfSBlbHNlCj4+PiArCWVsc2UKPj4+ICAJCXN0YXR1cyA9IGNvbm5lY3Rvcl9zdGF0dXNfZGlz Y29ubmVjdGVkOwo+Pj4gIAo+Pj4gIAlpbnRlbF9kaXNwbGF5X3Bvd2VyX3B1dChkZXZfcHJpdiwg UE9XRVJfRE9NQUlOX0dNQlVTKTsKPj4+IEBAIC0xNjMzLDggKzE2MzAsNiBAQCBpbnRlbF9oZG1p X2RldGVjdChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBib29sIGZvcmNlKQo+Pj4g IHN0YXRpYyB2b2lkCj4+PiAgaW50ZWxfaGRtaV9mb3JjZShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAq Y29ubmVjdG9yKQo+Pj4gIHsKPj4+IC0Jc3RydWN0IGludGVsX2hkbWkgKmludGVsX2hkbWkgPSBp bnRlbF9hdHRhY2hlZF9oZG1pKGNvbm5lY3Rvcik7Cj4+PiAtCj4+PiAgCURSTV9ERUJVR19LTVMo IltDT05ORUNUT1I6JWQ6JXNdXG4iLAo+Pj4gIAkJICAgICAgY29ubmVjdG9yLT5iYXNlLmlkLCBj b25uZWN0b3ItPm5hbWUpOwo+Pj4gIAo+Pj4gQEAgLTE2NDQsNyArMTYzOSw2IEBAIGludGVsX2hk bWlfZm9yY2Uoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPj4+ICAJCXJldHVybjsK Pj4+ICAKPj4+ICAJaW50ZWxfaGRtaV9zZXRfZWRpZChjb25uZWN0b3IpOwo+Pj4gLQloZG1pX3Rv X2RpZ19wb3J0KGludGVsX2hkbWkpLT5iYXNlLnR5cGUgPSBJTlRFTF9PVVRQVVRfSERNSTsKPj4+ ICB9Cj4+PiAgCj4+PiAgc3RhdGljIGludCBpbnRlbF9oZG1pX2dldF9tb2RlcyhzdHJ1Y3QgZHJt X2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX29wcmVnaW9uLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9vcHJlZ2lv bi5jCj4+PiBpbmRleCAxZDk0NjI0MGU1NWYuLjM5NzE0YmUzZWI2YiAxMDA2NDQKPj4+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX29wcmVnaW9uLmMKPj4+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX29wcmVnaW9uLmMKPj4+IEBAIC0zODMsNyArMzgzLDcgQEAgaW50 IGludGVsX29wcmVnaW9uX25vdGlmeV9lbmNvZGVyKHN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRl bF9lbmNvZGVyLAo+Pj4gIAljYXNlIElOVEVMX09VVFBVVF9BTkFMT0c6Cj4+PiAgCQl0eXBlID0g RElTUExBWV9UWVBFX0NSVDsKPj4+ICAJCWJyZWFrOwo+Pj4gLQljYXNlIElOVEVMX09VVFBVVF9V TktOT1dOOgo+Pj4gKwljYXNlIElOVEVMX09VVFBVVF9EREk6Cj4+PiAgCWNhc2UgSU5URUxfT1VU UFVUX0RQOgo+Pj4gIAljYXNlIElOVEVMX09VVFBVVF9IRE1JOgo+Pj4gIAljYXNlIElOVEVMX09V VFBVVF9EUF9NU1Q6CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwt Z2Z4Cg==