From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH 2/2] drm/i915: CABC support for backlight control Date: Mon, 21 Mar 2016 15:27:08 +0200 Message-ID: <87h9g0yn9v.fsf@intel.com> References: <1457431292-29768-1-git-send-email-m.deepak@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTP id 6CAE76E5C1 for ; Mon, 21 Mar 2016 13:27:11 +0000 (UTC) In-Reply-To: <1457431292-29768-1-git-send-email-m.deepak@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: Deepak M , Daniel Vetter , Yetunde Adebisi List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCAwOCBNYXIgMjAxNiwgRGVlcGFrIE0gPG0uZGVlcGFrQGludGVsLmNvbT4gd3JvdGU6 Cj4gSW4gQ0FCQyAoQ29udGVudCBBZGFwdGl2ZSBCcmlnaHRuZXNzIENvbnRyb2wpIGNvbnRlbnQg Z3JleSBsZXZlbAo+IHNjYWxlIGNhbiBiZSBpbmNyZWFzZWQgd2hpbGUgc2ltdWx0YW5lb3VzbHkg ZGVjcmVhc2luZwo+IGJyaWdodG5lc3Mgb2YgdGhlIGJhY2tsaWdodCB0byBhY2hpZXZlIHNhbWUg cGVyY2VpdmVkIGJyaWdodG5lc3MuCj4KPiBUaGUgQ0FCQyBpcyBub3Qgc3RhbmRhcmRpemVkIGFu ZCBwYW5lbCB2ZW5kb3JzIGFyZSBmcmVlIHRvIGZvbGxvdwo+IHRoZWlyIGltcGxlbWVudGF0aW9u LiBUaGUgQ0FCQyBpbXBsZW1lbnRhaW9uIGhlcmUgYXNzdW1lcyB0aGF0IHRoZQo+IHBhbmVscyB1 c2Ugc3RhbmRhcmQgU1cgcmVnaXN0ZXIgZm9yIGNvbnRyb2wuCj4KPiBJbiB0aGlzIGRlc2lnbiB0 aGVyZSB3aWxsIGJlIG5vIFBXTSBzaWduYWwgZnJvbSB0aGUgU29DIGFuZCBEQ1MKPiBjb21tYW5k cyBhcmUgc2VudCB0byBlbmFibGUgYW5kIGNvbnRyb2wgdGhlIGJhY2tsaWdodCBicmlnaHRuZXNz Lgo+Cj4gdjI6IE1vdmluZyB0aGUgQ0FCQyBia2wgZnVuY3Rpb25zIHRvIG5ldyBmaWxlLihKYW5p KQo+Cj4gdjM6IFJlYmFzZQoKVGhpcyBubyBsb25nZXIgYXBwbGllcyB0byBjdXJyZW50IG5pZ2h0 bHkuIFBsZWFzZSByZWJhc2UgYW5kIHBvc3QgYm90aApwYXRjaGVzLgoKQlIsCkphbmkuCgoKCj4K PiBDYzogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGludGVsLmNvbT4KPiBDYzogRGFuaWVsIFZl dHRlciA8ZGFuaWVsLnZldHRlckBpbnRlbC5jb20+Cj4gQ2M6IFlldHVuZGUgQWRlYmlzaSA8eWV0 dW5kZXguYWRlYmlzaUBpbnRlbC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogRGVlcGFrIE0gPG0uZGVl cGFrQGludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUgICAg ICAgICB8ICAgMSArCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICAgfCAg IDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmMgICAgICB8ICAxNyArKyst Cj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5oICAgICAgfCAgIDQgKwo+ICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2lfY2FiYy5jIHwgMTc5ICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGFuZWwuYyAg ICB8ICAgNCArCj4gIDYgZmlsZXMgY2hhbmdlZCwgMjA1IGluc2VydGlvbnMoKyksIDIgZGVsZXRp b25zKC0pCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k c2lfY2FiYy5jCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZQo+IGluZGV4IDA4NTFkZTA3Li5kNTAzMWRm IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUKPiBAQCAtODEsNiArODEsNyBAQCBpOTE1LXkgKz0g ZHZvX2NoNzAxNy5vIFwKPiAgCSAgaW50ZWxfZHBfbXN0Lm8gXAo+ICAJICBpbnRlbF9kcC5vIFwK PiAgCSAgaW50ZWxfZHNpLm8gXAo+ICsJICBpbnRlbF9kc2lfY2FiYy5vIFwKPiAgCSAgaW50ZWxf ZHNpX3BhbmVsX3ZidC5vIFwKPiAgCSAgaW50ZWxfZHNpX3BsbC5vIFwKPiAgCSAgaW50ZWxfZHZv Lm8gXAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+IGluZGV4IGYzN2FjMTIuLmQ3N2ViMWYgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiBAQCAtMzUwMSw3ICszNTAxLDcgQEAgdm9pZCBp bnRlbF9zYmlfd3JpdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1MTYgcmVn LCB1MzIgdmFsdWUsCj4gIAkJICAgICBlbnVtIGludGVsX3NiaV9kZXN0aW5hdGlvbiBkZXN0aW5h dGlvbik7Cj4gIHUzMiB2bHZfZmxpc2RzaV9yZWFkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiwgdTMyIHJlZyk7Cj4gIHZvaWQgdmx2X2ZsaXNkc2lfd3JpdGUoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LCB1MzIgcmVnLCB1MzIgdmFsKTsKPiAtCj4gK2ludCBpbnRl bF9kc2lfY2FiY19pbml0X2JhY2tsaWdodF9mdW5jcyhzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpp bnRlbF9jb25uZWN0b3IpOwo+ICBpbnQgaW50ZWxfZ3B1X2ZyZXEoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2LCBpbnQgdmFsKTsKPiAgaW50IGludGVsX2ZyZXFfb3Bjb2RlKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgaW50IHZhbCk7Cj4gIAo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RzaS5jCj4gaW5kZXggMDFiOGU5Zi4uMThlZDkwMiAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RzaS5jCj4gQEAgLTExNzAsOCArMTE3MCwyMyBAQCB2b2lkIGludGVsX2RzaV9pbml0 KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIAkJaW50ZWxfZHNpLT5wb3J0cyA9ICgxIDw8IFBP UlRfQyk7Cj4gIAl9Cj4gIAo+IC0JaWYgKGRldl9wcml2LT52YnQuZHNpLmNvbmZpZy0+ZHVhbF9s aW5rKQo+ICsJaWYgKGRldl9wcml2LT52YnQuZHNpLmNvbmZpZy0+ZHVhbF9saW5rKSB7Cj4gIAkJ aW50ZWxfZHNpLT5wb3J0cyA9ICgoMSA8PCBQT1JUX0EpIHwgKDEgPDwgUE9SVF9DKSk7Cj4gKwkJ c3dpdGNoIChkZXZfcHJpdi0+dmJ0LmRzaS5jb25maWctPmRsX2NhYmNfcG9ydCkgewo+ICsJCWNh c2UgQ0FCQ19QT1JUX0E6Cj4gKwkJCWludGVsX2RzaS0+YmtsX2Rjc19wb3J0cyA9ICgxIDw8IFBP UlRfQSk7Cj4gKwkJCWJyZWFrOwo+ICsJCWNhc2UgQ0FCQ19QT1JUX0M6Cj4gKwkJCWludGVsX2Rz aS0+YmtsX2Rjc19wb3J0cyA9ICgxIDw8IFBPUlRfQyk7Cj4gKwkJCWJyZWFrOwo+ICsJCWNhc2Ug Q0FCQ19QT1JUX0FfQU5EX0M6Cj4gKwkJCWludGVsX2RzaS0+YmtsX2Rjc19wb3J0cyA9IGludGVs X2RzaS0+cG9ydHM7Cj4gKwkJCWJyZWFrOwo+ICsJCWRlZmF1bHQ6Cj4gKwkJCURSTV9FUlJPUigi VW5rbm93biBNSVBJIHBvcnRzIGZvciBzZW5kaW5nIERDU1xuIik7Cj4gKwkJfQo+ICsJfSBlbHNl Cj4gKwkJaW50ZWxfZHNpLT5ia2xfZGNzX3BvcnRzID0gaW50ZWxfZHNpLT5wb3J0czsKPiAgCj4g IAkvKiBDcmVhdGUgYSBEU0kgaG9zdCAoYW5kIGEgZGV2aWNlKSBmb3IgZWFjaCBwb3J0LiAqLwo+ ICAJZm9yX2VhY2hfZHNpX3BvcnQocG9ydCwgaW50ZWxfZHNpLT5wb3J0cykgewo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuaCBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RzaS5oCj4gaW5kZXggZTlmZGZlYy4uYzUxZmQyMiAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RzaS5oCj4gQEAgLTM2LDYgKzM2LDEwIEBACj4gIAo+ICBpbnQgZHNpX3BpeGVs X2Zvcm1hdF9icHAoaW50IHBpeGVsX2Zvcm1hdCk7Cj4gIAo+ICsjZGVmaW5lIENBQkNfUE9SVF9B ICAgICAgICAgICAgICAgICAgICAgMHgwMAo+ICsjZGVmaW5lIENBQkNfUE9SVF9DICAgICAgICAg ICAgICAgICAgICAgMHgwMQo+ICsjZGVmaW5lIENBQkNfUE9SVF9BX0FORF9DICAgICAgICAgICAg ICAgMHgwMgo+ICsKPiAgc3RydWN0IGludGVsX2RzaV9ob3N0Owo+ICAKPiAgc3RydWN0IGludGVs X2RzaSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaV9jYWJj LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2lfY2FiYy5jCj4gbmV3IGZpbGUgbW9k ZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi5kMTRhNjY5Cj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaV9jYWJjLmMKPiBAQCAtMCwwICsxLDE3OSBA QAo+ICsvKgo+ICsgKiBDb3B5cmlnaHQgwqkgMjAwNi0yMDEwIEludGVsIENvcnBvcmF0aW9uCj4g KyAqCj4gKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0 byBhbnkgcGVyc29uIG9idGFpbmluZyBhCj4gKyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQg YXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksCj4gKyAqIHRv IGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRo b3V0IGxpbWl0YXRpb24KPiArICogdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVy Z2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCj4gKyAqIGFuZC9vciBzZWxsIGNv cGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZQo+ ICsgKiBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxv d2luZyBjb25kaXRpb25zOgo+ICsgKgo+ICsgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBh bmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSAoaW5jbHVkaW5nIHRoZSBuZXh0Cj4gKyAqIHBhcmFn cmFwaCkgc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0 aW9ucyBvZiB0aGUKPiArICogU29mdHdhcmUuCj4gKyAqCj4gKyAqIFRIRSBTT0ZUV0FSRSBJUyBQ Uk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9S Cj4gKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJ RVMgT0YgTUVSQ0hBTlRBQklMSVRZLAo+ICsgKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS UE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiAgSU4gTk8gRVZFTlQgU0hBTEwKPiArICogVEhFIEFV VEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFH RVMgT1IgT1RIRVIKPiArICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05U UkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKPiArICogRlJPTSwgT1VUIE9GIE9SIElO IENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgo+ICsgKiBE RUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCj4gKyAqCj4gKyAqIEF1dGhvcjogRGVlcGFrIE0gPG0u ZGVlcGFrIGF0IGludGVsLmNvbT4KPiArICovCj4gKwo+ICsjaW5jbHVkZSAiaW50ZWxfZHJ2Lmgi Cj4gKyNpbmNsdWRlICJpbnRlbF9kc2kuaCIKPiArI2luY2x1ZGUgImk5MTVfZHJ2LmgiCj4gKyNp bmNsdWRlIDxkcm0vZHJtX21pcGlfZHNpLmg+Cj4gKwo+ICsjZGVmaW5lIENBQkNfT0ZGICAgICAg ICAgICAgICAgICAgICAgICAgKDAgPDwgMCkKPiArI2RlZmluZSBDQUJDX1VTRVJfSU5URVJGQUNF X0lNQUdFICAgICAgICgxIDw8IDApCj4gKyNkZWZpbmUgQ0FCQ19TVElMTF9QSUNUVVJFICAgICAg ICAgICAgICAoMiA8PCAwKQo+ICsjZGVmaW5lIENBQkNfVklERU9fTU9ERSAgICAgICAgICAgICAg ICAgKDMgPDwgMCkKPiArCj4gKyNkZWZpbmUgQ0FCQ19CQUNLTElHSFQgICAgICAgICAgICAgICAg ICAoMSA8PCAyKQo+ICsjZGVmaW5lIENBQkNfRElNTUlOR19ESVNQTEFZICAgICAgICAgICAgKDEg PDwgMykKPiArI2RlZmluZSBDQUJDX0JDVFJMICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDUp Cj4gKwo+ICsjZGVmaW5lIENBQkNfTUFYX1ZBTFVFICAgICAgICAgICAgICAgICAgMHhGRgo+ICsK PiArI2RlZmluZSBNSVBJX0RDU19DQUJDX0xFVkVMX1JEICAgICAgICAgIDB4NTIKPiArI2RlZmlu ZSBNSVBJX0RDU19DQUJDX01JTl9CUklHSFRORVNTX1JEIDB4NUYKPiArI2RlZmluZSBNSVBJX0RD U19DQUJDX0NPTlRST0xfUkQgICAgICAgIDB4NTYKPiArI2RlZmluZSBNSVBJX0RDU19DQUJDX0NP TlRST0xfQlJJR0hUX1JEIDB4NTQKPiArI2RlZmluZSBNSVBJX0RDU19DQUJDX0xFVkVMX1dSICAg ICAgICAgIDB4NTEKPiArI2RlZmluZSBNSVBJX0RDU19DQUJDX01JTl9CUklHSFRORVNTX1dSIDB4 NUUKPiArI2RlZmluZSBNSVBJX0RDU19DQUJDX0NPTlRST0xfV1IgICAgICAgIDB4NTUKPiArI2Rl ZmluZSBNSVBJX0RDU19DQUJDX0NPTlRST0xfQlJJR0hUX1dSIDB4NTMKPiArCj4gK3N0YXRpYyB1 MzIgY2FiY19nZXRfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikK PiArewo+ICsJc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpID0gTlVMTDsKPiArCXN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyID0gTlVMTDsKPiArCXN0cnVjdCBtaXBpX2RzaV9kZXZpY2Ug KmRzaV9kZXZpY2U7Cj4gKwl1OCBkYXRhWzJdID0gezB9Owo+ICsJZW51bSBwb3J0IHBvcnQ7Cj4g Kwo+ICsJZW5jb2RlciA9IGNvbm5lY3Rvci0+ZW5jb2RlcjsKPiArCWludGVsX2RzaSA9IGVuY190 b19pbnRlbF9kc2koJmVuY29kZXItPmJhc2UpOwo+ICsKPiArCWZvcl9lYWNoX2RzaV9wb3J0KHBv cnQsIGludGVsX2RzaS0+YmtsX2Rjc19wb3J0cykgewo+ICsJCWRzaV9kZXZpY2UgPSBpbnRlbF9k c2ktPmRzaV9ob3N0c1twb3J0XS0+ZGV2aWNlOwo+ICsJCW1pcGlfZHNpX2Rjc19yZWFkKGRzaV9k ZXZpY2UsIE1JUElfRENTX0NBQkNfTEVWRUxfUkQsIGRhdGEsIDIpOwo+ICsJfQo+ICsKPiArCXJl dHVybiBkYXRhWzFdOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBjYWJjX3NldF9iYWNrbGlnaHQo c3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLCB1MzIgbGV2ZWwpCj4gK3sKPiArCXN0 cnVjdCBpbnRlbF9kc2kgKmludGVsX2RzaSA9IE5VTEw7Cj4gKwlzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqZW5jb2RlciA9IE5VTEw7Cj4gKwlzdHJ1Y3QgbWlwaV9kc2lfZGV2aWNlICpkc2lfZGV2aWNl Owo+ICsJdTggZGF0YVsyXSA9IHswfTsKPiArCWVudW0gcG9ydCBwb3J0Owo+ICsKPiArCWVuY29k ZXIgPSBjb25uZWN0b3ItPmVuY29kZXI7Cj4gKwlpbnRlbF9kc2kgPSBlbmNfdG9faW50ZWxfZHNp KCZlbmNvZGVyLT5iYXNlKTsKPiArCj4gKwlmb3JfZWFjaF9kc2lfcG9ydChwb3J0LCBpbnRlbF9k c2ktPmJrbF9kY3NfcG9ydHMpIHsKPiArCQlkc2lfZGV2aWNlID0gaW50ZWxfZHNpLT5kc2lfaG9z dHNbcG9ydF0tPmRldmljZTsKPiArCQlkYXRhWzFdID0gbGV2ZWw7Cj4gKwkJZGF0YVswXSA9IE1J UElfRENTX0NBQkNfTEVWRUxfV1I7Cj4gKwkJbWlwaV9kc2lfZGNzX3dyaXRlX2J1ZmZlcihkc2lf ZGV2aWNlLCBkYXRhLCAyKTsKPiArCX0KPiArfQo+ICsKPiArc3RhdGljIHZvaWQgY2FiY19kaXNh YmxlX2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCj4gK3sKPiAr CXN0cnVjdCBpbnRlbF9kc2kgKmludGVsX2RzaSA9IE5VTEw7Cj4gKwlzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqZW5jb2RlciA9IE5VTEw7Cj4gKwlzdHJ1Y3QgbWlwaV9kc2lfZGV2aWNlICpkc2lfZGV2 aWNlOwo+ICsJZW51bSBwb3J0IHBvcnQ7Cj4gKwl1OCBkYXRhWzJdID0gezB9Owo+ICsKPiArCWVu Y29kZXIgPSBjb25uZWN0b3ItPmVuY29kZXI7Cj4gKwlpbnRlbF9kc2kgPSBlbmNfdG9faW50ZWxf ZHNpKCZlbmNvZGVyLT5iYXNlKTsKPiArCj4gKwljYWJjX3NldF9iYWNrbGlnaHQoY29ubmVjdG9y LCAwKTsKPiArCj4gKwlmb3JfZWFjaF9kc2lfcG9ydChwb3J0LCBpbnRlbF9kc2ktPmJrbF9kY3Nf cG9ydHMpIHsKPiArCQlkc2lfZGV2aWNlID0gaW50ZWxfZHNpLT5kc2lfaG9zdHNbcG9ydF0tPmRl dmljZTsKPiArCQlkYXRhWzFdID0gQ0FCQ19PRkY7Cj4gKwkJZGF0YVswXSA9IE1JUElfRENTX0NB QkNfQ09OVFJPTF9XUjsKPiArCQltaXBpX2RzaV9kY3Nfd3JpdGVfYnVmZmVyKGRzaV9kZXZpY2Us IGRhdGEsIDIpOwo+ICsJCWRhdGFbMF0gPSBNSVBJX0RDU19DQUJDX0NPTlRST0xfQlJJR0hUX1dS Owo+ICsJCW1pcGlfZHNpX2Rjc193cml0ZV9idWZmZXIoZHNpX2RldmljZSwgZGF0YSwgMik7Cj4g Kwl9Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIGNhYmNfZW5hYmxlX2JhY2tsaWdodChzdHJ1Y3Qg aW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCj4gK3sKPiArCXN0cnVjdCBpbnRlbF9kc2kgKmlu dGVsX2RzaSA9IE5VTEw7Cj4gKwlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciA9IE5VTEw7 Cj4gKwlzdHJ1Y3QgaW50ZWxfcGFuZWwgKnBhbmVsID0gJmNvbm5lY3Rvci0+cGFuZWw7Cj4gKwlz dHJ1Y3QgbWlwaV9kc2lfZGV2aWNlICpkc2lfZGV2aWNlOwo+ICsJZW51bSBwb3J0IHBvcnQ7Cj4g Kwl1OCBkYXRhWzJdID0gezB9Owo+ICsKPiArCWVuY29kZXIgPSBjb25uZWN0b3ItPmVuY29kZXI7 Cj4gKwlpbnRlbF9kc2kgPSBlbmNfdG9faW50ZWxfZHNpKCZlbmNvZGVyLT5iYXNlKTsKPiArCj4g Kwlmb3JfZWFjaF9kc2lfcG9ydChwb3J0LCBpbnRlbF9kc2ktPmJrbF9kY3NfcG9ydHMpIHsKPiAr CQlkc2lfZGV2aWNlID0gaW50ZWxfZHNpLT5kc2lfaG9zdHNbcG9ydF0tPmRldmljZTsKPiArCQlk YXRhWzBdID0gTUlQSV9EQ1NfQ0FCQ19DT05UUk9MX0JSSUdIVF9XUjsKPiArCQlkYXRhWzFdID0g Q0FCQ19CQUNLTElHSFQgfCBDQUJDX0RJTU1JTkdfRElTUExBWSB8IENBQkNfQkNUUkw7Cj4gKwkJ bWlwaV9kc2lfZGNzX3dyaXRlX2J1ZmZlcihkc2lfZGV2aWNlLCBkYXRhLCAyKTsKPiArCQlkYXRh WzBdID0gTUlQSV9EQ1NfQ0FCQ19DT05UUk9MX1dSOwo+ICsJCWRhdGFbMV0gPSBDQUJDX1NUSUxM X1BJQ1RVUkU7Cj4gKwkJbWlwaV9kc2lfZGNzX3dyaXRlX2J1ZmZlcihkc2lfZGV2aWNlLCBkYXRh LCAyKTsKPiArCX0KPiArCj4gKwljYWJjX3NldF9iYWNrbGlnaHQoY29ubmVjdG9yLCBwYW5lbC0+ YmFja2xpZ2h0LmxldmVsKTsKPiArfQo+ICsKPiArc3RhdGljIGludCBjYWJjX3NldHVwX2JhY2ts aWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IsCj4gKwkJZW51bSBwaXBlIHVu dXNlZCkKPiArewo+ICsJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNvbm5lY3Rvci0+YmFzZS5k ZXY7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2 YXRlOwo+ICsJc3RydWN0IGludGVsX3BhbmVsICpwYW5lbCA9ICZjb25uZWN0b3ItPnBhbmVsOwo+ ICsKPiArCWlmIChkZXZfcHJpdi0+dmJ0LmJhY2tsaWdodC5wcmVzZW50KQo+ICsJCXBhbmVsLT5i YWNrbGlnaHQucHJlc2VudCA9IHRydWU7Cj4gKwllbHNlIHsKPiArCQlEUk1fRVJST1IoIm5vIGJh Y2tsaWdodCBwcmVzZW50IHBlciBWQlRcbiIpOwo+ICsJCXJldHVybiAwOwo+ICsJfQo+ICsKPiAr CXBhbmVsLT5iYWNrbGlnaHQubWF4ID0gQ0FCQ19NQVhfVkFMVUU7Cj4gKwlwYW5lbC0+YmFja2xp Z2h0LmxldmVsID0gQ0FCQ19NQVhfVkFMVUU7Cj4gKwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4g K2ludCBpbnRlbF9kc2lfY2FiY19pbml0X2JhY2tsaWdodF9mdW5jcyhzdHJ1Y3QgaW50ZWxfY29u bmVjdG9yICppbnRlbF9jb25uZWN0b3IpCj4gK3sKPiArCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYg PSBpbnRlbF9jb25uZWN0b3ItPmJhc2UuZGV2Owo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiArCXN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyID0gaW50ZWxfY29ubmVjdG9yLT5lbmNvZGVyOwo+ICsJc3RydWN0IGludGVsX3BhbmVs ICpwYW5lbCA9ICZpbnRlbF9jb25uZWN0b3ItPnBhbmVsOwo+ICsKPiArCWlmICghZGV2X3ByaXYt PnZidC5kc2kuY29uZmlnLT5jYWJjX3N1cHBvcnRlZCkKPiArCQlyZXR1cm4gLUVJTlZBTDsKPiAr Cj4gKwlpZiAoZW5jb2Rlci0+dHlwZSAhPSBJTlRFTF9PVVRQVVRfRFNJKSB7Cj4gKwkJRFJNX0VS Uk9SKCJVc2UgRFNJIGVuY29kZXIgZm9yIENBQkNcbiIpOwo+ICsJCXJldHVybiAtRUlOVkFMOwo+ ICsJfQo+ICsKPiArCXBhbmVsLT5iYWNrbGlnaHQuc2V0dXAgPSBjYWJjX3NldHVwX2JhY2tsaWdo dDsKPiArCXBhbmVsLT5iYWNrbGlnaHQuZW5hYmxlID0gY2FiY19lbmFibGVfYmFja2xpZ2h0Owo+ ICsJcGFuZWwtPmJhY2tsaWdodC5kaXNhYmxlID0gY2FiY19kaXNhYmxlX2JhY2tsaWdodDsKPiAr CXBhbmVsLT5iYWNrbGlnaHQuc2V0ID0gY2FiY19zZXRfYmFja2xpZ2h0Owo+ICsJcGFuZWwtPmJh Y2tsaWdodC5nZXQgPSBjYWJjX2dldF9iYWNrbGlnaHQ7Cj4gKwo+ICsJcmV0dXJuIDA7Cj4gK30K PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGFuZWwuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMKPiBpbmRleCAwZmUwNTliLi4yMTJmMjQyIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wYW5lbC5jCj4gQEAgLTE3MTgsNiArMTcxOCwxMCBA QCBpbnRlbF9wYW5lbF9pbml0X2JhY2tsaWdodF9mdW5jcyhzdHJ1Y3QgaW50ZWxfcGFuZWwgKnBh bmVsKQo+ICAJCWNvbnRhaW5lcl9vZihwYW5lbCwgc3RydWN0IGludGVsX2Nvbm5lY3RvciwgcGFu ZWwpOwo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjb25u ZWN0b3ItPmJhc2UuZGV2KTsKPiAgCj4gKwlpZiAoY29ubmVjdG9yLT5iYXNlLmNvbm5lY3Rvcl90 eXBlID09IERSTV9NT0RFX0NPTk5FQ1RPUl9EU0kgJiYKPiArCQkJaW50ZWxfZHNpX2NhYmNfaW5p dF9iYWNrbGlnaHRfZnVuY3MoY29ubmVjdG9yKSA9PSAwKQo+ICsJCXJldHVybjsKPiArCj4gIAlp ZiAoSVNfQlJPWFRPTihkZXZfcHJpdikpIHsKPiAgCQlwYW5lbC0+YmFja2xpZ2h0LnNldHVwID0g Ynh0X3NldHVwX2JhY2tsaWdodDsKPiAgCQlwYW5lbC0+YmFja2xpZ2h0LmVuYWJsZSA9IGJ4dF9l bmFibGVfYmFja2xpZ2h0OwoKLS0gCkphbmkgTmlrdWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBUZWNo bm9sb2d5IENlbnRlcgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngK