From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH v4 08/10] drm/i915/dsb: Enable gamma lut programming using DSB. Date: Fri, 30 Aug 2019 16:32:07 +0300 Message-ID: <878sra6ap4.fsf@intel.com> References: <20190830124533.26573-1-animesh.manna@intel.com> <20190830124533.26573-9-animesh.manna@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id EB20C6E33F for ; Fri, 30 Aug 2019 13:32:17 +0000 (UTC) In-Reply-To: <20190830124533.26573-9-animesh.manna@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Animesh Manna , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCAzMCBBdWcgMjAxOSwgQW5pbWVzaCBNYW5uYSA8YW5pbWVzaC5tYW5uYUBpbnRlbC5j b20+IHdyb3RlOgo+IEdhbW1hIGx1dCBwcm9ncmFtbWluZyBjYW4gYmUgcHJvZ3JhbW1lZCB1c2lu ZyBEU0IKPiB3aGVyZSBidWxrIHJlZ2lzdGVyIHByb2dyYW1taW5nIGNhbiBiZSBkb25lIHVzaW5n IGluZGV4ZWQKPiByZWdpc3RlciB3cml0ZSB3aGljaCB0YWtlcyBudW1iZXIgb2YgZGF0YSBhbmQg dGhlIG1taW8gb2Zmc2V0Cj4gdG8gYmUgd3JpdHRlbi4KPgo+IHYxOiBJbml0aWFsIHZlcnNpb24u Cj4gdjI6IERpcmVjdGx5IGNhbGwgZHNiLWFwaSBhdCBjYWxsc2l0ZXMuIChKYW5pKQo+Cj4gQ2M6 IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBpbnRlbC5jb20+Cj4gQ2M6IFJvZHJpZ28gVml2aSA8 cm9kcmlnby52aXZpQGludGVsLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBBbmltZXNoIE1hbm5hIDxh bmltZXNoLm1hbm5hQGludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9jb2xvci5jIHwgNjQgKysrKysrKysrKysrKystLS0tLS0tLQo+ICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgICAgfCAgMiArCj4gIDIgZmlsZXMgY2hh bmdlZCwgNDMgaW5zZXJ0aW9ucygrKSwgMjMgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jb2xvci5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jb2xvci5jCj4gaW5kZXggNzFhMDIwMTQzN2E5Li5lNDA5 MGQ4ZTQ1NDcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9jb2xvci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jb2xv ci5jCj4gQEAgLTU4OSwzNCArNTg5LDM4IEBAIHN0YXRpYyB2b2lkIGJkd19sb2FkX2x1dF8xMChz dHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKPiAgCWNvbnN0IHN0cnVjdCBkcm1fY29sb3JfbHV0ICps dXQgPSBibG9iLT5kYXRhOwo+ICAJaW50IGksIGx1dF9zaXplID0gZHJtX2NvbG9yX2x1dF9zaXpl KGJsb2IpOwo+ICAJZW51bSBwaXBlIHBpcGUgPSBjcnRjLT5waXBlOwo+ICsJc3RydWN0IGludGVs X2RzYiAqZHNiID0gZGV2X3ByaXYtPmRzYjsKCk5vLiBEb24ndCBwdXQgZHNiIGluIGRldl9wcml2 LiBZb3UgaGF2ZSAxMiBEU0IgZW5naW5lcywgMyBwZXIgcGlwZS4gWW91CmhhdmUgaW50ZWxfY3J0 YyBmb3IgdGhhdC4KCldhcyB0aGlzIG5vdCBjbGVhciBmcm9tIG15IHByZXZpb3VzIHJldmlldz8K CllvdSBoYXZlIHRvbnMgb2YgZnVuY3Rpb25zIGhlcmUgdGhhdCB3aWxsIG5ldmVyIGhhdmUgYSBE U0IgZW5naW5lLCBpdAptYWtlcyBubyBzZW5zZSB0byBjb252ZXJ0IGFsbCBvZiB0aGVtIHRvIHVz ZSB0aGUgRFNCLgoKPiAgCj4gLQlJOTE1X1dSSVRFKFBSRUNfUEFMX0lOREVYKHBpcGUpLCBwcmVj X2luZGV4IHwKPiAtCQkgICBQQUxfUFJFQ19BVVRPX0lOQ1JFTUVOVCk7Cj4gKwlpbnRlbF9kc2Jf cmVnX3dyaXRlKGRzYiwgUFJFQ19QQUxfSU5ERVgocGlwZSksCj4gKwkJCSAgICBwcmVjX2luZGV4 IHwgUEFMX1BSRUNfQVVUT19JTkNSRU1FTlQpOwo+ICAKPiAgCWZvciAoaSA9IDA7IGkgPCBod19s dXRfc2l6ZTsgaSsrKSB7Cj4gIAkJLyogV2UgZGlzY2FyZCBoYWxmIHRoZSB1c2VyIGVudHJpZXMg aW4gc3BsaXQgZ2FtbWEgbW9kZSAqLwo+ICAJCWNvbnN0IHN0cnVjdCBkcm1fY29sb3JfbHV0ICpl bnRyeSA9Cj4gIAkJCSZsdXRbaSAqIChsdXRfc2l6ZSAtIDEpIC8gKGh3X2x1dF9zaXplIC0gMSld Owo+ICAKPiAtCQlJOTE1X1dSSVRFKFBSRUNfUEFMX0RBVEEocGlwZSksIGlsa19sdXRfMTAoZW50 cnkpKTsKPiArCQlpbnRlbF9kc2JfaW5kZXhlZF9yZWdfd3JpdGUoZHNiLCBQUkVDX1BBTF9EQVRB KHBpcGUpLAo+ICsJCQkJCSAgICBpbGtfbHV0XzEwKGVudHJ5KSk7Cj4gIAl9Cj4gIAo+ICAJLyoK PiAgCSAqIFJlc2V0IHRoZSBpbmRleCwgb3RoZXJ3aXNlIGl0IHByZXZlbnRzIHRoZSBsZWdhY3kg cGFsZXR0ZSB0byBiZQo+ICAJICogd3JpdHRlbiBwcm9wZXJseS4KPiAgCSAqLwo+IC0JSTkxNV9X UklURShQUkVDX1BBTF9JTkRFWChwaXBlKSwgMCk7Cj4gKwlpbnRlbF9kc2JfcmVnX3dyaXRlKGRz YiwgUFJFQ19QQUxfSU5ERVgocGlwZSksIDApOwo+ICB9Cj4gIAo+ICBzdGF0aWMgdm9pZCBpdmJf bG9hZF9sdXRfZXh0X21heChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKPiAgewo+ICAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7Cj4g KwlzdHJ1Y3QgaW50ZWxfZHNiICpkc2IgPSBkZXZfcHJpdi0+ZHNiOwo+ICAJZW51bSBwaXBlIHBp cGUgPSBjcnRjLT5waXBlOwo+ICAKPiAgCS8qIFByb2dyYW0gdGhlIG1heCByZWdpc3RlciB0byBj bGFtcCB2YWx1ZXMgPiAxLjAuICovCj4gLQlJOTE1X1dSSVRFKFBSRUNfUEFMX0VYVF9HQ19NQVgo cGlwZSwgMCksIDEgPDwgMTYpOwo+IC0JSTkxNV9XUklURShQUkVDX1BBTF9FWFRfR0NfTUFYKHBp cGUsIDEpLCAxIDw8IDE2KTsKPiAtCUk5MTVfV1JJVEUoUFJFQ19QQUxfRVhUX0dDX01BWChwaXBl LCAyKSwgMSA8PCAxNik7Cj4gKwlpbnRlbF9kc2JfcmVnX3dyaXRlKGRzYiwgUFJFQ19QQUxfRVhU X0dDX01BWChwaXBlLCAwKSwgMSA8PCAxNik7Cj4gKwlpbnRlbF9kc2JfcmVnX3dyaXRlKGRzYiwg UFJFQ19QQUxfRVhUX0dDX01BWChwaXBlLCAxKSwgMSA8PCAxNik7Cj4gKwlpbnRlbF9kc2JfcmVn X3dyaXRlKGRzYiwgUFJFQ19QQUxfRVhUX0dDX01BWChwaXBlLCAyKSwgMSA8PCAxNik7Cj4gKwo+ ICAKPiAgCS8qCj4gIAkgKiBQcm9ncmFtIHRoZSBnYyBtYXggMiByZWdpc3RlciB0byBjbGFtcCB2 YWx1ZXMgPiAxLjAuCj4gQEAgLTYyNCw5ICs2MjgsMTIgQEAgc3RhdGljIHZvaWQgaXZiX2xvYWRf bHV0X2V4dF9tYXgoc3RydWN0IGludGVsX2NydGMgKmNydGMpCj4gIAkgKiBmcm9tIDMuMCB0byA3 LjAKPiAgCSAqLwo+ICAJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gMTAgfHwgSVNfR0VNSU5J TEFLRShkZXZfcHJpdikpIHsKPiAtCQlJOTE1X1dSSVRFKFBSRUNfUEFMX0VYVDJfR0NfTUFYKHBp cGUsIDApLCAxIDw8IDE2KTsKPiAtCQlJOTE1X1dSSVRFKFBSRUNfUEFMX0VYVDJfR0NfTUFYKHBp cGUsIDEpLCAxIDw8IDE2KTsKPiAtCQlJOTE1X1dSSVRFKFBSRUNfUEFMX0VYVDJfR0NfTUFYKHBp cGUsIDIpLCAxIDw8IDE2KTsKPiArCQlpbnRlbF9kc2JfcmVnX3dyaXRlKGRzYiwgUFJFQ19QQUxf RVhUMl9HQ19NQVgocGlwZSwgMCksCj4gKwkJCQkgICAgMSA8PCAxNik7Cj4gKwkJaW50ZWxfZHNi X3JlZ193cml0ZShkc2IsIFBSRUNfUEFMX0VYVDJfR0NfTUFYKHBpcGUsIDEpLAo+ICsJCQkJICAg IDEgPDwgMTYpOwo+ICsJCWludGVsX2RzYl9yZWdfd3JpdGUoZHNiLCBQUkVDX1BBTF9FWFQyX0dD X01BWChwaXBlLCAyKSwKPiArCQkJCSAgICAxIDw8IDE2KTsKPiAgCX0KPiAgfQo+ICAKPiBAQCAt Nzg4LDEyICs3OTUsMTMgQEAgaWNsX2xvYWRfZ2NtYXgoY29uc3Qgc3RydWN0IGludGVsX2NydGNf c3RhdGUgKmNydGNfc3RhdGUsCj4gIHsKPiAgCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9f aW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOwo+ICAJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7Cj4gKwlzdHJ1Y3QgaW50 ZWxfZHNiICpkc2IgPSBkZXZfcHJpdi0+ZHNiOwo+ICAJZW51bSBwaXBlIHBpcGUgPSBjcnRjLT5w aXBlOwo+ICAKPiAgCS8qIEZpeG1lOiBMVVQgZW50cmllcyBhcmUgMTYgYml0IG9ubHksIHNvIHdl IGNhbiBwcm9nIDB4RkZGRiBtYXggKi8KPiAtCUk5MTVfV1JJVEUoUFJFQ19QQUxfR0NfTUFYKHBp cGUsIDApLCBjb2xvci0+cmVkKTsKPiAtCUk5MTVfV1JJVEUoUFJFQ19QQUxfR0NfTUFYKHBpcGUs IDEpLCBjb2xvci0+Z3JlZW4pOwo+IC0JSTkxNV9XUklURShQUkVDX1BBTF9HQ19NQVgocGlwZSwg MiksIGNvbG9yLT5ibHVlKTsKPiArCWludGVsX2RzYl9yZWdfd3JpdGUoZHNiLCBQUkVDX1BBTF9H Q19NQVgocGlwZSwgMCksIGNvbG9yLT5yZWQpOwo+ICsJaW50ZWxfZHNiX3JlZ193cml0ZShkc2Is IFBSRUNfUEFMX0dDX01BWChwaXBlLCAxKSwgY29sb3ItPmdyZWVuKTsKPiArCWludGVsX2RzYl9y ZWdfd3JpdGUoZHNiLCBQUkVDX1BBTF9HQ19NQVgocGlwZSwgMiksIGNvbG9yLT5ibHVlKTsKPiAg fQo+ICAKPiAgc3RhdGljIHZvaWQKPiBAQCAtODAzLDYgKzgxMSw3IEBAIGljbF9wcm9ncmFtX2dh bW1hX3N1cGVyZmluZV9zZWdtZW50KGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRj X3N0YXRlKQo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShj cnRjLT5iYXNlLmRldik7Cj4gIAljb25zdCBzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKmJsb2Ig PSBjcnRjX3N0YXRlLT5iYXNlLmdhbW1hX2x1dDsKPiAgCWNvbnN0IHN0cnVjdCBkcm1fY29sb3Jf bHV0ICpsdXQgPSBibG9iLT5kYXRhOwo+ICsJc3RydWN0IGludGVsX2RzYiAqZHNiID0gZGV2X3By aXYtPmRzYjsKPiAgCWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+cGlwZTsKPiAgCXUzMiBpOwo+ICAK PiBAQCAtODEzLDE1ICs4MjIsMTYgQEAgaWNsX3Byb2dyYW1fZ2FtbWFfc3VwZXJmaW5lX3NlZ21l bnQoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gIAkgKiBTdXBl cmZpbmUgc2VnbWVudCBoYXMgOSBlbnRyaWVzLCBjb3JyZXNwb25kaW5nIHRvIHZhbHVlcwo+ICAJ ICogMCwgMS8oOCAqIDEyOCAqIDI1NiksIDIvKDggKiAxMjggKiAyNTYpIC4uLi4gOC8oOCAqIDEy OCAqIDI1NikuCj4gIAkgKi8KPiAtCUk5MTVfV1JJVEUoUFJFQ19QQUxfTVVMVElfU0VHX0lOREVY KHBpcGUpLCBQQUxfUFJFQ19BVVRPX0lOQ1JFTUVOVCk7Cj4gKwlpbnRlbF9kc2JfcmVnX3dyaXRl KGRzYiwgUFJFQ19QQUxfTVVMVElfU0VHX0lOREVYKHBpcGUpLAo+ICsJCQkgICAgUEFMX1BSRUNf QVVUT19JTkNSRU1FTlQpOwo+ICAKPiAgCWZvciAoaSA9IDA7IGkgPCA5OyBpKyspIHsKPiAgCQlj b25zdCBzdHJ1Y3QgZHJtX2NvbG9yX2x1dCAqZW50cnkgPSAmbHV0W2ldOwo+ICAKPiAtCQlJOTE1 X1dSSVRFKFBSRUNfUEFMX01VTFRJX1NFR19EQVRBKHBpcGUpLAo+IC0JCQkgICBpbGtfbHV0XzEy cDRfbGR3KGVudHJ5KSk7Cj4gLQkJSTkxNV9XUklURShQUkVDX1BBTF9NVUxUSV9TRUdfREFUQShw aXBlKSwKPiAtCQkJICAgaWxrX2x1dF8xMnA0X3VkdyhlbnRyeSkpOwo+ICsJCWludGVsX2RzYl9p bmRleGVkX3JlZ193cml0ZShkc2IsIFBSRUNfUEFMX01VTFRJX1NFR19EQVRBKHBpcGUpLAo+ICsJ CQkJCSAgICBpbGtfbHV0XzEycDRfbGR3KGVudHJ5KSk7Cj4gKwkJaW50ZWxfZHNiX2luZGV4ZWRf cmVnX3dyaXRlKGRzYiwgUFJFQ19QQUxfTVVMVElfU0VHX0RBVEEocGlwZSksCj4gKwkJCQkJICAg IGlsa19sdXRfMTJwNF91ZHcoZW50cnkpKTsKPiAgCX0KPiAgfQo+ICAKPiBAQCAtODMzLDYgKzg0 Myw3IEBAIGljbF9wcm9ncmFtX2dhbW1hX211bHRpX3NlZ21lbnQoY29uc3Qgc3RydWN0IGludGVs X2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gIAljb25zdCBzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Js b2IgKmJsb2IgPSBjcnRjX3N0YXRlLT5iYXNlLmdhbW1hX2x1dDsKPiAgCWNvbnN0IHN0cnVjdCBk cm1fY29sb3JfbHV0ICpsdXQgPSBibG9iLT5kYXRhOwo+ICAJY29uc3Qgc3RydWN0IGRybV9jb2xv cl9sdXQgKmVudHJ5Owo+ICsJc3RydWN0IGludGVsX2RzYiAqZHNiID0gZGV2X3ByaXYtPmRzYjsK PiAgCWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+cGlwZTsKPiAgCXUzMiBpOwo+ICAKPiBAQCAtODQ3 LDExICs4NTgsMTMgQEAgaWNsX3Byb2dyYW1fZ2FtbWFfbXVsdGlfc2VnbWVudChjb25zdCBzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiAgCSAqIFBBTF9QUkVDX0lOREVYWzBd IGFuZCBQQUxfUFJFQ19JTkRFWFsxXSBtYXAgdG8gc2VnMlsxXSwKPiAgCSAqIHdpdGggc2VnMlsw XSBiZWluZyB1bnVzZWQgYnkgdGhlIGhhcmR3YXJlLgo+ICAJICovCj4gLQlJOTE1X1dSSVRFKFBS RUNfUEFMX0lOREVYKHBpcGUpLCBQQUxfUFJFQ19BVVRPX0lOQ1JFTUVOVCk7Cj4gKwlpbnRlbF9k c2JfcmVnX3dyaXRlKGRzYiwgUFJFQ19QQUxfSU5ERVgocGlwZSksIFBBTF9QUkVDX0FVVE9fSU5D UkVNRU5UKTsKPiAgCWZvciAoaSA9IDE7IGkgPCAyNTc7IGkrKykgewo+ICAJCWVudHJ5ID0gJmx1 dFtpICogOF07Cj4gLQkJSTkxNV9XUklURShQUkVDX1BBTF9EQVRBKHBpcGUpLCBpbGtfbHV0XzEy cDRfbGR3KGVudHJ5KSk7Cj4gLQkJSTkxNV9XUklURShQUkVDX1BBTF9EQVRBKHBpcGUpLCBpbGtf bHV0XzEycDRfdWR3KGVudHJ5KSk7Cj4gKwkJaW50ZWxfZHNiX2luZGV4ZWRfcmVnX3dyaXRlKGRz YiwgUFJFQ19QQUxfREFUQShwaXBlKSwKPiArCQkJCQkgICAgaWxrX2x1dF8xMnA0X2xkdyhlbnRy eSkpOwo+ICsJCWludGVsX2RzYl9pbmRleGVkX3JlZ193cml0ZShkc2IsIFBSRUNfUEFMX0RBVEEo cGlwZSksCj4gKwkJCQkJICAgIGlsa19sdXRfMTJwNF91ZHcoZW50cnkpKTsKPiAgCX0KPiAgCj4g IAkvKgo+IEBAIC04NjgsOCArODgxLDEwIEBAIGljbF9wcm9ncmFtX2dhbW1hX211bHRpX3NlZ21l bnQoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gIAkgKi8KPiAg CWZvciAoaSA9IDA7IGkgPCAyNTY7IGkrKykgewo+ICAJCWVudHJ5ID0gJmx1dFtpICogOCAqIDEy OF07Cj4gLQkJSTkxNV9XUklURShQUkVDX1BBTF9EQVRBKHBpcGUpLCBpbGtfbHV0XzEycDRfbGR3 KGVudHJ5KSk7Cj4gLQkJSTkxNV9XUklURShQUkVDX1BBTF9EQVRBKHBpcGUpLCBpbGtfbHV0XzEy cDRfdWR3KGVudHJ5KSk7Cj4gKwkJaW50ZWxfZHNiX2luZGV4ZWRfcmVnX3dyaXRlKGRzYiwgUFJF Q19QQUxfREFUQShwaXBlKSwKPiArCQkJCQkgICAgaWxrX2x1dF8xMnA0X2xkdyhlbnRyeSkpOwo+ ICsJCWludGVsX2RzYl9pbmRleGVkX3JlZ193cml0ZShkc2IsIFBSRUNfUEFMX0RBVEEocGlwZSks Cj4gKwkJCQkJICAgIGlsa19sdXRfMTJwNF91ZHcoZW50cnkpKTsKPiAgCX0KPiAgCj4gIAkvKiBU aGUgbGFzdCBlbnRyeSBpbiB0aGUgTFVUIGlzIHRvIGJlIHByb2dyYW1tZWQgaW4gR0NNQVggKi8K PiBAQCAtOTgwLDcgKzk5NSwxMCBAQCB2b2lkIGludGVsX2NvbG9yX2xvYWRfbHV0cyhjb25zdCBz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiAgewo+ICAJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT5iYXNlLmNydGMtPmRl dik7Cj4gIAo+ICsJZGV2X3ByaXYtPmRzYiA9IGludGVsX2RzYl9nZXQodG9faW50ZWxfY3J0Yyhj cnRjX3N0YXRlLT5iYXNlLmNydGMpKTsKCk5vLCBkb24ndCBkbyB0aGlzLiBEb24ndCBzdG9yZSBj cnRjIHNwZWNpZmljIGluZm8gaW4gYSBkZXZpY2UgZ2xvYmFsCnN0cnVjdHVyZS4KCj4gIAlkZXZf cHJpdi0+ZGlzcGxheS5sb2FkX2x1dHMoY3J0Y19zdGF0ZSk7Cj4gKwlpbnRlbF9kc2JfY29tbWl0 KGRldl9wcml2LT5kc2IpOwo+ICsJaW50ZWxfZHNiX3B1dChkZXZfcHJpdi0+ZHNiKTsKClBsZWFz ZSBsb2NhbGl6ZSB0aGUgdXNlIG9mIERTQiB3aGVyZSBuZWVkZWQuIE1vdmUgdGhlIGdldHMgYW5k IHB1dHMKd2l0aGluIHRoZSByZWxldmFudCBwbGF0Zm9ybSBzcGVjaWZpYyAtPmxvYWRfbHV0cyBo b29rcy4KCj4gIH0KPiAgCj4gIHZvaWQgaW50ZWxfY29sb3JfY29tbWl0KGNvbnN0IHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+IGlu ZGV4IDdhYTExZTNkZDQxMy4uOThmNTQ2YzRhZDQ5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5oCj4gQEAgLTE3NjAsNiArMTc2MCw4IEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlIHsKPiAg CS8qIE11dGV4IHRvIHByb3RlY3QgdGhlIGFib3ZlIGhkY3AgY29tcG9uZW50IHJlbGF0ZWQgdmFs dWVzLiAqLwo+ICAJc3RydWN0IG11dGV4IGhkY3BfY29tcF9tdXRleDsKPiAgCj4gKwlzdHJ1Y3Qg aW50ZWxfZHNiICpkc2I7Cj4gKwo+ICAJLyoKPiAgCSAqIE5PVEU6IFRoaXMgaXMgdGhlIGRyaTEv dW1zIGR1bmdlb24sIGRvbid0IGFkZCBzdHVmZiBoZXJlLiBZb3VyIHBhdGNoCj4gIAkgKiB3aWxs IGJlIHJlamVjdGVkLiBJbnN0ZWFkIGxvb2sgZm9yIGEgYmV0dGVyIHBsYWNlLgoKLS0gCkphbmkg TmlrdWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBHcmFwaGljcyBDZW50ZXIKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJ bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4