From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v4] drm/i915/glk: Refactor handling of PLANE_COLOR_CTL for GLK+ Date: Tue, 14 Nov 2017 16:26:10 +0200 Message-ID: <20171114142610.GG10981@intel.com> References: <20171113181128.2926-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 8DEA26E027 for ; Tue, 14 Nov 2017 14:26:15 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20171113181128.2926-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 T24gTW9uLCBOb3YgMTMsIDIwMTcgYXQgMTA6MTE6MjhBTSAtMDgwMCwgSmFtZXMgQXVzbXVzIHdy b3RlOgo+IFNpbmNlIEdMSywgc29tZSBwbGFuZSBjb25maWd1cmF0aW9uIHNldHRpbmdzIGhhdmUg bW92ZWQgdG8gdGhlCj4gUExBTkVfQ09MT1JfQ1RMIHJlZ2lzdGVyLiBSZWZhY3RvciBoYW5kbGlu ZyBvZiB0aGUgcmVnaXN0ZXIgdG8gd29yayBsaWtlCj4gUExBTkVfQ1RMLiBUaGlzIGFsc28gYWxs b3dzIHVzIHRvIGZpeCB0aGUgc2V0L3JlYWQgb2YgdGhlIHBsYW5lIEFscGhhCj4gTW9kZSBmb3Ig R0xLKy4KPiAKPiB2MjogQWRqdXN0IG9yZGVyaW5nIG9mIHBsYXRmb3JtIGNoZWNrcyB0byBiZSBu ZXdlc3QtPm9sZGVzdCwgZHJvcAo+IHJlZHVuZGFudCBjb21tZW50IGFib3V0IGFscGhhIGJsZW5k aW5nLiAoVmlsbGUpCj4gCj4gdjM6IE1vdmUgQWxwaGEgTW9kZSBiaXRzIG91dCBvZiBza2xfcGxh bmVfY3RsX2Zvcm1hdCBpbnRvCj4gc2tsX3BsYW5lX2N0bF9hbHBoYSwgYW5kIGRyb3AgZ2xrX3Bs YW5lX2N0bF9mb3JtYXQsIGRyb3AgaW5pdGlhbGl6YXRpb24KPiBvZiBzdGF0ZS0+Y29sb3JfY3Rs IG9uIHBsYXRmb3JtcyB0aGF0IGRvbid0IHVzZSBpdCwgYW5kIGRyb3AgY29sb3JfY3RsCj4gbG9j YWwgdmFyLiAoVmlsbGUpCj4gCj4gdjQ6IENvbnNvbGlkYXRlIHNrbF9wbGFuZV9jdGxfZm9ybWF0 IHN3aXRjaCBzdGF0ZW1lbnQgb24gZm9ybWF0cyB0aGF0Cj4gcmV0dXJuIHRoZSBzYW1lIHNldHRp bmdzLiAoVmlsbGUpCj4gCj4gU2lnbmVkLW9mZi1ieTogSmFtZXMgQXVzbXVzIDxqYW1lcy5hdXNt dXNAaW50ZWwuY29tPgo+IENjOiBQYXVsbyBaYW5vbmkgPHBhdWxvLnIuemFub25pQGludGVsLmNv bT4KPiBDYzogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4K PiBSZXZpZXdlZC1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVs LmNvbT4KPiAtLS0KPiAKPiBOT1RFOiBSZXNlbmRpbmcgd2l0aG91dCB0aGUgLS1pbi1yZXBseS10 bywgYXMgaXQgc2VlbXMgSSBtYW5hZ2VkIHRvCj4gY29uZnVzZSB0aGUgQ0kgc3lzdGVtLCBzbyB2 NCBkaWRuJ3QgZ2V0IHByb3Blcmx5IHBpY2tlZCB1cCBmb3IgdGVzdGluZwoKUGFzc2VkIG5vdywg c28gcHVzaGVkIHRvIGRpbnEuIFRoYW5rcyBmb3IgdGhlIHBhdGNoLgoKPiAKPiAgZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAgICAgIHwgMTIgKysrKy0tCj4gIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8IDczICsrKysrKysrKysrKysrKysrKysrKysrKysrKyst LS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgfCAgNSArKysK PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMgIHwgMTEgKysrLS0tCj4gIDQg ZmlsZXMgY2hhbmdlZCwgNzYgaW5zZXJ0aW9ucygrKSwgMjUgZGVsZXRpb25zKC0pCj4gCj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3JlZy5oCj4gaW5kZXggMDVlMzNhNDFmY2M3Li4yMjJhZWE0OWMwNmEgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiBAQCAtNjI5NSw3ICs2Mjk1LDcgQEAgZW51bSB7 Cj4gICNkZWZpbmUgX1BMQU5FX0NUTF8yX0EJCQkJMHg3MDI4MAo+ICAjZGVmaW5lIF9QTEFORV9D VExfM19BCQkJCTB4NzAzODAKPiAgI2RlZmluZSAgIFBMQU5FX0NUTF9FTkFCTEUJCQkoMSA8PCAz MSkKPiAtI2RlZmluZSAgIFBMQU5FX0NUTF9QSVBFX0dBTU1BX0VOQUJMRQkJKDEgPDwgMzApCj4g KyNkZWZpbmUgICBQTEFORV9DVExfUElQRV9HQU1NQV9FTkFCTEUJCSgxIDw8IDMwKSAgIC8qIFBy ZS1HTEsgKi8KPiAgI2RlZmluZSAgIFBMQU5FX0NUTF9GT1JNQVRfTUFTSwkJCSgweGYgPDwgMjQp Cj4gICNkZWZpbmUgICBQTEFORV9DVExfRk9STUFUX1lVVjQyMgkJKCAgMCA8PCAyNCkKPiAgI2Rl ZmluZSAgIFBMQU5FX0NUTF9GT1JNQVRfTlYxMgkJCSggIDEgPDwgMjQpCj4gQEAgLTYzMDUsNyAr NjMwNSw3IEBAIGVudW0gewo+ICAjZGVmaW5lICAgUExBTkVfQ1RMX0ZPUk1BVF9BWVVWCQkJKCAg OCA8PCAyNCkKPiAgI2RlZmluZSAgIFBMQU5FX0NUTF9GT1JNQVRfSU5ERVhFRAkJKCAxMiA8PCAy NCkKPiAgI2RlZmluZSAgIFBMQU5FX0NUTF9GT1JNQVRfUkdCXzU2NQkJKCAxNCA8PCAyNCkKPiAt I2RlZmluZSAgIFBMQU5FX0NUTF9QSVBFX0NTQ19FTkFCTEUJCSgxIDw8IDIzKQo+ICsjZGVmaW5l ICAgUExBTkVfQ1RMX1BJUEVfQ1NDX0VOQUJMRQkJKDEgPDwgMjMpIC8qIFByZS1HTEsgKi8KPiAg I2RlZmluZSAgIFBMQU5FX0NUTF9LRVlfRU5BQkxFX01BU0sJCSgweDMgPDwgMjEpCj4gICNkZWZp bmUgICBQTEFORV9DVExfS0VZX0VOQUJMRV9TT1VSQ0UJCSggIDEgPDwgMjEpCj4gICNkZWZpbmUg ICBQTEFORV9DVExfS0VZX0VOQUJMRV9ERVNUSU5BVElPTgkoICAyIDw8IDIxKQo+IEBAIC02MzE4 LDEzICs2MzE4LDEzIEBAIGVudW0gewo+ICAjZGVmaW5lICAgUExBTkVfQ1RMX1lVVjQyMl9WWVVZ CQkJKCAgMyA8PCAxNikKPiAgI2RlZmluZSAgIFBMQU5FX0NUTF9ERUNPTVBSRVNTSU9OX0VOQUJM RQkoMSA8PCAxNSkKPiAgI2RlZmluZSAgIFBMQU5FX0NUTF9UUklDS0xFX0ZFRURfRElTQUJMRQko MSA8PCAxNCkKPiAtI2RlZmluZSAgIFBMQU5FX0NUTF9QTEFORV9HQU1NQV9ESVNBQkxFCQkoMSA8 PCAxMykKPiArI2RlZmluZSAgIFBMQU5FX0NUTF9QTEFORV9HQU1NQV9ESVNBQkxFCQkoMSA8PCAx MykgLyogUHJlLUdMSyAqLwo+ICAjZGVmaW5lICAgUExBTkVfQ1RMX1RJTEVEX01BU0sJCQkoMHg3 IDw8IDEwKQo+ICAjZGVmaW5lICAgUExBTkVfQ1RMX1RJTEVEX0xJTkVBUgkJKCAgMCA8PCAxMCkK PiAgI2RlZmluZSAgIFBMQU5FX0NUTF9USUxFRF9YCQkJKCAgMSA8PCAxMCkKPiAgI2RlZmluZSAg IFBMQU5FX0NUTF9USUxFRF9ZCQkJKCAgNCA8PCAxMCkKPiAgI2RlZmluZSAgIFBMQU5FX0NUTF9U SUxFRF9ZRgkJCSggIDUgPDwgMTApCj4gLSNkZWZpbmUgICBQTEFORV9DVExfQUxQSEFfTUFTSwkJ CSgweDMgPDwgNCkKPiArI2RlZmluZSAgIFBMQU5FX0NUTF9BTFBIQV9NQVNLCQkJKDB4MyA8PCA0 KSAvKiBQcmUtR0xLICovCj4gICNkZWZpbmUgICBQTEFORV9DVExfQUxQSEFfRElTQUJMRQkJKCAg MCA8PCA0KQo+ICAjZGVmaW5lICAgUExBTkVfQ1RMX0FMUEhBX1NXX1BSRU1VTFRJUExZCSggIDIg PDwgNCkKPiAgI2RlZmluZSAgIFBMQU5FX0NUTF9BTFBIQV9IV19QUkVNVUxUSVBMWQkoICAzIDw8 IDQpCj4gQEAgLTYzNjQsNiArNjM2NCwxMCBAQCBlbnVtIHsKPiAgI2RlZmluZSAgIFBMQU5FX0NP TE9SX1BJUEVfR0FNTUFfRU5BQkxFCQkoMSA8PCAzMCkKPiAgI2RlZmluZSAgIFBMQU5FX0NPTE9S X1BJUEVfQ1NDX0VOQUJMRQkJKDEgPDwgMjMpCj4gICNkZWZpbmUgICBQTEFORV9DT0xPUl9QTEFO RV9HQU1NQV9ESVNBQkxFCSgxIDw8IDEzKQo+ICsjZGVmaW5lICAgUExBTkVfQ09MT1JfQUxQSEFf TUFTSwkJKDB4MyA8PCA0KQo+ICsjZGVmaW5lICAgUExBTkVfQ09MT1JfQUxQSEFfRElTQUJMRQkJ KDAgPDwgNCkKPiArI2RlZmluZSAgIFBMQU5FX0NPTE9SX0FMUEhBX1NXX1BSRU1VTFRJUExZCSgy IDw8IDQpCj4gKyNkZWZpbmUgICBQTEFORV9DT0xPUl9BTFBIQV9IV19QUkVNVUxUSVBMWQkoMyA8 PCA0KQo+ICAjZGVmaW5lIF9QTEFORV9CVUZfQ0ZHXzFfQQkJCTB4NzAyN2MKPiAgI2RlZmluZSBf UExBTkVfQlVGX0NGR18yX0EJCQkweDcwMzdjCj4gICNkZWZpbmUgX1BMQU5FX05WMTJfQlVGX0NG R18xX0EJCTB4NzAyNzgKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gaW5kZXgg MGViZjNmMjgzYjg3Li5lZDZhNGE4ZDkyNzMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGlzcGxheS5jCj4gQEAgLTM0MzIsMjAgKzM0MzIsMTEgQEAgc3RhdGljIHUzMiBza2xfcGxhbmVf Y3RsX2Zvcm1hdCh1aW50MzJfdCBwaXhlbF9mb3JtYXQpCj4gIAljYXNlIERSTV9GT1JNQVRfUkdC NTY1Ogo+ICAJCXJldHVybiBQTEFORV9DVExfRk9STUFUX1JHQl81NjU7Cj4gIAljYXNlIERSTV9G T1JNQVRfWEJHUjg4ODg6Cj4gKwljYXNlIERSTV9GT1JNQVRfQUJHUjg4ODg6Cj4gIAkJcmV0dXJu IFBMQU5FX0NUTF9GT1JNQVRfWFJHQl84ODg4IHwgUExBTkVfQ1RMX09SREVSX1JHQlg7Cj4gIAlj YXNlIERSTV9GT1JNQVRfWFJHQjg4ODg6Cj4gLQkJcmV0dXJuIFBMQU5FX0NUTF9GT1JNQVRfWFJH Ql84ODg4Owo+IC0JLyoKPiAtCSAqIFhYWDogRm9yIEFSQkcvQUJHUiBmb3JtYXRzIHdlIGRlZmF1 bHQgdG8gZXhwZWN0aW5nIHNjYW5vdXQgYnVmZmVycwo+IC0JICogdG8gYmUgYWxyZWFkeSBwcmUt bXVsdGlwbGllZC4gV2UgbmVlZCB0byBhZGQgYSBrbm9iIChvciBhIGRpZmZlcmVudAo+IC0JICog RFJNX0ZPUk1BVCkgZm9yIHVzZXItc3BhY2UgdG8gY29uZmlndXJlIHRoYXQuCj4gLQkgKi8KPiAt CWNhc2UgRFJNX0ZPUk1BVF9BQkdSODg4ODoKPiAtCQlyZXR1cm4gUExBTkVfQ1RMX0ZPUk1BVF9Y UkdCXzg4ODggfCBQTEFORV9DVExfT1JERVJfUkdCWCB8Cj4gLQkJCVBMQU5FX0NUTF9BTFBIQV9T V19QUkVNVUxUSVBMWTsKPiAgCWNhc2UgRFJNX0ZPUk1BVF9BUkdCODg4ODoKPiAtCQlyZXR1cm4g UExBTkVfQ1RMX0ZPUk1BVF9YUkdCXzg4ODggfAo+IC0JCQlQTEFORV9DVExfQUxQSEFfU1dfUFJF TVVMVElQTFk7Cj4gKwkJcmV0dXJuIFBMQU5FX0NUTF9GT1JNQVRfWFJHQl84ODg4Owo+ICAJY2Fz ZSBEUk1fRk9STUFUX1hSR0IyMTAxMDEwOgo+ICAJCXJldHVybiBQTEFORV9DVExfRk9STUFUX1hS R0JfMjEwMTAxMDsKPiAgCWNhc2UgRFJNX0ZPUk1BVF9YQkdSMjEwMTAxMDoKPiBAQCAtMzQ2NSw2 ICszNDU2LDMzIEBAIHN0YXRpYyB1MzIgc2tsX3BsYW5lX2N0bF9mb3JtYXQodWludDMyX3QgcGl4 ZWxfZm9ybWF0KQo+ICAJcmV0dXJuIDA7Cj4gIH0KPiAgCj4gKy8qCj4gKyAqIFhYWDogRm9yIEFS QkcvQUJHUiBmb3JtYXRzIHdlIGRlZmF1bHQgdG8gZXhwZWN0aW5nIHNjYW5vdXQgYnVmZmVycwo+ ICsgKiB0byBiZSBhbHJlYWR5IHByZS1tdWx0aXBsaWVkLiBXZSBuZWVkIHRvIGFkZCBhIGtub2Ig KG9yIGEgZGlmZmVyZW50Cj4gKyAqIERSTV9GT1JNQVQpIGZvciB1c2VyLXNwYWNlIHRvIGNvbmZp Z3VyZSB0aGF0Lgo+ICsgKi8KPiArc3RhdGljIHUzMiBza2xfcGxhbmVfY3RsX2FscGhhKHVpbnQz Ml90IHBpeGVsX2Zvcm1hdCkKPiArewo+ICsJc3dpdGNoIChwaXhlbF9mb3JtYXQpIHsKPiArCWNh c2UgRFJNX0ZPUk1BVF9BQkdSODg4ODoKPiArCWNhc2UgRFJNX0ZPUk1BVF9BUkdCODg4ODoKPiAr CQlyZXR1cm4gUExBTkVfQ1RMX0FMUEhBX1NXX1BSRU1VTFRJUExZOwo+ICsJZGVmYXVsdDoKPiAr CQlyZXR1cm4gUExBTkVfQ1RMX0FMUEhBX0RJU0FCTEU7Cj4gKwl9Cj4gK30KPiArCj4gK3N0YXRp YyB1MzIgZ2xrX3BsYW5lX2NvbG9yX2N0bF9hbHBoYSh1aW50MzJfdCBwaXhlbF9mb3JtYXQpCj4g K3sKPiArCXN3aXRjaCAocGl4ZWxfZm9ybWF0KSB7Cj4gKwljYXNlIERSTV9GT1JNQVRfQUJHUjg4 ODg6Cj4gKwljYXNlIERSTV9GT1JNQVRfQVJHQjg4ODg6Cj4gKwkJcmV0dXJuIFBMQU5FX0NPTE9S X0FMUEhBX1NXX1BSRU1VTFRJUExZOwo+ICsJZGVmYXVsdDoKPiArCQlyZXR1cm4gUExBTkVfQ09M T1JfQUxQSEFfRElTQUJMRTsKPiArCX0KPiArfQo+ICsKPiAgc3RhdGljIHUzMiBza2xfcGxhbmVf Y3RsX3RpbGluZyh1aW50NjRfdCBmYl9tb2RpZmllcikKPiAgewo+ICAJc3dpdGNoIChmYl9tb2Rp Zmllcikgewo+IEBAIC0zNTIxLDcgKzM1MzksOCBAQCB1MzIgc2tsX3BsYW5lX2N0bChjb25zdCBz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPiAgCj4gIAlwbGFuZV9jdGwgPSBQ TEFORV9DVExfRU5BQkxFOwo+ICAKPiAtCWlmICghSVNfR0VNSU5JTEFLRShkZXZfcHJpdikgJiYg IUlTX0NBTk5PTkxBS0UoZGV2X3ByaXYpKSB7Cj4gKwlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA8 IDEwICYmICFJU19HRU1JTklMQUtFKGRldl9wcml2KSkgewo+ICsJCXBsYW5lX2N0bCB8PSBza2xf cGxhbmVfY3RsX2FscGhhKGZiLT5mb3JtYXQtPmZvcm1hdCk7Cj4gIAkJcGxhbmVfY3RsIHw9Cj4g IAkJCVBMQU5FX0NUTF9QSVBFX0dBTU1BX0VOQUJMRSB8Cj4gIAkJCVBMQU5FX0NUTF9QSVBFX0NT Q19FTkFCTEUgfAo+IEBAIC0zNTQwLDYgKzM1NTksMjAgQEAgdTMyIHNrbF9wbGFuZV9jdGwoY29u c3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCj4gIAlyZXR1cm4gcGxhbmVf Y3RsOwo+ICB9Cj4gIAo+ICt1MzIgZ2xrX3BsYW5lX2NvbG9yX2N0bChjb25zdCBzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPiArCQkJY29uc3Qgc3RydWN0IGludGVsX3BsYW5l X3N0YXRlICpwbGFuZV9zdGF0ZSkKPiArewo+ICsJY29uc3Qgc3RydWN0IGRybV9mcmFtZWJ1ZmZl ciAqZmIgPSBwbGFuZV9zdGF0ZS0+YmFzZS5mYjsKPiArCXUzMiBwbGFuZV9jb2xvcl9jdGwgPSAw Owo+ICsKPiArCXBsYW5lX2NvbG9yX2N0bCB8PSBQTEFORV9DT0xPUl9QSVBFX0dBTU1BX0VOQUJM RTsKPiArCXBsYW5lX2NvbG9yX2N0bCB8PSBQTEFORV9DT0xPUl9QSVBFX0NTQ19FTkFCTEU7Cj4g KwlwbGFuZV9jb2xvcl9jdGwgfD0gUExBTkVfQ09MT1JfUExBTkVfR0FNTUFfRElTQUJMRTsKPiAr CXBsYW5lX2NvbG9yX2N0bCB8PSBnbGtfcGxhbmVfY29sb3JfY3RsX2FscGhhKGZiLT5mb3JtYXQt PmZvcm1hdCk7Cj4gKwo+ICsJcmV0dXJuIHBsYW5lX2NvbG9yX2N0bDsKPiArfQo+ICsKPiAgc3Rh dGljIGludAo+ICBfX2ludGVsX2Rpc3BsYXlfcmVzdW1lKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs Cj4gIAkJICAgICAgIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKPiBAQCAtODQyNiw3 ICs4NDU5LDcgQEAgc2t5bGFrZV9nZXRfaW5pdGlhbF9wbGFuZV9jb25maWcoc3RydWN0IGludGVs X2NydGMgKmNydGMsCj4gIHsKPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5iYXNl LmRldjsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2 KTsKPiAtCXUzMiB2YWwsIGJhc2UsIG9mZnNldCwgc3RyaWRlX211bHQsIHRpbGluZzsKPiArCXUz MiB2YWwsIGJhc2UsIG9mZnNldCwgc3RyaWRlX211bHQsIHRpbGluZywgYWxwaGE7Cj4gIAlpbnQg cGlwZSA9IGNydGMtPnBpcGU7Cj4gIAlpbnQgZm91cmNjLCBwaXhlbF9mb3JtYXQ7Cj4gIAl1bnNp Z25lZCBpbnQgYWxpZ25lZF9oZWlnaHQ7Cj4gQEAgLTg0NDgsOSArODQ4MSwxNiBAQCBza3lsYWtl X2dldF9pbml0aWFsX3BsYW5lX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKPiAgCQln b3RvIGVycm9yOwo+ICAKPiAgCXBpeGVsX2Zvcm1hdCA9IHZhbCAmIFBMQU5FX0NUTF9GT1JNQVRf TUFTSzsKPiArCj4gKwlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSAxMCB8fCBJU19HRU1JTklM QUtFKGRldl9wcml2KSkgewo+ICsJCWFscGhhID0gSTkxNV9SRUFEKFBMQU5FX0NPTE9SX0NUTChw aXBlLCAwKSk7Cj4gKwkJYWxwaGEgJj0gUExBTkVfQ09MT1JfQUxQSEFfTUFTSzsKPiArCX0gZWxz ZSB7Cj4gKwkJYWxwaGEgPSB2YWwgJiBQTEFORV9DVExfQUxQSEFfTUFTSzsKPiArCX0KPiArCj4g IAlmb3VyY2MgPSBza2xfZm9ybWF0X3RvX2ZvdXJjYyhwaXhlbF9mb3JtYXQsCj4gLQkJCQkgICAg ICB2YWwgJiBQTEFORV9DVExfT1JERVJfUkdCWCwKPiAtCQkJCSAgICAgIHZhbCAmIFBMQU5FX0NU TF9BTFBIQV9NQVNLKTsKPiArCQkJCSAgICAgIHZhbCAmIFBMQU5FX0NUTF9PUkRFUl9SR0JYLCBh bHBoYSk7Cj4gIAlmYi0+Zm9ybWF0ID0gZHJtX2Zvcm1hdF9pbmZvKGZvdXJjYyk7Cj4gIAo+ICAJ dGlsaW5nID0gdmFsICYgUExBTkVfQ1RMX1RJTEVEX01BU0s7Cj4gQEAgLTEyODUzLDYgKzEyODkz LDkgQEAgaW50ZWxfY2hlY2tfcHJpbWFyeV9wbGFuZShzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5l LAo+ICAJCXN0YXRlLT5jdGwgPSBpOXh4X3BsYW5lX2N0bChjcnRjX3N0YXRlLCBzdGF0ZSk7Cj4g IAl9Cj4gIAo+ICsJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gMTAgfHwgSVNfR0VNSU5JTEFL RShkZXZfcHJpdikpCj4gKwkJc3RhdGUtPmNvbG9yX2N0bCA9IGdsa19wbGFuZV9jb2xvcl9jdGwo Y3J0Y19zdGF0ZSwgc3RhdGUpOwo+ICsKPiAgCXJldHVybiAwOwo+ICB9Cj4gIAo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rydi5oCj4gaW5kZXggMTBiZWM4Nzk2MjM5Li5lOWI2NmUwY2I2NDcgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IEBAIC00MjUsNiArNDI1LDkgQEAgc3RydWN0IGlu dGVsX3BsYW5lX3N0YXRlIHsKPiAgCS8qIHBsYW5lIGNvbnRyb2wgcmVnaXN0ZXIgKi8KPiAgCXUz MiBjdGw7Cj4gIAo+ICsJLyogcGxhbmUgY29sb3IgY29udHJvbCByZWdpc3RlciAqLwo+ICsJdTMy IGNvbG9yX2N0bDsKPiArCj4gIAkvKgo+ICAJICogc2NhbGVyX2lkCj4gIAkgKiAgICA9IC0xIDog bm90IHVzaW5nIGEgc2NhbGVyCj4gQEAgLTE1MDMsNiArMTUwNiw4IEBAIHN0YXRpYyBpbmxpbmUg dTMyIGludGVsX3BsYW5lX2dndHRfb2Zmc2V0KGNvbnN0IHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0 ZSAqc3RhdGUpCj4gIAlyZXR1cm4gaTkxNV9nZ3R0X29mZnNldChzdGF0ZS0+dm1hKTsKPiAgfQo+ ICAKPiArdTMyIGdsa19wbGFuZV9jb2xvcl9jdGwoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKmNydGNfc3RhdGUsCj4gKwkJCWNvbnN0IHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcGxh bmVfc3RhdGUpOwo+ICB1MzIgc2tsX3BsYW5lX2N0bChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqY3J0Y19zdGF0ZSwKPiAgCQkgIGNvbnN0IHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAq cGxhbmVfc3RhdGUpOwo+ICB1MzIgc2tsX3BsYW5lX3N0cmlkZShjb25zdCBzdHJ1Y3QgZHJtX2Zy YW1lYnVmZmVyICpmYiwgaW50IHBsYW5lLAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9zcHJpdGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5j Cj4gaW5kZXggNGZjZjgwY2E5MWRkLi5jZTYxNTcwNDk4MmEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9zcHJpdGUuYwo+IEBAIC0yNjMsMTMgKzI2Myw5IEBAIHNrbF91cGRhdGVfcGxhbmUo c3RydWN0IGludGVsX3BsYW5lICpwbGFuZSwKPiAgCj4gIAlzcGluX2xvY2tfaXJxc2F2ZSgmZGV2 X3ByaXYtPnVuY29yZS5sb2NrLCBpcnFmbGFncyk7Cj4gIAo+IC0JaWYgKElTX0dFTUlOSUxBS0Uo ZGV2X3ByaXYpIHx8IElTX0NBTk5PTkxBS0UoZGV2X3ByaXYpKSB7Cj4gKwlpZiAoSU5URUxfR0VO KGRldl9wcml2KSA+PSAxMCB8fCBJU19HRU1JTklMQUtFKGRldl9wcml2KSkKPiAgCQlJOTE1X1dS SVRFX0ZXKFBMQU5FX0NPTE9SX0NUTChwaXBlLCBwbGFuZV9pZCksCj4gLQkJCSAgICAgIFBMQU5F X0NPTE9SX1BJUEVfR0FNTUFfRU5BQkxFIHwKPiAtCQkJICAgICAgUExBTkVfQ09MT1JfUElQRV9D U0NfRU5BQkxFIHwKPiAtCQkJICAgICAgUExBTkVfQ09MT1JfUExBTkVfR0FNTUFfRElTQUJMRSk7 Cj4gLQl9Cj4gLQo+ICsJCQkgICAgICBwbGFuZV9zdGF0ZS0+Y29sb3JfY3RsKTsKPiAgCWlmIChr ZXktPmZsYWdzKSB7Cj4gIAkJSTkxNV9XUklURV9GVyhQTEFORV9LRVlWQUwocGlwZSwgcGxhbmVf aWQpLCBrZXktPm1pbl92YWx1ZSk7Cj4gIAkJSTkxNV9XUklURV9GVyhQTEFORV9LRVlNQVgocGlw ZSwgcGxhbmVfaWQpLCBrZXktPm1heF92YWx1ZSk7Cj4gQEAgLTk3OCw2ICs5NzQsOSBAQCBpbnRl bF9jaGVja19zcHJpdGVfcGxhbmUoc3RydWN0IGludGVsX3BsYW5lICpwbGFuZSwKPiAgCQlzdGF0 ZS0+Y3RsID0gZzR4X3Nwcml0ZV9jdGwoY3J0Y19zdGF0ZSwgc3RhdGUpOwo+ICAJfQo+ICAKPiAr CWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDEwIHx8IElTX0dFTUlOSUxBS0UoZGV2X3ByaXYp KQo+ICsJCXN0YXRlLT5jb2xvcl9jdGwgPSBnbGtfcGxhbmVfY29sb3JfY3RsKGNydGNfc3RhdGUs IHN0YXRlKTsKPiArCj4gIAlyZXR1cm4gMDsKPiAgfQo+ICAKPiAtLSAKPiAyLjE0LjEKCi0tIApW aWxsZSBTeXJqw6Rsw6QKSW50ZWwgT1RDCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ludGVsLWdmeAo=