From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH] drm/i915/glk: Refactor handling of PLANE_COLOR_CTL for GLK+ Date: Fri, 3 Nov 2017 12:12:09 +0200 Message-ID: <20171103101209.GT10981@intel.com> References: <20171102230049.10952-1-james.ausmus@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 819B96EA29 for ; Fri, 3 Nov 2017 10:12:12 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20171102230049.10952-1-james.ausmus@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: James Ausmus Cc: intel-gfx@lists.freedesktop.org, Paulo Zanoni List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBOb3YgMDIsIDIwMTcgYXQgMDQ6MDA6NDlQTSAtMDcwMCwgSmFtZXMgQXVzbXVzIHdy b3RlOgo+IFNpbmNlIEdMSywgc29tZSBwbGFuZSBjb25maWd1cmF0aW9uIHNldHRpbmdzIGhhdmUg bW92ZWQgdG8gdGhlCj4gUExBTkVfQ09MT1JfQ1RMIHJlZ2lzdGVyLiBSZWZhY3RvciBoYW5kbGlu ZyBvZiB0aGUgcmVnaXN0ZXIgdG8gd29yayBsaWtlCj4gUExBTkVfQ1RMLiBUaGlzIGFsc28gYWxs b3dzIHVzIHRvIGZpeCB0aGUgc2V0L3JlYWQgb2YgdGhlIHBsYW5lIEFscGhhCj4gTW9kZSBmb3Ig R0xLKy4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBKYW1lcyBBdXNtdXMgPGphbWVzLmF1c211c0BpbnRl bC5jb20+Cj4gQ2M6IFBhdWxvIFphbm9uaSA8cGF1bG8uci56YW5vbmlAaW50ZWwuY29tPgo+IC0t LQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oICAgICAgfCAxMiArKysrKy0tLQo+ ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCA2MCArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKystLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2 LmggICAgIHwgIDUgKysrCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jICB8 IDE0ICsrKysrLS0tLQo+ICA0IGZpbGVzIGNoYW5nZWQsIDc2IGluc2VydGlvbnMoKyksIDE1IGRl bGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Jl Zy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+IGluZGV4IDY4YTU4Y2NlNmFi MS4uNTIwZmY5YTE1MjIyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf cmVnLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gQEAgLTYyNjMs NyArNjI2Myw3IEBAIGVudW0gewo+ICAjZGVmaW5lIF9QTEFORV9DVExfMl9BCQkJCTB4NzAyODAK PiAgI2RlZmluZSBfUExBTkVfQ1RMXzNfQQkJCQkweDcwMzgwCj4gICNkZWZpbmUgICBQTEFORV9D VExfRU5BQkxFCQkJKDEgPDwgMzEpCj4gLSNkZWZpbmUgICBQTEFORV9DVExfUElQRV9HQU1NQV9F TkFCTEUJCSgxIDw8IDMwKQo+ICsjZGVmaW5lICAgUExBTkVfQ1RMX1BJUEVfR0FNTUFfRU5BQkxF CQkoMSA8PCAzMCkgICAvKiBQcmUtR0xLICovCj4gICNkZWZpbmUgICBQTEFORV9DVExfRk9STUFU X01BU0sJCQkoMHhmIDw8IDI0KQo+ICAjZGVmaW5lICAgUExBTkVfQ1RMX0ZPUk1BVF9ZVVY0MjIJ CSggIDAgPDwgMjQpCj4gICNkZWZpbmUgICBQTEFORV9DVExfRk9STUFUX05WMTIJCQkoICAxIDw8 IDI0KQo+IEBAIC02MjczLDcgKzYyNzMsNyBAQCBlbnVtIHsKPiAgI2RlZmluZSAgIFBMQU5FX0NU TF9GT1JNQVRfQVlVVgkJCSggIDggPDwgMjQpCj4gICNkZWZpbmUgICBQTEFORV9DVExfRk9STUFU X0lOREVYRUQJCSggMTIgPDwgMjQpCj4gICNkZWZpbmUgICBQTEFORV9DVExfRk9STUFUX1JHQl81 NjUJCSggMTQgPDwgMjQpCj4gLSNkZWZpbmUgICBQTEFORV9DVExfUElQRV9DU0NfRU5BQkxFCQko MSA8PCAyMykKPiArI2RlZmluZSAgIFBMQU5FX0NUTF9QSVBFX0NTQ19FTkFCTEUJCSgxIDw8IDIz KSAvKiBQcmUtR0xLICovCj4gICNkZWZpbmUgICBQTEFORV9DVExfS0VZX0VOQUJMRV9NQVNLCQko MHgzIDw8IDIxKQo+ICAjZGVmaW5lICAgUExBTkVfQ1RMX0tFWV9FTkFCTEVfU09VUkNFCQkoICAx IDw8IDIxKQo+ICAjZGVmaW5lICAgUExBTkVfQ1RMX0tFWV9FTkFCTEVfREVTVElOQVRJT04JKCAg MiA8PCAyMSkKPiBAQCAtNjI4NiwxMyArNjI4NiwxMyBAQCBlbnVtIHsKPiAgI2RlZmluZSAgIFBM QU5FX0NUTF9ZVVY0MjJfVllVWQkJCSggIDMgPDwgMTYpCj4gICNkZWZpbmUgICBQTEFORV9DVExf REVDT01QUkVTU0lPTl9FTkFCTEUJKDEgPDwgMTUpCj4gICNkZWZpbmUgICBQTEFORV9DVExfVFJJ Q0tMRV9GRUVEX0RJU0FCTEUJKDEgPDwgMTQpCj4gLSNkZWZpbmUgICBQTEFORV9DVExfUExBTkVf R0FNTUFfRElTQUJMRQkJKDEgPDwgMTMpCj4gKyNkZWZpbmUgICBQTEFORV9DVExfUExBTkVfR0FN TUFfRElTQUJMRQkJKDEgPDwgMTMpIC8qIFByZS1HTEsgKi8KPiAgI2RlZmluZSAgIFBMQU5FX0NU TF9USUxFRF9NQVNLCQkJKDB4NyA8PCAxMCkKPiAgI2RlZmluZSAgIFBMQU5FX0NUTF9USUxFRF9M SU5FQVIJCSggIDAgPDwgMTApCj4gICNkZWZpbmUgICBQTEFORV9DVExfVElMRURfWAkJCSggIDEg PDwgMTApCj4gICNkZWZpbmUgICBQTEFORV9DVExfVElMRURfWQkJCSggIDQgPDwgMTApCj4gICNk ZWZpbmUgICBQTEFORV9DVExfVElMRURfWUYJCQkoICA1IDw8IDEwKQo+IC0jZGVmaW5lICAgUExB TkVfQ1RMX0FMUEhBX01BU0sJCQkoMHgzIDw8IDQpCj4gKyNkZWZpbmUgICBQTEFORV9DVExfQUxQ SEFfTUFTSwkJCSgweDMgPDwgNCkgLyogUHJlLUdMSyAqLwo+ICAjZGVmaW5lICAgUExBTkVfQ1RM X0FMUEhBX0RJU0FCTEUJCSggIDAgPDwgNCkKPiAgI2RlZmluZSAgIFBMQU5FX0NUTF9BTFBIQV9T V19QUkVNVUxUSVBMWQkoICAyIDw8IDQpCj4gICNkZWZpbmUgICBQTEFORV9DVExfQUxQSEFfSFdf UFJFTVVMVElQTFkJKCAgMyA8PCA0KQo+IEBAIC02MzMyLDYgKzYzMzIsMTAgQEAgZW51bSB7Cj4g ICNkZWZpbmUgICBQTEFORV9DT0xPUl9QSVBFX0dBTU1BX0VOQUJMRQkJKDEgPDwgMzApCj4gICNk ZWZpbmUgICBQTEFORV9DT0xPUl9QSVBFX0NTQ19FTkFCTEUJCSgxIDw8IDIzKQo+ICAjZGVmaW5l ICAgUExBTkVfQ09MT1JfUExBTkVfR0FNTUFfRElTQUJMRQkoMSA8PCAxMykKPiArI2RlZmluZSAg IFBMQU5FX0NPTE9SX0FMUEhBX01BU0sJCSgweDMgPDwgNCkKPiArI2RlZmluZSAgIFBMQU5FX0NP TE9SX0FMUEhBX0RJU0FCTEUJCSgwIDw8IDQpCj4gKyNkZWZpbmUgICBQTEFORV9DT0xPUl9BTFBI QV9TV19QUkVNVUxUSVBMWQkoMiA8PCA0KQo+ICsjZGVmaW5lICAgUExBTkVfQ09MT1JfQUxQSEFf SFdfUFJFTVVMVElQTFkJKDMgPDwgNCkKPiAgI2RlZmluZSBfUExBTkVfQlVGX0NGR18xX0EJCQkw eDcwMjdjCj4gICNkZWZpbmUgX1BMQU5FX0JVRl9DRkdfMl9BCQkJMHg3MDM3Ywo+ICAjZGVmaW5l IF9QTEFORV9OVjEyX0JVRl9DRkdfMV9BCQkweDcwMjc4Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYwo+IGluZGV4IGUyYWM5NzY4NDRkOC4uMDg4M2U4NTdkZGE5IDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IEBAIC0zNDY2LDYgKzM0NjYsMjkgQEAgc3Rh dGljIHUzMiBza2xfcGxhbmVfY3RsX2Zvcm1hdCh1aW50MzJfdCBwaXhlbF9mb3JtYXQpCj4gIAly ZXR1cm4gMDsKPiAgfQo+ICAKPiArc3RhdGljIHUzMiBnbGtfcGxhbmVfY3RsX2Zvcm1hdCh1aW50 MzJfdCBwaXhlbF9mb3JtYXQpCj4gK3sKPiArCS8qIEdMSysgbW92ZXMgdGhlIGFscGhhIG1hc2sg dG8gYSBkaWZmZXJlbnQgcmVnaXN0ZXIgKi8KPiArCXJldHVybiBza2xfcGxhbmVfY3RsX2Zvcm1h dChwaXhlbF9mb3JtYXQpICYgflBMQU5FX0NUTF9BTFBIQV9NQVNLOwo+ICt9Cj4gKwo+ICtzdGF0 aWMgdTMyIGdsa19wbGFuZV9jb2xvcl9jdGxfYWxwaGEodWludDMyX3QgcGl4ZWxfZm9ybWF0KQo+ ICt7Cj4gKwlzd2l0Y2ggKHBpeGVsX2Zvcm1hdCkgewo+ICsJLyoKPiArCSAqIFhYWDogRm9yIEFS QkcvQUJHUiBmb3JtYXRzIHdlIGRlZmF1bHQgdG8gZXhwZWN0aW5nIHNjYW5vdXQgYnVmZmVycwo+ ICsJICogdG8gYmUgYWxyZWFkeSBwcmUtbXVsdGlwbGllZC4gV2UgbmVlZCB0byBhZGQgYSBrbm9i IChvciBhIGRpZmZlcmVudAo+ICsJICogRFJNX0ZPUk1BVCkgZm9yIHVzZXItc3BhY2UgdG8gY29u ZmlndXJlIHRoYXQuCj4gKwkgKi8KCldoeSBpcyB0aGlzIGNvbW1lbnQgZ2V0dGluZyBhZGRlZCB0 byB0aGUgZ2xrIGZ1bmN0aW9uPyBJdCdzIGEgZ2VuZXJpYwppc3N1ZSB0aGF0IGFmZmVjdHMgYWxs IHBsYXRmb3JtcyB3aXRoIGFscGhhIGJsZW5kaW5nLgoKPiArCWNhc2UgRFJNX0ZPUk1BVF9BQkdS ODg4ODoKPiArCQlyZXR1cm4gUExBTkVfQ09MT1JfQUxQSEFfU1dfUFJFTVVMVElQTFk7Cj4gKwlj YXNlIERSTV9GT1JNQVRfQVJHQjg4ODg6Cj4gKwkJcmV0dXJuIFBMQU5FX0NPTE9SX0FMUEhBX1NX X1BSRU1VTFRJUExZOwoKY2FzZSBBOgpjYXNlIEI6CglyZXR1cm4gRk9POwoKPiArCWRlZmF1bHQ6 Cj4gKwkJcmV0dXJuIFBMQU5FX0NPTE9SX0FMUEhBX0RJU0FCTEU7Cj4gKwl9Cj4gK30KPiArCj4g IHN0YXRpYyB1MzIgc2tsX3BsYW5lX2N0bF90aWxpbmcodWludDY0X3QgZmJfbW9kaWZpZXIpCj4g IHsKPiAgCXN3aXRjaCAoZmJfbW9kaWZpZXIpIHsKPiBAQCAtMzUyMiwxNCArMzU0NSwxNiBAQCB1 MzIgc2tsX3BsYW5lX2N0bChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0 ZSwKPiAgCj4gIAlwbGFuZV9jdGwgPSBQTEFORV9DVExfRU5BQkxFOwo+ICAKPiAtCWlmICghSVNf R0VNSU5JTEFLRShkZXZfcHJpdikgJiYgIUlTX0NBTk5PTkxBS0UoZGV2X3ByaXYpKSB7Cj4gKwlp ZiAoIUlTX0dFTUlOSUxBS0UoZGV2X3ByaXYpICYmICEoSU5URUxfR0VOKGRldl9wcml2KSA+PSAx MCkpIHsKClBsZWFzZSBmbGlwIHRoaXMgZW50aXJlIGxvZ2ljIGFyb3VuZDoKaWYgKEdFTiA+PSAx MCB8fCBJU19HTEspIHsKCS4uLgoKPiAgCQlwbGFuZV9jdGwgfD0KPiAgCQkJUExBTkVfQ1RMX1BJ UEVfR0FNTUFfRU5BQkxFIHwKPiAgCQkJUExBTkVfQ1RMX1BJUEVfQ1NDX0VOQUJMRSB8Cj4gIAkJ CVBMQU5FX0NUTF9QTEFORV9HQU1NQV9ESVNBQkxFOwo+ICsJCXBsYW5lX2N0bCB8PSBza2xfcGxh bmVfY3RsX2Zvcm1hdChmYi0+Zm9ybWF0LT5mb3JtYXQpOwo+ICsJfSBlbHNlIHsKPiArCQlwbGFu ZV9jdGwgfD0gZ2xrX3BsYW5lX2N0bF9mb3JtYXQoZmItPmZvcm1hdC0+Zm9ybWF0KTsKPiAgCX0K PiAgCj4gLQlwbGFuZV9jdGwgfD0gc2tsX3BsYW5lX2N0bF9mb3JtYXQoZmItPmZvcm1hdC0+Zm9y bWF0KTsKPiAgCXBsYW5lX2N0bCB8PSBza2xfcGxhbmVfY3RsX3RpbGluZyhmYi0+bW9kaWZpZXIp Owo+ICAJcGxhbmVfY3RsIHw9IHNrbF9wbGFuZV9jdGxfcm90YXRpb24ocm90YXRpb24pOwo+ICAK PiBAQCAtMzU0MSw2ICszNTY2LDIwIEBAIHUzMiBza2xfcGxhbmVfY3RsKGNvbnN0IHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ICAJcmV0dXJuIHBsYW5lX2N0bDsKPiAgfQo+ ICAKPiArdTMyIGdsa19wbGFuZV9jb2xvcl9jdGwoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKmNydGNfc3RhdGUsCj4gKwkJCWNvbnN0IHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcGxh bmVfc3RhdGUpCj4gK3sKPiArCWNvbnN0IHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiID0gcGxh bmVfc3RhdGUtPmJhc2UuZmI7Cj4gKwl1MzIgcGxhbmVfY29sb3JfY3RsID0gMDsKPiArCj4gKwlw bGFuZV9jb2xvcl9jdGwgfD0gUExBTkVfQ09MT1JfUElQRV9HQU1NQV9FTkFCTEU7Cj4gKwlwbGFu ZV9jb2xvcl9jdGwgfD0gUExBTkVfQ09MT1JfUElQRV9DU0NfRU5BQkxFOwo+ICsJcGxhbmVfY29s b3JfY3RsIHw9IFBMQU5FX0NPTE9SX1BMQU5FX0dBTU1BX0RJU0FCTEU7Cj4gKwlwbGFuZV9jb2xv cl9jdGwgfD0gZ2xrX3BsYW5lX2NvbG9yX2N0bF9hbHBoYShmYi0+Zm9ybWF0LT5mb3JtYXQpOwo+ ICsKPiArCXJldHVybiBwbGFuZV9jb2xvcl9jdGw7Cj4gK30KPiArCj4gIHN0YXRpYyBpbnQKPiAg X19pbnRlbF9kaXNwbGF5X3Jlc3VtZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAJCSAgICAg ICBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4gQEAgLTg0MjUsNyArODQ2NCw3IEBA IHNreWxha2VfZ2V0X2luaXRpYWxfcGxhbmVfY29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRj LAo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+YmFzZS5kZXY7Cj4gIAlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Cj4gLQl1MzIg dmFsLCBiYXNlLCBvZmZzZXQsIHN0cmlkZV9tdWx0LCB0aWxpbmc7Cj4gKwl1MzIgdmFsLCBiYXNl LCBvZmZzZXQsIHN0cmlkZV9tdWx0LCB0aWxpbmcsIGFscGhhOwo+ICAJaW50IHBpcGUgPSBjcnRj LT5waXBlOwo+ICAJaW50IGZvdXJjYywgcGl4ZWxfZm9ybWF0Owo+ICAJdW5zaWduZWQgaW50IGFs aWduZWRfaGVpZ2h0Owo+IEBAIC04NDQ3LDkgKzg0ODYsMTYgQEAgc2t5bGFrZV9nZXRfaW5pdGlh bF9wbGFuZV9jb25maWcoc3RydWN0IGludGVsX2NydGMgKmNydGMsCj4gIAkJZ290byBlcnJvcjsK PiAgCj4gIAlwaXhlbF9mb3JtYXQgPSB2YWwgJiBQTEFORV9DVExfRk9STUFUX01BU0s7Cj4gKwo+ ICsJaWYgKCFJU19HRU1JTklMQUtFKGRldl9wcml2KSAmJiAhKElOVEVMX0dFTihkZXZfcHJpdikg Pj0gMTApKSB7CgpkaXR0bwoKPiArCQlhbHBoYSA9IHZhbCAmIFBMQU5FX0NUTF9BTFBIQV9NQVNL Owo+ICsJfSBlbHNlIHsKPiArCQlhbHBoYSA9IEk5MTVfUkVBRChQTEFORV9DT0xPUl9DVEwocGlw ZSwgMCkpOwo+ICsJCWFscGhhICY9IFBMQU5FX0NPTE9SX0FMUEhBX01BU0s7Cj4gKwl9Cj4gKwo+ ICAJZm91cmNjID0gc2tsX2Zvcm1hdF90b19mb3VyY2MocGl4ZWxfZm9ybWF0LAo+IC0JCQkJICAg ICAgdmFsICYgUExBTkVfQ1RMX09SREVSX1JHQlgsCj4gLQkJCQkgICAgICB2YWwgJiBQTEFORV9D VExfQUxQSEFfTUFTSyk7Cj4gKwkJCQkgICAgICB2YWwgJiBQTEFORV9DVExfT1JERVJfUkdCWCwg YWxwaGEpOwo+ICAJZmItPmZvcm1hdCA9IGRybV9mb3JtYXRfaW5mbyhmb3VyY2MpOwo+ICAKPiAg CXRpbGluZyA9IHZhbCAmIFBMQU5FX0NUTF9USUxFRF9NQVNLOwo+IEBAIC0xMjgxNiw2ICsxMjg2 MiwxMCBAQCBpbnRlbF9jaGVja19wcmltYXJ5X3BsYW5lKHN0cnVjdCBpbnRlbF9wbGFuZSAqcGxh bmUsCj4gIAo+ICAJCXN0YXRlLT5jdGwgPSBpOXh4X3BsYW5lX2N0bChjcnRjX3N0YXRlLCBzdGF0 ZSk7Cj4gIAl9Cj4gKwlpZiAoSVNfR0VNSU5JTEFLRShkZXZfcHJpdikgfHwgSU5URUxfR0VOKGRl dl9wcml2KSA+PSAxMCkKCkkgcHJlZmVyIHRoZSBvcmRlciB0byBnbyBmcm9tIG5ldyB0byBvbGQu IE1ha2VzIGZvciBhIG1vcmUgbG9naWNhbApyZWFkIGlmIHdlIGFkZCBhbm90aGVyIGJyYW5jaCB0 byB0aGUgaWYgc3RhdGVtZW50IHdpdGggYSBtb3JlIHJlY2VudApwbGF0Zm9ybXMgZWcuCgppZiAo TEFURVNUKQoJLi4uCmVsc2UgaWYgKFNMSUdIVExZX09MREVSIHx8IEVWRU5fT0xERVIpCgkuLi4K Cj4gKwkJc3RhdGUtPmNvbG9yX2N0bCA9IGdsa19wbGFuZV9jb2xvcl9jdGwoY3J0Y19zdGF0ZSwg c3RhdGUpOwo+ICsJZWxzZQo+ICsJCXN0YXRlLT5jb2xvcl9jdGwgPSAwOwo+ICAKPiAgCXJldHVy biAwOwo+ICB9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5o IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiBpbmRleCA0N2QwMjJkNDg3MTgu Ljc5NjdiMzcwNTIxNyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gQEAgLTQyMCw2 ICs0MjAsOSBAQCBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgewo+ICAJLyogcGxhbmUgY29udHJv bCByZWdpc3RlciAqLwo+ICAJdTMyIGN0bDsKPiAgCj4gKwkvKiBwbGFuZSBjb2xvciBjb250cm9s IHJlZ2lzdGVyICovCj4gKwl1MzIgY29sb3JfY3RsOwo+ICsKPiAgCS8qCj4gIAkgKiBzY2FsZXJf aWQKPiAgCSAqICAgID0gLTEgOiBub3QgdXNpbmcgYSBzY2FsZXIKPiBAQCAtMTQ5Miw2ICsxNDk1 LDggQEAgc3RhdGljIGlubGluZSB1MzIgaW50ZWxfcGxhbmVfZ2d0dF9vZmZzZXQoY29uc3Qgc3Ry dWN0IGludGVsX3BsYW5lX3N0YXRlICpzdGF0ZSkKPiAgCXJldHVybiBpOTE1X2dndHRfb2Zmc2V0 KHN0YXRlLT52bWEpOwo+ICB9Cj4gIAo+ICt1MzIgZ2xrX3BsYW5lX2NvbG9yX2N0bChjb25zdCBz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPiArCQkJY29uc3Qgc3RydWN0IGlu dGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSk7Cj4gIHUzMiBza2xfcGxhbmVfY3RsKGNvbnN0 IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ICAJCSAgY29uc3Qgc3RydWN0 IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSk7Cj4gIHUzMiBza2xfcGxhbmVfc3RyaWRl KGNvbnN0IHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLCBpbnQgcGxhbmUsCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfc3ByaXRlLmMKPiBpbmRleCA0ZmNmODBjYTkxZGQuLjBjMDk2NTcxMDFiNyAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCj4gQEAgLTI0MCw2ICsyNDAsNyBA QCBza2xfdXBkYXRlX3BsYW5lKHN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmUsCj4gIAllbnVtIHBs YW5lX2lkIHBsYW5lX2lkID0gcGxhbmUtPmlkOwo+ICAJZW51bSBwaXBlIHBpcGUgPSBwbGFuZS0+ cGlwZTsKPiAgCXUzMiBwbGFuZV9jdGwgPSBwbGFuZV9zdGF0ZS0+Y3RsOwo+ICsJdTMyIHBsYW5l X2NvbG9yX2N0bCA9IHBsYW5lX3N0YXRlLT5jb2xvcl9jdGw7Cj4gIAljb25zdCBzdHJ1Y3QgZHJt X2ludGVsX3Nwcml0ZV9jb2xvcmtleSAqa2V5ID0gJnBsYW5lX3N0YXRlLT5ja2V5Owo+ICAJdTMy IHN1cmZfYWRkciA9IHBsYW5lX3N0YXRlLT5tYWluLm9mZnNldDsKPiAgCXVuc2lnbmVkIGludCBy b3RhdGlvbiA9IHBsYW5lX3N0YXRlLT5iYXNlLnJvdGF0aW9uOwo+IEBAIC0yNjMsMTMgKzI2NCw5 IEBAIHNrbF91cGRhdGVfcGxhbmUoc3RydWN0IGludGVsX3BsYW5lICpwbGFuZSwKPiAgCj4gIAlz cGluX2xvY2tfaXJxc2F2ZSgmZGV2X3ByaXYtPnVuY29yZS5sb2NrLCBpcnFmbGFncyk7Cj4gIAo+ IC0JaWYgKElTX0dFTUlOSUxBS0UoZGV2X3ByaXYpIHx8IElTX0NBTk5PTkxBS0UoZGV2X3ByaXYp KSB7Cj4gKwlpZiAoSVNfR0VNSU5JTEFLRShkZXZfcHJpdikgfHwgSU5URUxfR0VOKGRldl9wcml2 KSA+PSAxMCkKCmRpdHRvCgo+ICAJCUk5MTVfV1JJVEVfRlcoUExBTkVfQ09MT1JfQ1RMKHBpcGUs IHBsYW5lX2lkKSwKPiAtCQkJICAgICAgUExBTkVfQ09MT1JfUElQRV9HQU1NQV9FTkFCTEUgfAo+ IC0JCQkgICAgICBQTEFORV9DT0xPUl9QSVBFX0NTQ19FTkFCTEUgfAo+IC0JCQkgICAgICBQTEFO RV9DT0xPUl9QTEFORV9HQU1NQV9ESVNBQkxFKTsKPiAtCX0KPiAtCj4gKwkJCSAgICAgIHBsYW5l X2NvbG9yX2N0bCk7Cj4gIAlpZiAoa2V5LT5mbGFncykgewo+ICAJCUk5MTVfV1JJVEVfRlcoUExB TkVfS0VZVkFMKHBpcGUsIHBsYW5lX2lkKSwga2V5LT5taW5fdmFsdWUpOwo+ICAJCUk5MTVfV1JJ VEVfRlcoUExBTkVfS0VZTUFYKHBpcGUsIHBsYW5lX2lkKSwga2V5LT5tYXhfdmFsdWUpOwo+IEBA IC05NzgsNiArOTc1LDExIEBAIGludGVsX2NoZWNrX3Nwcml0ZV9wbGFuZShzdHJ1Y3QgaW50ZWxf cGxhbmUgKnBsYW5lLAo+ICAJCXN0YXRlLT5jdGwgPSBnNHhfc3ByaXRlX2N0bChjcnRjX3N0YXRl LCBzdGF0ZSk7Cj4gIAl9Cj4gIAo+ICsJaWYgKElTX0dFTUlOSUxBS0UoZGV2X3ByaXYpIHx8IElO VEVMX0dFTihkZXZfcHJpdikgPj0gMTApCgpkaXR0bwoKPiArCQlzdGF0ZS0+Y29sb3JfY3RsID0g Z2xrX3BsYW5lX2NvbG9yX2N0bChjcnRjX3N0YXRlLCBzdGF0ZSk7Cj4gKwllbHNlCj4gKwkJc3Rh dGUtPmNvbG9yX2N0bCA9IDA7Cj4gKwo+ICAJcmV0dXJuIDA7Cj4gIH0KPiAgCj4gLS0gCj4gMi4x NC4xCj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K PiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y Zwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwt Z2Z4CgotLSAKVmlsbGUgU3lyasOkbMOkCkludGVsIE9UQwpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZngK