From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 3/5] drm/i915: add GEN2_ prefix to the I{E, I, M, S}R registers Date: Fri, 12 Apr 2019 10:33:22 +0300 Message-ID: <20190412073322.GH3888@intel.com> References: <20190410235344.31199-1-paulo.r.zanoni@intel.com> <20190410235344.31199-4-paulo.r.zanoni@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id C4F0E89A59 for ; Fri, 12 Apr 2019 07:33:30 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20190410235344.31199-4-paulo.r.zanoni@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Paulo Zanoni Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBBcHIgMTAsIDIwMTkgYXQgMDQ6NTM6NDJQTSAtMDcwMCwgUGF1bG8gWmFub25pIHdy b3RlOgo+IFRoaXMgZGlzY3Vzc2lvbiBzdGFydGVkIGJlY2F1c2Ugd2UgdXNlIHRva2VuIHBhc3Rp bmcgaW4gdGhlCj4gR0VOezIsM31fSVJRX0lOSVQgYW5kIEdFTnsyLDN9X0lSUV9SRVNFVCBtYWNy b3MsIHNvIGdlbjItNCBwYXNzZXMgYW4KPiBlbXB0eSBhcmd1bWVudCB0byB0aG9zZSBtYWNyb3Ms IG1ha2luZyB0aGUgY29kZSBhIGxpdHRsZSB3ZWlyZC4gVGhlCj4gb3JpZ2luYWwgcHJvcG9zYWwg d2FzIHRvIGp1c3QgYWRkIGEgY29tbWVudCBhcyB0aGUgZW1wdHkgYXJndW1lbnQsIGJ1dAo+IFZp bGxlIHN1Z2dlc3RlZCB3ZSBqdXN0IGFkZCBhIHByZWZpeCB0byB0aGUgcmVnaXN0ZXJzLCBhbmQg dGhhdCBpbmRlZWQKPiBzb3VuZHMgbGlrZSBhIG1vcmUgZWxlZ2FudCBzb2x1dGlvbi4KPiAKPiBO b3cgZG9pbmcgdGhpcyBpcyBraW5kYSBhZ2FpbnN0IG91ciBydWxlcyBmb3IgcmVnaXN0ZXIgbmFt aW5nIHNpbmNlIHdlCj4gb25seSBhZGQgZ2VucyBvciBwbGF0Zm9ybSBuYW1lcyBhcyByZWdpc3Rl ciBwcmVmaXhlcyB3aGVuIHRoZSBnaXZlbgo+IGdlbi9wbGF0Zm9ybSBjaGFuZ2VzIGEgcmVnaXN0 ZXIgdGhhdCBhbHJlYWR5IGV4aXN0ZWQgYmVmb3JlLiBPbiB0aGUKPiBvdGhlciBoYW5kLCB3ZSBo YXZlIHNvIG1hbnkgaW5zdGFuY2VzIG9mIElJUi9JTVIgaW4gY29tbWVudHMgdGhhdAo+IGFkZGlu ZyBhIHByZWZpeCB3b3VsZCBtYWtlIHRoZSB1c2VycyBvZiB0aGVzZSByZWdpc3RlciBtb3JlIGVh c2lseQo+IGZpbmRhYmxlLCBpbiBhZGRpdGlvbiB0byBtYWtlIG91ciB0b2tlbiBwYXN0aW5nIG1h Y3JvcyBhY3R1YWxseQo+IHJlYWRhYmxlLiBTbyBJTUhPIG9wZW5pbmcgYW4gZXhjZXB0aW9uIGhl cmUgaXMgd29ydGggaXQuCj4gCj4gQ2M6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBs aW51eC5pbnRlbC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogUGF1bG8gWmFub25pIDxwYXVsby5yLnph bm9uaUBpbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdm cy5jICAgICB8ICA2ICstLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5j ICAgfCAgNCArLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jICAgICAgICAgfCA1 MiArKysrKysrKysrKystLS0tLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf cmVnLmggICAgICAgICB8ICA4ICsrLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZXNl dC5jICAgICAgIHwgIDMgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfb3ZlcmxheS5j ICAgIHwgIDQgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jIHwg MTAgKystLS0KPiAgNyBmaWxlcyBjaGFuZ2VkLCA0NCBpbnNlcnRpb25zKCspLCA0MyBkZWxldGlv bnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2Zz LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+IGluZGV4IDc3YjMyNTJi ZGIyZS4uNTgyM2ZmYjE3ODIxIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZGVidWdmcy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMK PiBAQCAtODMzLDExICs4MzMsMTEgQEAgc3RhdGljIGludCBpOTE1X2ludGVycnVwdF9pbmZvKHN0 cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqZGF0YSkKPiAgCj4gIAl9IGVsc2UgaWYgKCFIQVNfUENI X1NQTElUKGRldl9wcml2KSkgewo+ICAJCXNlcV9wcmludGYobSwgIkludGVycnVwdCBlbmFibGU6 ICAgICUwOHhcbiIsCj4gLQkJCSAgIEk5MTVfUkVBRChJRVIpKTsKPiArCQkJICAgSTkxNV9SRUFE KEdFTjJfSUVSKSk7Cj4gIAkJc2VxX3ByaW50ZihtLCAiSW50ZXJydXB0IGlkZW50aXR5OiAgJTA4 eFxuIiwKPiAtCQkJICAgSTkxNV9SRUFEKElJUikpOwo+ICsJCQkgICBJOTE1X1JFQUQoR0VOMl9J SVIpKTsKPiAgCQlzZXFfcHJpbnRmKG0sICJJbnRlcnJ1cHQgbWFzazogICAgICAlMDh4XG4iLAo+ IC0JCQkgICBJOTE1X1JFQUQoSU1SKSk7Cj4gKwkJCSAgIEk5MTVfUkVBRChHRU4yX0lNUikpOwo+ ICAJCWZvcl9lYWNoX3BpcGUoZGV2X3ByaXYsIHBpcGUpCj4gIAkJCXNlcV9wcmludGYobSwgIlBp cGUgJWMgc3RhdDogICAgICAgICAlMDh4XG4iLAo+ICAJCQkJICAgcGlwZV9uYW1lKHBpcGUpLAo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ncHVfZXJyb3IuYwo+IGluZGV4IDQzYjY4ZmRjODk2Ny4u ZjUxZmY2ODNkZDJlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3B1 X2Vycm9yLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5jCj4g QEAgLTE2MzUsOSArMTYzNSw5IEBAIHN0YXRpYyB2b2lkIGNhcHR1cmVfcmVnX3N0YXRlKHN0cnVj dCBpOTE1X2dwdV9zdGF0ZSAqZXJyb3IpCj4gIAkJZXJyb3ItPmd0aWVyWzBdID0gSTkxNV9SRUFE KEdUSUVSKTsKPiAgCQllcnJvci0+bmd0aWVyID0gMTsKPiAgCX0gZWxzZSBpZiAoSVNfR0VOKGRl dl9wcml2LCAyKSkgewo+IC0JCWVycm9yLT5pZXIgPSBJOTE1X1JFQUQxNihJRVIpOwo+ICsJCWVy cm9yLT5pZXIgPSBJOTE1X1JFQUQxNihHRU4yX0lFUik7Cj4gIAl9IGVsc2UgaWYgKCFJU19WQUxM RVlWSUVXKGRldl9wcml2KSkgewo+IC0JCWVycm9yLT5pZXIgPSBJOTE1X1JFQUQoSUVSKTsKPiAr CQllcnJvci0+aWVyID0gSTkxNV9SRUFEKEdFTjJfSUVSKTsKPiAgCX0KPiAgCWVycm9yLT5laXIg PSBJOTE1X1JFQUQoRUlSKTsKPiAgCWVycm9yLT5wZ3RibF9lciA9IEk5MTVfUkVBRChQR1RCTF9F Uik7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCj4gaW5kZXggYjFmMWRiMmJkODc5Li4yOTEwYjA2 OTEzYWYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKPiBAQCAtMTUzLDE2ICsxNTMsMTYg QEAgc3RhdGljIHZvaWQgZ2VuM19pcnFfcmVzZXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LCBpOTE1X3JlZ190IGltciwKPiAgCj4gIHN0YXRpYyB2b2lkIGdlbjJfaXJxX3Jlc2V0 KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgewo+IC0JSTkxNV9XUklURTE2 KElNUiwgMHhmZmZmKTsKPiAtCVBPU1RJTkdfUkVBRDE2KElNUik7Cj4gKwlJOTE1X1dSSVRFMTYo R0VOMl9JTVIsIDB4ZmZmZik7Cj4gKwlQT1NUSU5HX1JFQUQxNihHRU4yX0lNUik7Cj4gIAo+IC0J STkxNV9XUklURTE2KElFUiwgMCk7Cj4gKwlJOTE1X1dSSVRFMTYoR0VOMl9JRVIsIDApOwo+ICAK PiAgCS8qIElJUiBjYW4gdGhlb3JldGljYWxseSBxdWV1ZSB1cCB0d28gZXZlbnRzLiBCZSBwYXJh bm9pZC4gKi8KPiAtCUk5MTVfV1JJVEUxNihJSVIsIDB4ZmZmZik7Cj4gLQlQT1NUSU5HX1JFQUQx NihJSVIpOwo+IC0JSTkxNV9XUklURTE2KElJUiwgMHhmZmZmKTsKPiAtCVBPU1RJTkdfUkVBRDE2 KElJUik7Cj4gKwlJOTE1X1dSSVRFMTYoR0VOMl9JSVIsIDB4ZmZmZik7Cj4gKwlQT1NUSU5HX1JF QUQxNihHRU4yX0lJUik7Cj4gKwlJOTE1X1dSSVRFMTYoR0VOMl9JSVIsIDB4ZmZmZik7Cj4gKwlQ T1NUSU5HX1JFQUQxNihHRU4yX0lJUik7Cj4gIH0KPiAgCj4gICNkZWZpbmUgR0VOOF9JUlFfUkVT RVRfTkRYKHR5cGUsIHdoaWNoKSBcCj4gQEAgLTE5OSwxNyArMTk5LDE3IEBAIHN0YXRpYyB2b2lk IGdlbjNfYXNzZXJ0X2lpcl9pc196ZXJvKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwKPiAgCj4gIHN0YXRpYyB2b2lkIGdlbjJfYXNzZXJ0X2lpcl9pc196ZXJvKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgewo+IC0JdTE2IHZhbCA9IEk5MTVfUkVBRDE2KElJ Uik7Cj4gKwl1MTYgdmFsID0gSTkxNV9SRUFEMTYoR0VOMl9JSVIpOwo+ICAKPiAgCWlmICh2YWwg PT0gMCkKPiAgCQlyZXR1cm47Cj4gIAo+ICAJV0FSTigxLCAiSW50ZXJydXB0IHJlZ2lzdGVyIDB4 JXggaXMgbm90IHplcm86IDB4JTA4eFxuIiwKPiAtCSAgICAgaTkxNV9tbWlvX3JlZ19vZmZzZXQo SUlSKSwgdmFsKTsKPiAtCUk5MTVfV1JJVEUxNihJSVIsIDB4ZmZmZik7Cj4gLQlQT1NUSU5HX1JF QUQxNihJSVIpOwo+IC0JSTkxNV9XUklURTE2KElJUiwgMHhmZmZmKTsKPiAtCVBPU1RJTkdfUkVB RDE2KElJUik7Cj4gKwkgICAgIGk5MTVfbW1pb19yZWdfb2Zmc2V0KEdFTjJfSUlSKSwgdmFsKTsK PiArCUk5MTVfV1JJVEUxNihHRU4yX0lJUiwgMHhmZmZmKTsKPiArCVBPU1RJTkdfUkVBRDE2KEdF TjJfSUlSKTsKPiArCUk5MTVfV1JJVEUxNihHRU4yX0lJUiwgMHhmZmZmKTsKPiArCVBPU1RJTkdf UkVBRDE2KEdFTjJfSUlSKTsKPiAgfQo+ICAKPiAgc3RhdGljIHZvaWQgZ2VuM19pcnFfaW5pdChz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gQEAgLTIyOSw5ICsyMjksOSBAQCBz dGF0aWMgdm9pZCBnZW4yX2lycV9pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwKPiAgewo+ICAJZ2VuMl9hc3NlcnRfaWlyX2lzX3plcm8oZGV2X3ByaXYpOwo+ICAKPiAtCUk5 MTVfV1JJVEUxNihJRVIsIGllcl92YWwpOwo+IC0JSTkxNV9XUklURTE2KElNUiwgaW1yX3ZhbCk7 Cj4gLQlQT1NUSU5HX1JFQUQxNihJTVIpOwo+ICsJSTkxNV9XUklURTE2KEdFTjJfSUVSLCBpZXJf dmFsKTsKPiArCUk5MTVfV1JJVEUxNihHRU4yX0lNUiwgaW1yX3ZhbCk7Cj4gKwlQT1NUSU5HX1JF QUQxNihHRU4yX0lNUik7Cj4gIH0KPiAgCj4gICNkZWZpbmUgR0VOOF9JUlFfSU5JVF9ORFgodHlw ZSwgd2hpY2gsIGltcl92YWwsIGllcl92YWwpIFwKPiBAQCAtNDM0NCw3ICs0MzQ0LDcgQEAgc3Rh dGljIGlycXJldHVybl90IGk4eHhfaXJxX2hhbmRsZXIoaW50IGlycSwgdm9pZCAqYXJnKQo+ICAJ CXUxNiBlaXIgPSAwLCBlaXJfc3R1Y2sgPSAwOwo+ICAJCXUxNiBpaXI7Cj4gIAo+IC0JCWlpciA9 IEk5MTVfUkVBRDE2KElJUik7Cj4gKwkJaWlyID0gSTkxNV9SRUFEMTYoR0VOMl9JSVIpOwo+ICAJ CWlmIChpaXIgPT0gMCkKPiAgCQkJYnJlYWs7Cj4gIAo+IEBAIC00MzU3LDcgKzQzNTcsNyBAQCBz dGF0aWMgaXJxcmV0dXJuX3QgaTh4eF9pcnFfaGFuZGxlcihpbnQgaXJxLCB2b2lkICphcmcpCj4g IAkJaWYgKGlpciAmIEk5MTVfTUFTVEVSX0VSUk9SX0lOVEVSUlVQVCkKPiAgCQkJaTh4eF9lcnJv cl9pcnFfYWNrKGRldl9wcml2LCAmZWlyLCAmZWlyX3N0dWNrKTsKPiAgCj4gLQkJSTkxNV9XUklU RTE2KElJUiwgaWlyKTsKPiArCQlJOTE1X1dSSVRFMTYoR0VOMl9JSVIsIGlpcik7Cj4gIAo+ICAJ CWlmIChpaXIgJiBJOTE1X1VTRVJfSU5URVJSVVBUKQo+ICAJCQlpbnRlbF9lbmdpbmVfYnJlYWRj cnVtYnNfaXJxKGRldl9wcml2LT5lbmdpbmVbUkNTMF0pOwo+IEBAIC00Mzg0LDcgKzQzODQsNyBA QCBzdGF0aWMgdm9pZCBpOTE1X2lycV9yZXNldChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAK PiAgCWk5eHhfcGlwZXN0YXRfaXJxX3Jlc2V0KGRldl9wcml2KTsKPiAgCj4gLQlHRU4zX0lSUV9S RVNFVCgpOwo+ICsJR0VOM19JUlFfUkVTRVQoR0VOMl8pOwoKVGhlc2UgZG8gbG9vayBhIGJpdCBv ZGQgd2l0aCB0aGUgZ2VuMytnZW4yIGluIHRoZSBzYW1lIHNlbnRlbmNlLgpIZW5jZSBub3QgZW50 aXRlbHkgY29udmluY2VkIHRoYXQgR0VOMl8gaXMgdGhlIGJlc3QgcHJlZml4LiBCdXQKbWVoLgoK UmV2aWV3ZWQtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5j b20+Cgo+ICB9Cj4gIAo+ICBzdGF0aWMgaW50IGk5MTVfaXJxX3Bvc3RpbnN0YWxsKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYpCj4gQEAgLTQ0MTYsNyArNDQxNiw3IEBAIHN0YXRpYyBpbnQgaTkxNV9p cnFfcG9zdGluc3RhbGwoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgCQlkZXZfcHJpdi0+aXJx X21hc2sgJj0gfkk5MTVfRElTUExBWV9QT1JUX0lOVEVSUlVQVDsKPiAgCX0KPiAgCj4gLQlHRU4z X0lSUV9JTklUKCwgZGV2X3ByaXYtPmlycV9tYXNrLCBlbmFibGVfbWFzayk7Cj4gKwlHRU4zX0lS UV9JTklUKEdFTjJfLCBkZXZfcHJpdi0+aXJxX21hc2ssIGVuYWJsZV9tYXNrKTsKPiAgCj4gIAkv KiBJbnRlcnJ1cHQgc2V0dXAgaXMgYWxyZWFkeSBndWFyYW50ZWVkIHRvIGJlIHNpbmdsZS10aHJl YWRlZCwgdGhpcyBpcwo+ICAJICoganVzdCB0byBtYWtlIHRoZSBhc3NlcnRfc3Bpbl9sb2NrZWQg Y2hlY2sgaGFwcHkuICovCj4gQEAgLTQ0NDgsNyArNDQ0OCw3IEBAIHN0YXRpYyBpcnFyZXR1cm5f dCBpOTE1X2lycV9oYW5kbGVyKGludCBpcnEsIHZvaWQgKmFyZykKPiAgCQl1MzIgaG90cGx1Z19z dGF0dXMgPSAwOwo+ICAJCXUzMiBpaXI7Cj4gIAo+IC0JCWlpciA9IEk5MTVfUkVBRChJSVIpOwo+ ICsJCWlpciA9IEk5MTVfUkVBRChHRU4yX0lJUik7Cj4gIAkJaWYgKGlpciA9PSAwKQo+ICAJCQli cmVhazsKPiAgCj4gQEAgLTQ0NjUsNyArNDQ2NSw3IEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBpOTE1 X2lycV9oYW5kbGVyKGludCBpcnEsIHZvaWQgKmFyZykKPiAgCQlpZiAoaWlyICYgSTkxNV9NQVNU RVJfRVJST1JfSU5URVJSVVBUKQo+ICAJCQlpOXh4X2Vycm9yX2lycV9hY2soZGV2X3ByaXYsICZl aXIsICZlaXJfc3R1Y2spOwo+ICAKPiAtCQlJOTE1X1dSSVRFKElJUiwgaWlyKTsKPiArCQlJOTE1 X1dSSVRFKEdFTjJfSUlSLCBpaXIpOwo+ICAKPiAgCQlpZiAoaWlyICYgSTkxNV9VU0VSX0lOVEVS UlVQVCkKPiAgCQkJaW50ZWxfZW5naW5lX2JyZWFkY3J1bWJzX2lycShkZXZfcHJpdi0+ZW5naW5l W1JDUzBdKTsKPiBAQCAtNDQ5Myw3ICs0NDkzLDcgQEAgc3RhdGljIHZvaWQgaTk2NV9pcnFfcmVz ZXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgCj4gIAlpOXh4X3BpcGVzdGF0X2lycV9yZXNl dChkZXZfcHJpdik7Cj4gIAo+IC0JR0VOM19JUlFfUkVTRVQoKTsKPiArCUdFTjNfSVJRX1JFU0VU KEdFTjJfKTsKPiAgfQo+ICAKPiAgc3RhdGljIGludCBpOTY1X2lycV9wb3N0aW5zdGFsbChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2KQo+IEBAIC00NTM2LDcgKzQ1MzYsNyBAQCBzdGF0aWMgaW50IGk5 NjVfaXJxX3Bvc3RpbnN0YWxsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIAlpZiAoSVNfRzRY KGRldl9wcml2KSkKPiAgCQllbmFibGVfbWFzayB8PSBJOTE1X0JTRF9VU0VSX0lOVEVSUlVQVDsK PiAgCj4gLQlHRU4zX0lSUV9JTklUKCwgZGV2X3ByaXYtPmlycV9tYXNrLCBlbmFibGVfbWFzayk7 Cj4gKwlHRU4zX0lSUV9JTklUKEdFTjJfLCBkZXZfcHJpdi0+aXJxX21hc2ssIGVuYWJsZV9tYXNr KTsKPiAgCj4gIAkvKiBJbnRlcnJ1cHQgc2V0dXAgaXMgYWxyZWFkeSBndWFyYW50ZWVkIHRvIGJl IHNpbmdsZS10aHJlYWRlZCwgdGhpcyBpcwo+ICAJICoganVzdCB0byBtYWtlIHRoZSBhc3NlcnRf c3Bpbl9sb2NrZWQgY2hlY2sgaGFwcHkuICovCj4gQEAgLTQ1OTQsNyArNDU5NCw3IEBAIHN0YXRp YyBpcnFyZXR1cm5fdCBpOTY1X2lycV9oYW5kbGVyKGludCBpcnEsIHZvaWQgKmFyZykKPiAgCQl1 MzIgaG90cGx1Z19zdGF0dXMgPSAwOwo+ICAJCXUzMiBpaXI7Cj4gIAo+IC0JCWlpciA9IEk5MTVf UkVBRChJSVIpOwo+ICsJCWlpciA9IEk5MTVfUkVBRChHRU4yX0lJUik7Cj4gIAkJaWYgKGlpciA9 PSAwKQo+ICAJCQlicmVhazsKPiAgCj4gQEAgLTQ2MTAsNyArNDYxMCw3IEBAIHN0YXRpYyBpcnFy ZXR1cm5fdCBpOTY1X2lycV9oYW5kbGVyKGludCBpcnEsIHZvaWQgKmFyZykKPiAgCQlpZiAoaWly ICYgSTkxNV9NQVNURVJfRVJST1JfSU5URVJSVVBUKQo+ICAJCQlpOXh4X2Vycm9yX2lycV9hY2so ZGV2X3ByaXYsICZlaXIsICZlaXJfc3R1Y2spOwo+ICAKPiAtCQlJOTE1X1dSSVRFKElJUiwgaWly KTsKPiArCQlJOTE1X1dSSVRFKEdFTjJfSUlSLCBpaXIpOwo+ICAKPiAgCQlpZiAoaWlyICYgSTkx NV9VU0VSX0lOVEVSUlVQVCkKPiAgCQkJaW50ZWxfZW5naW5lX2JyZWFkY3J1bWJzX2lycShkZXZf cHJpdi0+ZW5naW5lW1JDUzBdKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9yZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiBpbmRleCA5YzIw NmU4MDNhYjMuLjZhMTUwMjQzY2FiYiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3JlZy5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+IEBA IC0yNzEzLDEwICsyNzEzLDEwIEBAIGVudW0gaTkxNV9wb3dlcl93ZWxsX2lkIHsKPiAgI2RlZmlu ZSBWTFZfR1VfQ1RMMAlfTU1JTyhWTFZfRElTUExBWV9CQVNFICsgMHgyMDMwKQo+ICAjZGVmaW5l IFZMVl9HVV9DVEwxCV9NTUlPKFZMVl9ESVNQTEFZX0JBU0UgKyAweDIwMzQpCj4gICNkZWZpbmUg U0NQRDAJCV9NTUlPKDB4MjA5YykgLyogOTE1KyBvbmx5ICovCj4gLSNkZWZpbmUgSUVSCQlfTU1J TygweDIwYTApCj4gLSNkZWZpbmUgSUlSCQlfTU1JTygweDIwYTQpCj4gLSNkZWZpbmUgSU1SCQlf TU1JTygweDIwYTgpCj4gLSNkZWZpbmUgSVNSCQlfTU1JTygweDIwYWMpCj4gKyNkZWZpbmUgR0VO Ml9JRVIJX01NSU8oMHgyMGEwKQo+ICsjZGVmaW5lIEdFTjJfSUlSCV9NTUlPKDB4MjBhNCkKPiAr I2RlZmluZSBHRU4yX0lNUglfTU1JTygweDIwYTgpCj4gKyNkZWZpbmUgR0VOMl9JU1IJX01NSU8o MHgyMGFjKQo+ICAjZGVmaW5lIFZMVl9HVU5JVF9DTE9DS19HQVRFCV9NTUlPKFZMVl9ESVNQTEFZ X0JBU0UgKyAweDIwNjApCj4gICNkZWZpbmUgICBHSU5UX0RJUwkJKDEgPDwgMjIpCj4gICNkZWZp bmUgICBHQ0ZHX0RJUwkJKDEgPDwgOCkKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9yZXNldC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZXNldC5jCj4gaW5k ZXggNjg4NzViYTQzYjhkLi5iNzVhYzY2MGMzYzIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9yZXNldC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9y ZXNldC5jCj4gQEAgLTEyMjMsNyArMTIyMyw4IEBAIHZvaWQgaTkxNV9jbGVhcl9lcnJvcl9yZWdp c3RlcnMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCj4gIAkJICovCj4gIAkJRFJNX0RF QlVHX0RSSVZFUigiRUlSIHN0dWNrOiAweCUwOHgsIG1hc2tpbmdcbiIsIGVpcik7Cj4gIAkJcm13 X3NldCh1bmNvcmUsIEVNUiwgZWlyKTsKPiAtCQlpbnRlbF91bmNvcmVfd3JpdGUodW5jb3JlLCBJ SVIsIEk5MTVfTUFTVEVSX0VSUk9SX0lOVEVSUlVQVCk7Cj4gKwkJaW50ZWxfdW5jb3JlX3dyaXRl KHVuY29yZSwgR0VOMl9JSVIsCj4gKwkJCQkgICBJOTE1X01BU1RFUl9FUlJPUl9JTlRFUlJVUFQp Owo+ICAJfQo+ICAKPiAgCWlmIChJTlRFTF9HRU4oaTkxNSkgPj0gOCkgewo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9vdmVybGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9vdmVybGF5LmMKPiBpbmRleCBhODgyYjhkNDJiZDkuLmViMzE3NzU5YjVkMyAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9vdmVybGF5LmMKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9vdmVybGF5LmMKPiBAQCAtNDQ2LDcgKzQ0Niw3 IEBAIHN0YXRpYyBpbnQgaW50ZWxfb3ZlcmxheV9yZWxlYXNlX29sZF92aWQoc3RydWN0IGludGVs X292ZXJsYXkgKm92ZXJsYXkpCj4gIAlpZiAoIW92ZXJsYXktPm9sZF92bWEpCj4gIAkJcmV0dXJu IDA7Cj4gIAo+IC0JaWYgKEk5MTVfUkVBRChJU1IpICYgSTkxNV9PVkVSTEFZX1BMQU5FX0ZMSVBf UEVORElOR19JTlRFUlJVUFQpIHsKPiArCWlmIChJOTE1X1JFQUQoR0VOMl9JU1IpICYgSTkxNV9P VkVSTEFZX1BMQU5FX0ZMSVBfUEVORElOR19JTlRFUlJVUFQpIHsKPiAgCQkvKiBzeW5jaHJvbm91 cyBzbG93cGF0aCAqLwo+ICAJCXN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxOwo+ICAKPiBAQCAtMTQz MCw3ICsxNDMwLDcgQEAgaW50ZWxfb3ZlcmxheV9jYXB0dXJlX2Vycm9yX3N0YXRlKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgCQlyZXR1cm4gTlVMTDsKPiAgCj4gIAllcnJv ci0+ZG92c3RhID0gSTkxNV9SRUFEKERPVlNUQSk7Cj4gLQllcnJvci0+aXNyID0gSTkxNV9SRUFE KElTUik7Cj4gKwllcnJvci0+aXNyID0gSTkxNV9SRUFEKEdFTjJfSVNSKTsKPiAgCWVycm9yLT5i YXNlID0gb3ZlcmxheS0+ZmxpcF9hZGRyOwo+ICAKPiAgCW1lbWNweV9mcm9taW8oJmVycm9yLT5y ZWdzLCBvdmVybGF5LT5yZWdzLCBzaXplb2YoZXJyb3ItPnJlZ3MpKTsKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCj4gaW5kZXggYWYzNWY5OWM1OTQwLi4wMjlmZDhlYzE4 NTcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCj4gQEAgLTk3 NywxNSArOTc3LDE1IEBAIHN0YXRpYyB2b2lkCj4gIGk5eHhfaXJxX2VuYWJsZShzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICplbmdpbmUpCj4gIHsKPiAgCWVuZ2luZS0+aTkxNS0+aXJxX21hc2sgJj0g fmVuZ2luZS0+aXJxX2VuYWJsZV9tYXNrOwo+IC0JaW50ZWxfdW5jb3JlX3dyaXRlKGVuZ2luZS0+ dW5jb3JlLCBJTVIsIGVuZ2luZS0+aTkxNS0+aXJxX21hc2spOwo+IC0JaW50ZWxfdW5jb3JlX3Bv c3RpbmdfcmVhZF9mdyhlbmdpbmUtPnVuY29yZSwgSU1SKTsKPiArCWludGVsX3VuY29yZV93cml0 ZShlbmdpbmUtPnVuY29yZSwgR0VOMl9JTVIsIGVuZ2luZS0+aTkxNS0+aXJxX21hc2spOwo+ICsJ aW50ZWxfdW5jb3JlX3Bvc3RpbmdfcmVhZF9mdyhlbmdpbmUtPnVuY29yZSwgR0VOMl9JTVIpOwo+ ICB9Cj4gIAo+ICBzdGF0aWMgdm9pZAo+ICBpOXh4X2lycV9kaXNhYmxlKHN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKmVuZ2luZSkKPiAgewo+ICAJZW5naW5lLT5pOTE1LT5pcnFfbWFzayB8PSBlbmdp bmUtPmlycV9lbmFibGVfbWFzazsKPiAtCWludGVsX3VuY29yZV93cml0ZShlbmdpbmUtPnVuY29y ZSwgSU1SLCBlbmdpbmUtPmk5MTUtPmlycV9tYXNrKTsKPiArCWludGVsX3VuY29yZV93cml0ZShl bmdpbmUtPnVuY29yZSwgR0VOMl9JTVIsIGVuZ2luZS0+aTkxNS0+aXJxX21hc2spOwo+ICB9Cj4g IAo+ICBzdGF0aWMgdm9pZAo+IEBAIC05OTQsNyArOTk0LDcgQEAgaTh4eF9pcnFfZW5hYmxlKHN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IGVuZ2luZS0+aTkxNTsKPiAgCj4gIAlkZXZfcHJpdi0+aXJxX21hc2sgJj0g fmVuZ2luZS0+aXJxX2VuYWJsZV9tYXNrOwo+IC0JSTkxNV9XUklURTE2KElNUiwgZGV2X3ByaXYt PmlycV9tYXNrKTsKPiArCUk5MTVfV1JJVEUxNihHRU4yX0lNUiwgZGV2X3ByaXYtPmlycV9tYXNr KTsKPiAgCVBPU1RJTkdfUkVBRDE2KFJJTkdfSU1SKGVuZ2luZS0+bW1pb19iYXNlKSk7Cj4gIH0K PiAgCj4gQEAgLTEwMDQsNyArMTAwNCw3IEBAIGk4eHhfaXJxX2Rpc2FibGUoc3RydWN0IGludGVs X2VuZ2luZV9jcyAqZW5naW5lKQo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gZW5naW5lLT5pOTE1Owo+ICAKPiAgCWRldl9wcml2LT5pcnFfbWFzayB8PSBlbmdpbmUtPmly cV9lbmFibGVfbWFzazsKPiAtCUk5MTVfV1JJVEUxNihJTVIsIGRldl9wcml2LT5pcnFfbWFzayk7 Cj4gKwlJOTE1X1dSSVRFMTYoR0VOMl9JTVIsIGRldl9wcml2LT5pcnFfbWFzayk7Cj4gIH0KPiAg Cj4gIHN0YXRpYyBpbnQKPiAtLSAKPiAyLjIwLjEKCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4