From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: Re: [PATCH 09/13] drm/i915: Track pipe gamma enable/disable in crtc state Date: Wed, 16 Jan 2019 11:36:30 -0800 Message-ID: <20190116193630.GJ4563@mdroper-desk.amr.corp.intel.com> References: <20190111170823.4441-1-ville.syrjala@linux.intel.com> <20190111170823.4441-10-ville.syrjala@linux.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 98B0F6F1DD for ; Wed, 16 Jan 2019 19:36:31 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20190111170823.4441-10-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ville Syrjala Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBKYW4gMTEsIDIwMTkgYXQgMDc6MDg6MTlQTSArMDIwMCwgVmlsbGUgU3lyamFsYSB3 cm90ZToKPiBGcm9tOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwu Y29tPgo+IAo+IFRyYWNrIHdoZXRoZXIgcGlwZSBnYW1tYSBpcyBlbmFibGVkIG9yIGRpc2FibGVk LiBGb3Igbm93IHdlCj4gc3RpY2sgdG8gdGhlIGN1cnJlbnQgYmVoYXZpb3VyIG9mIGFsd2F5cyBl bmFibGluZyBnYW1tYS4gQnV0Cj4gd2UgZG8gZ2V0IHdvcmtpbmcgc3RhdGUgcmVhZG91dCBmb3Ig dGhpcyBub3cuIE9uIFNLTCsgd2UgdXNlCj4gdGhlIHBpcGUgYm90dG9tIGNvbG9yIGFzIG91ciBo YXJkd2FyZSBzdGF0ZS4gT24gcHJlLVNLTCB3ZQo+IHJlYWQgdGhlIHN0YXRlIGJhY2sgZnJvbSB0 aGUgcHJpbWFyeSBwbGFuZSBjb250cm9sIHJlZ2lzdGVyLgo+IFRoYXQgb25seSByZWFsbHkgY29y cmVjdCBmb3IgZzR4KywgYXMgb2xkZXIgcGxhdGZvcm1zIG5ldmVyCj4gZ2FtbWEgY29ycmVjdCBw aXBlIGJvdHRvbSBjb2xvci4gQnV0IGRvaW5nIHRoZSByZWFkb3V0IHRoZQo+IHNhbWUgd2F5IG9u IGFsbCBwbGF0Zm9ybXMgaXMgZmluZSwgYW5kIHRoZXJlIGlzIG5vIG90aGVyIHdheQo+IHRvIGRv IGl0IHJlYWxseS4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5 cmphbGFAbGludXguaW50ZWwuY29tPgoKUmV2aWV3ZWQtYnk6IE1hdHQgUm9wZXIgPG1hdHRoZXcu ZC5yb3BlckBpbnRlbC5jb20+Cgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Jl Zy5oICAgICAgfCAgOCArKysrCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yLmMg ICB8IDI0ICsrKysrKysrKysrLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5 LmMgfCA1NiArKysrKysrKysrKysrKysrKysrKysrLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rydi5oICAgICB8ICAzICsrCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3Nwcml0ZS5jICB8IDE3ICsrKysrKystLQo+ICA1IGZpbGVzIGNoYW5nZWQsIDkyIGluc2VydGlv bnMoKyksIDE2IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+IGluZGV4 IDlkMTdiYTE5OWJlNC4uN2YwOTEzYmMxYjQ3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcmVnLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5o Cj4gQEAgLTU3MDcsNiArNTcwNywxNCBAQCBlbnVtIHsKPiAgI2RlZmluZSAgIFBJUEVNSVNDX0RJ VEhFUl9UWVBFX1NQCSgwIDw8IDIpCj4gICNkZWZpbmUgUElQRU1JU0MocGlwZSkJCQlfTU1JT19Q SVBFMihwaXBlLCBfUElQRV9NSVNDX0EpCj4gIAo+ICsvKiBTS0wrIHBpcGUgYm90dG9tIGNvbG9y ICovCj4gKyNkZWZpbmUgX1BJUEVfQk9UVE9NX0NPTE9SX0EJCTB4NzAwMzQKPiArI2RlZmluZSBf UElQRV9CT1RUT01fQ09MT1JfQgkJMHg3MTAzNAo+ICsjZGVmaW5lICAgUElQRV9CT1RUT01fR0FN TUFfRU5BQkxFCSgxIDw8IDMxKQo+ICsjZGVmaW5lICAgUElQRV9CT1RUT01fQ1NDX0VOQUJMRQko MSA8PCAzMCkKPiArI2RlZmluZSAgIFBJUEVfQk9UVE9NX0NPTE9SX01BU0sJMHgzRkZGRkZGRgo+ ICsjZGVmaW5lIFBJUEVfQk9UVE9NX0NPTE9SKHBpcGUpCQlfTU1JT19QSVBFMihwaXBlLCBfUElQ RV9CT1RUT01fQ09MT1JfQSkKPiArCj4gICNkZWZpbmUgVkxWX0RQRkxJUFNUQVQJCQkJX01NSU8o VkxWX0RJU1BMQVlfQkFTRSArIDB4NzAwMjgpCj4gICNkZWZpbmUgICBQSVBFQl9MSU5FX0NPTVBB UkVfSU5UX0VOCQkoMSA8PCAyOSkKPiAgI2RlZmluZSAgIFBJUEVCX0hMSU5FX0lOVF9FTgkJCSgx IDw8IDI4KQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvci5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3IuYwo+IGluZGV4IDZmZGJmYThjNDAw OC4uMzEzYjI4MTIwNGZhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2NvbG9yLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvci5jCj4gQEAg LTM4Nyw2ICszODcsMjQgQEAgc3RhdGljIHZvaWQgaHN3X2NvbG9yX2NvbW1pdChjb25zdCBzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiAgCWlsa19sb2FkX2NzY19tYXRyaXgo Y3J0Y19zdGF0ZSk7Cj4gIH0KPiAgCj4gK3N0YXRpYyB2b2lkIHNrbF9jb2xvcl9jb21taXQoY29u c3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gK3sKPiArCXN0cnVjdCBp bnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOwo+ ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNl LmRldik7Cj4gKwllbnVtIHBpcGUgcGlwZSA9IGNydGMtPnBpcGU7Cj4gKwl1MzIgdmFsOwo+ICsK PiArCXZhbCA9IDA7Cj4gKwlpZiAoY3J0Y19zdGF0ZS0+Z2FtbWFfZW5hYmxlKQo+ICsJCXZhbCB8 PSBQSVBFX0JPVFRPTV9HQU1NQV9FTkFCTEU7Cj4gKwl2YWwgfD0gUElQRV9CT1RUT01fQ1NDX0VO QUJMRTsKPiArCUk5MTVfV1JJVEUoUElQRV9CT1RUT01fQ09MT1IocGlwZSksIHZhbCk7Cj4gKwo+ ICsJSTkxNV9XUklURShHQU1NQV9NT0RFKGNydGMtPnBpcGUpLCBjcnRjX3N0YXRlLT5nYW1tYV9t b2RlKTsKPiArCj4gKwlpbGtfbG9hZF9jc2NfbWF0cml4KGNydGNfc3RhdGUpOwo+ICt9Cj4gKwo+ ICBzdGF0aWMgdm9pZCBiZHdfbG9hZF9kZWdhbW1hX2x1dChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiAgewo+ICAJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0 b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7Cj4gQEAgLTYyNCw2ICs2NDIsOCBA QCBpbnQgaW50ZWxfY29sb3JfY2hlY2soc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3Rh dGUpCj4gIAlkZWdhbW1hX2xlbmd0aCA9IElOVEVMX0lORk8oZGV2X3ByaXYpLT5jb2xvci5kZWdh bW1hX2x1dF9zaXplOwo+ICAJZ2FtbWFfbGVuZ3RoID0gSU5URUxfSU5GTyhkZXZfcHJpdiktPmNv bG9yLmdhbW1hX2x1dF9zaXplOwo+ICAKPiArCWNydGNfc3RhdGUtPmdhbW1hX2VuYWJsZSA9IHRy dWU7Cj4gKwo+ICAJLyoKPiAgCSAqIFdlIGFsc28gYWxsb3cgbm8gZGVnYW1tYSBsdXQvY3RtIGFu ZCBhIGdhbW1hIGx1dCBhdCB0aGUgbGVnYWN5Cj4gIAkgKiBzaXplICgyNTYgZW50cmllcykuCj4g QEAgLTY3NCw3ICs2OTQsOSBAQCB2b2lkIGludGVsX2NvbG9yX2luaXQoc3RydWN0IGludGVsX2Ny dGMgKmNydGMpCj4gIAkJZWxzZQo+ICAJCQlkZXZfcHJpdi0+ZGlzcGxheS5sb2FkX2x1dHMgPSBp OXh4X2xvYWRfbHV0czsKPiAgCj4gLQkJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gOCB8fCBJ U19IQVNXRUxMKGRldl9wcml2KSkKPiArCQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5KQo+ ICsJCQlkZXZfcHJpdi0+ZGlzcGxheS5jb2xvcl9jb21taXQgPSBza2xfY29sb3JfY29tbWl0Owo+ ICsJCWVsc2UgaWYgKElTX0JST0FEV0VMTChkZXZfcHJpdikgfHwgSVNfSEFTV0VMTChkZXZfcHJp dikpCj4gIAkJCWRldl9wcml2LT5kaXNwbGF5LmNvbG9yX2NvbW1pdCA9IGhzd19jb2xvcl9jb21t aXQ7Cj4gIAkJZWxzZQo+ICAJCQlkZXZfcHJpdi0+ZGlzcGxheS5jb2xvcl9jb21taXQgPSBpbGtf Y29sb3JfY29tbWl0Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k aXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBpbmRleCA5 MGFmY2FlOTFiMzAuLjg5NmNlOTU3OTBjYiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kaXNwbGF5LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k aXNwbGF5LmMKPiBAQCAtMzE4Niw3ICszMTg2LDggQEAgc3RhdGljIHUzMiBpOXh4X3BsYW5lX2N0 bF9jcnRjKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ICAJc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7 Cj4gIAl1MzIgZHNwY250ciA9IDA7Cj4gIAo+IC0JZHNwY250ciB8PSBESVNQUExBTkVfR0FNTUFf RU5BQkxFOwo+ICsJaWYgKGNydGNfc3RhdGUtPmdhbW1hX2VuYWJsZSkKPiArCQlkc3BjbnRyIHw9 IERJU1BQTEFORV9HQU1NQV9FTkFCTEU7Cj4gIAo+ICAJaWYgKElTX0hBU1dFTEwoZGV2X3ByaXYp IHx8IElTX0JST0FEV0VMTChkZXZfcHJpdikpCj4gIAkJZHNwY250ciB8PSBESVNQUExBTkVfUElQ RV9DU0NfRU5BQkxFOwo+IEBAIC0zNjY0LDcgKzM2NjUsOSBAQCB1MzIgc2tsX3BsYW5lX2N0bF9j cnRjKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ICAJaWYgKElO VEVMX0dFTihkZXZfcHJpdikgPj0gMTAgfHwgSVNfR0VNSU5JTEFLRShkZXZfcHJpdikpCj4gIAkJ cmV0dXJuIHBsYW5lX2N0bDsKPiAgCj4gLQlwbGFuZV9jdGwgfD0gUExBTkVfQ1RMX1BJUEVfR0FN TUFfRU5BQkxFOwo+ICsJaWYgKGNydGNfc3RhdGUtPmdhbW1hX2VuYWJsZSkKPiArCQlwbGFuZV9j dGwgfD0gUExBTkVfQ1RMX1BJUEVfR0FNTUFfRU5BQkxFOwo+ICsKPiAgCXBsYW5lX2N0bCB8PSBQ TEFORV9DVExfUElQRV9DU0NfRU5BQkxFOwo+ICAKPiAgCXJldHVybiBwbGFuZV9jdGw7Cj4gQEAg LTM3MTcsNyArMzcyMCw5IEBAIHUzMiBnbGtfcGxhbmVfY29sb3JfY3RsX2NydGMoY29uc3Qgc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gIAlpZiAoSU5URUxfR0VOKGRldl9w cml2KSA+PSAxMSkKPiAgCQlyZXR1cm4gcGxhbmVfY29sb3JfY3RsOwo+ICAKPiAtCXBsYW5lX2Nv bG9yX2N0bCB8PSBQTEFORV9DT0xPUl9QSVBFX0dBTU1BX0VOQUJMRTsKPiArCWlmIChjcnRjX3N0 YXRlLT5nYW1tYV9lbmFibGUpCj4gKwkJcGxhbmVfY29sb3JfY3RsIHw9IFBMQU5FX0NPTE9SX1BJ UEVfR0FNTUFfRU5BQkxFOwo+ICsKPiAgCXBsYW5lX2NvbG9yX2N0bCB8PSBQTEFORV9DT0xPUl9Q SVBFX0NTQ19FTkFCTEU7Cj4gIAo+ICAJcmV0dXJuIHBsYW5lX2NvbG9yX2N0bDsKPiBAQCAtMzky NSw3ICszOTMwLDYgQEAgc3RhdGljIHZvaWQgaW50ZWxfdXBkYXRlX3BpcGVfY29uZmlnKGNvbnN0 IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGEKPiAgCQkgICAoKG5ld19jcnRj X3N0YXRlLT5waXBlX3NyY193IC0gMSkgPDwgMTYpIHwKPiAgCQkgICAobmV3X2NydGNfc3RhdGUt PnBpcGVfc3JjX2ggLSAxKSk7Cj4gIAo+IC0JLyogb24gc2t5bGFrZSB0aGlzIGlzIGRvbmUgYnkg ZGV0YWNoaW5nIHNjYWxlcnMgKi8KPiAgCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDkpIHsK PiAgCQlza2xfZGV0YWNoX3NjYWxlcnMobmV3X2NydGNfc3RhdGUpOwo+ICAKPiBAQCAtODAzNiw2 ICs4MDQwLDIwIEBAIHN0YXRpYyB2b2lkIGludGVsX2dldF9jcnRjX3ljYmNyX2NvbmZpZyhzdHJ1 Y3QgaW50ZWxfY3J0YyAqY3J0YywKPiAgCXBpcGVfY29uZmlnLT5vdXRwdXRfZm9ybWF0ID0gb3V0 cHV0Owo+ICB9Cj4gIAo+ICtzdGF0aWMgdm9pZCBpOXh4X2dldF9waXBlX2NvbG9yX2NvbmZpZyhz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiArewo+ICsJc3RydWN0IGludGVs X2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7Cj4gKwlz dHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lID0gdG9faW50ZWxfcGxhbmUoY3J0Yy0+YmFzZS5wcmlt YXJ5KTsKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0 Yy0+YmFzZS5kZXYpOwo+ICsJZW51bSBpOXh4X3BsYW5lX2lkIGk5eHhfcGxhbmUgPSBwbGFuZS0+ aTl4eF9wbGFuZTsKPiArCXUzMiB0bXA7Cj4gKwo+ICsJdG1wID0gSTkxNV9SRUFEKERTUENOVFIo aTl4eF9wbGFuZSkpOwo+ICsKPiArCWlmICh0bXAgJiBESVNQUExBTkVfR0FNTUFfRU5BQkxFKQo+ ICsJCWNydGNfc3RhdGUtPmdhbW1hX2VuYWJsZSA9IHRydWU7Cj4gK30KPiArCj4gIHN0YXRpYyBi b29sIGk5eHhfZ2V0X3BpcGVfY29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAo+ICAJCQkJ IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZykKPiAgewo+IEBAIC04MDgyLDYg KzgxMDAsOCBAQCBzdGF0aWMgYm9vbCBpOXh4X2dldF9waXBlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0YywKPiAgCXBpcGVfY29uZmlnLT5nYW1tYV9tb2RlID0gKHRtcCAmIFBJUEVDT05G X0dBTU1BX01PREVfTUFTS19JOVhYKSA+Pgo+ICAJCVBJUEVDT05GX0dBTU1BX01PREVfU0hJRlQ7 Cj4gIAo+ICsJaTl4eF9nZXRfcGlwZV9jb2xvcl9jb25maWcocGlwZV9jb25maWcpOwo+ICsKPiAg CWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpIDwgNCkKPiAgCQlwaXBlX2NvbmZpZy0+ZG91YmxlX3dp ZGUgPSB0bXAgJiBQSVBFQ09ORl9ET1VCTEVfV0lERTsKPiAgCj4gQEAgLTkxNTcsNiArOTE3Nyw4 IEBAIHN0YXRpYyBib29sIGlyb25sYWtlX2dldF9waXBlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfY3J0 YyAqY3J0YywKPiAgCXBpcGVfY29uZmlnLT5nYW1tYV9tb2RlID0gKHRtcCAmIFBJUEVDT05GX0dB TU1BX01PREVfTUFTS19JTEspID4+Cj4gIAkJUElQRUNPTkZfR0FNTUFfTU9ERV9TSElGVDsKPiAg Cj4gKwlpOXh4X2dldF9waXBlX2NvbG9yX2NvbmZpZyhwaXBlX2NvbmZpZyk7Cj4gKwo+ICAJaWYg KEk5MTVfUkVBRChQQ0hfVFJBTlNDT05GKGNydGMtPnBpcGUpKSAmIFRSQU5TX0VOQUJMRSkgewo+ ICAJCXN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbCAqcGxsOwo+ICAJCWVudW0gaW50ZWxfZHBsbF9p ZCBwbGxfaWQ7Cj4gQEAgLTk3ODUsNiArOTgwNywxNSBAQCBzdGF0aWMgYm9vbCBoYXN3ZWxsX2dl dF9waXBlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKPiAgCXBpcGVfY29uZmlnLT5n YW1tYV9tb2RlID0KPiAgCQlJOTE1X1JFQUQoR0FNTUFfTU9ERShjcnRjLT5waXBlKSkgJiBHQU1N QV9NT0RFX01PREVfTUFTSzsKPiAgCj4gKwlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5KSB7 Cj4gKwkJdTMyIHRtcCA9IEk5MTVfUkVBRChQSVBFX0JPVFRPTV9DT0xPUihjcnRjLT5waXBlKSk7 Cj4gKwo+ICsJCWlmICh0bXAgJiBQSVBFX0JPVFRPTV9HQU1NQV9FTkFCTEUpCj4gKwkJCXBpcGVf Y29uZmlnLT5nYW1tYV9lbmFibGUgPSB0cnVlOwo+ICsJfSBlbHNlIHsKPiArCQlpOXh4X2dldF9w aXBlX2NvbG9yX2NvbmZpZyhwaXBlX2NvbmZpZyk7Cj4gKwl9Cj4gKwo+ICAJcG93ZXJfZG9tYWlu ID0gUE9XRVJfRE9NQUlOX1BJUEVfUEFORUxfRklUVEVSKGNydGMtPnBpcGUpOwo+ICAJaWYgKGlu dGVsX2Rpc3BsYXlfcG93ZXJfZ2V0X2lmX2VuYWJsZWQoZGV2X3ByaXYsIHBvd2VyX2RvbWFpbikp IHsKPiAgCQlwb3dlcl9kb21haW5fbWFzayB8PSBCSVRfVUxMKHBvd2VyX2RvbWFpbik7Cj4gQEAg LTk5NTMsNyArOTk4NCwxMiBAQCBpODQ1X2N1cnNvcl9tYXhfc3RyaWRlKHN0cnVjdCBpbnRlbF9w bGFuZSAqcGxhbmUsCj4gIAo+ICBzdGF0aWMgdTMyIGk4NDVfY3Vyc29yX2N0bF9jcnRjKGNvbnN0 IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ICB7Cj4gLQlyZXR1cm4gQ1VS U09SX0dBTU1BX0VOQUJMRTsKPiArCXUzMiBjbnRsID0gMDsKPiArCj4gKwlpZiAoY3J0Y19zdGF0 ZS0+Z2FtbWFfZW5hYmxlKQo+ICsJCWNudGwgfD0gQ1VSU09SX0dBTU1BX0VOQUJMRTsKPiArCj4g KwlyZXR1cm4gY250bDsKPiAgfQo+ICAKPiAgc3RhdGljIHUzMiBpODQ1X2N1cnNvcl9jdGwoY29u c3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCj4gQEAgLTEwMTA1LDcgKzEw MTQxLDggQEAgc3RhdGljIHUzMiBpOXh4X2N1cnNvcl9jdGxfY3J0Yyhjb25zdCBzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiAgCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49 IDExKQo+ICAJCXJldHVybiBjbnRsOwo+ICAKPiAtCWNudGwgfD0gTUNVUlNPUl9HQU1NQV9FTkFC TEU7Cj4gKwlpZiAoY3J0Y19zdGF0ZS0+Z2FtbWFfZW5hYmxlKQo+ICsJCWNudGwgPSBNQ1VSU09S X0dBTU1BX0VOQUJMRTsKPiAgCj4gIAlpZiAoSEFTX0RESShkZXZfcHJpdikpCj4gIAkJY250bCB8 PSBNQ1VSU09SX1BJUEVfQ1NDX0VOQUJMRTsKPiBAQCAtMTEwOTQsMTIgKzExMTMxLDYgQEAgc3Rh dGljIGludCBpbnRlbF9jcnRjX2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4g IAkJcmV0ID0gaW50ZWxfY29sb3JfY2hlY2socGlwZV9jb25maWcpOwo+ICAJCWlmIChyZXQpCj4g IAkJCXJldHVybiByZXQ7Cj4gLQo+IC0JCS8qCj4gLQkJICogQ2hhbmdpbmcgY29sb3IgbWFuYWdl bWVudCBvbiBJbnRlbCBoYXJkd2FyZSBpcwo+IC0JCSAqIGhhbmRsZWQgYXMgcGFydCBvZiBwbGFu ZXMgdXBkYXRlLgo+IC0JCSAqLwo+IC0JCWNydGNfc3RhdGUtPnBsYW5lc19jaGFuZ2VkID0gdHJ1 ZTsKPiAgCX0KPiAgCj4gIAlyZXQgPSAwOwo+IEBAIC0xMTk4OCw2ICsxMjAxOSw3IEBAIGludGVs X3BpcGVfY29uZmlnX2NvbXBhcmUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ ICAJUElQRV9DT05GX0NIRUNLX0JPT0woZG91YmxlX3dpZGUpOwo+ICAKPiAgCVBJUEVfQ09ORl9D SEVDS19YKGdhbW1hX21vZGUpOwo+ICsJUElQRV9DT05GX0NIRUNLX0JPT0woZ2FtbWFfZW5hYmxl KTsKPiAgCj4gIAlQSVBFX0NPTkZfQ0hFQ0tfUChzaGFyZWRfZHBsbCk7Cj4gIAlQSVBFX0NPTkZf Q0hFQ0tfWChkcGxsX2h3X3N0YXRlLmRwbGwpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4g aW5kZXggNTlmOGQ0MjcwZTgyLi5lZWU3MzRiNDg5MTkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcnYuaAo+IEBAIC05NDYsNiArOTQ2LDkgQEAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgewo+ ICAJLyogT3V0cHV0IGRvd24gc2NhbGluZyBpcyBkb25lIGluIExTUENPTiBkZXZpY2UgKi8KPiAg CWJvb2wgbHNwY29uX2Rvd25zYW1wbGluZzsKPiAgCj4gKwkvKiBlbmFibGUgcGlwZSBnYW1tYT8g Ki8KPiArCWJvb2wgZ2FtbWFfZW5hYmxlOwo+ICsKPiAgCS8qIERpc3BsYXkgU3RyZWFtIGNvbXBy ZXNzaW9uIHN0YXRlICovCj4gIAlzdHJ1Y3Qgewo+ICAJCWJvb2wgY29tcHJlc3Npb25fZW5hYmxl Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCj4gaW5kZXggYTQ1ZWY5OGIyZjhkLi4w MzRhMzU1NjkyZGIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3By aXRlLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwo+IEBAIC03 MzksNyArNzM5LDEyIEBAIHZsdl91cGRhdGVfY2xyYyhjb25zdCBzdHJ1Y3QgaW50ZWxfcGxhbmVf c3RhdGUgKnBsYW5lX3N0YXRlKQo+ICAKPiAgc3RhdGljIHUzMiB2bHZfc3ByaXRlX2N0bF9jcnRj KGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ICB7Cj4gLQlyZXR1 cm4gU1BfR0FNTUFfRU5BQkxFOwo+ICsJdTMyIHNwcmN0bCA9IDA7Cj4gKwo+ICsJaWYgKGNydGNf c3RhdGUtPmdhbW1hX2VuYWJsZSkKPiArCQlzcHJjdGwgfD0gU1BfR0FNTUFfRU5BQkxFOwo+ICsK PiArCXJldHVybiBzcHJjdGw7Cj4gIH0KPiAgCj4gIHN0YXRpYyB1MzIgdmx2X3Nwcml0ZV9jdGwo Y29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCj4gQEAgLTkxNSw3ICs5 MjAsOCBAQCBzdGF0aWMgdTMyIGl2Yl9zcHJpdGVfY3RsX2NydGMoY29uc3Qgc3RydWN0IGludGVs X2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPmJhc2UuY3J0Yy0+ZGV2KTsKPiAgCXUzMiBzcHJj dGwgPSAwOwo+ICAKPiAtCXNwcmN0bCB8PSBTUFJJVEVfR0FNTUFfRU5BQkxFOwo+ICsJaWYgKGNy dGNfc3RhdGUtPmdhbW1hX2VuYWJsZSkKPiArCQlzcHJjdGwgfD0gU1BSSVRFX0dBTU1BX0VOQUJM RTsKPiAgCj4gIAlpZiAoSVNfSEFTV0VMTChkZXZfcHJpdikgfHwgSVNfQlJPQURXRUxMKGRldl9w cml2KSkKPiAgCQlzcHJjdGwgfD0gU1BSSVRFX1BJUEVfQ1NDX0VOQUJMRTsKPiBAQCAtMTEwMSw3 ICsxMTA3LDEyIEBAIGc0eF9zcHJpdGVfbWF4X3N0cmlkZShzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBs YW5lLAo+ICAKPiAgc3RhdGljIHUzMiBnNHhfc3ByaXRlX2N0bF9jcnRjKGNvbnN0IHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ICB7Cj4gLQlyZXR1cm4gRFZTX0dBTU1BX0VO QUJMRTsKPiArCXUzMiBkdnNjbnRyID0gMDsKPiArCj4gKwlpZiAoY3J0Y19zdGF0ZS0+Z2FtbWFf ZW5hYmxlKQo+ICsJCWR2c2NudHIgfD0gRFZTX0dBTU1BX0VOQUJMRTsKPiArCj4gKwlyZXR1cm4g ZHZzY250cjsKPiAgfQo+ICAKPiAgc3RhdGljIHUzMiBnNHhfc3ByaXRlX2N0bChjb25zdCBzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPiAtLSAKPiAyLjE5LjIKPiAKCi0tIApN YXR0IFJvcGVyCkdyYXBoaWNzIFNvZnR3YXJlIEVuZ2luZWVyCklvVEcgUGxhdGZvcm0gRW5hYmxp bmcgJiBEZXZlbG9wbWVudApJbnRlbCBDb3Jwb3JhdGlvbgooOTE2KSAzNTYtMjc5NQpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGlu ZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK