From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [MIPI CABC 2/2] drm/i915: CABC support for backlight control Date: Wed, 25 Nov 2015 14:26:36 +0200 Message-ID: <878u5m8dtv.fsf@intel.com> References: <1447705088-2395-1-git-send-email-m.deepak@intel.com> <1447705088-2395-3-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 mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id B138B6EB8E for ; Wed, 25 Nov 2015 04:22:34 -0800 (PST) In-Reply-To: <1447705088-2395-3-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 T24gTW9uLCAxNiBOb3YgMjAxNSwgRGVlcGFrIE0gPG0uZGVlcGFrQGludGVsLmNvbT4gd3JvdGU6 Cj4gSW4gQ0FCQyAoQ29udGVudCBBZGFwdGl2ZSBCcmlnaHRuZXNzIENvbnRyb2wpIGNvbnRlbnQg Z3JleSBsZXZlbAo+IHNjYWxlIGNhbiBiZSBpbmNyZWFzZWQgd2hpbGUgc2ltdWx0YW5lb3VzbHkg ZGVjcmVhc2luZwo+IGJyaWdodG5lc3Mgb2YgdGhlIGJhY2tsaWdodCB0byBhY2hpZXZlIHNhbWUg cGVyY2VpdmVkIGJyaWdodG5lc3MuCj4KPiBUaGUgQ0FCQyBpcyBub3Qgc3RhbmRhcmRpemVkIGFu ZCBwYW5lbCB2ZW5kb3JzIGFyZSBmcmVlIHRvIGZvbGxvdwo+IHRoZWlyIGltcGxlbWVudGF0aW9u LiBUaGUgQ0FCQyBpbXBsZW1lbnRhaW9uIGhlcmUgYXNzdW1lcyB0aGF0IHRoZQo+IHBhbmVscyB1 c2Ugc3RhbmRhcmQgU1cgcmVnaXN0ZXIgZm9yIGNvbnRyb2wuCj4KPiBJbiB0aGlzIGRlc2lnbiB0 aGVyZSB3aWxsIGJlIG5vIFBXTSBzaWduYWwgZnJvbSB0aGUgU29DIGFuZCBEQ1MKPiBjb21tYW5k cyBhcmUgc2VudCB0byBlbmFibGUgYW5kIGNvbnRyb2wgdGhlIGJhY2tsaWdodCBicmlnaHRuZXNz LgoKSSdkIGxpa2UgeW91IHRvIG1vdmUgdGhlIERTSSBEQ1MgYmFja2xpZ2h0IHN0dWZmIGZyb20g aW50ZWxfcGFuZWwuYyB0byBhCm5ldyBmaWxlLCBzYXksIGludGVsX2RzaV9kY3NfYmFja2xpZ2h0 LmMsIHNpbWlsYXIgdG8gd2hhdCBJIHRvbGQgWWV0dW5kZQp0byBkbyB3aXRoIERQIERQQ0QgYmFj a2xpZ2h0IFsxXS4KClsxXSBodHRwOi8vcGF0Y2h3b3JrLmZyZWVkZXNrdG9wLm9yZy9wYXRjaC9t c2dpZC8xNDQ3Njk4NTQ3LTkwMjctMS1naXQtc2VuZC1lbWFpbC15ZXR1bmRleC5hZGViaXNpQGlu dGVsLmNvbQoKPiBDYzogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGludGVsLmNvbT4KPiBDYzog RGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBpbnRlbC5jb20+Cj4gQ2M6IFlldHVuZGUgQWRl YmlzaSA8eWV0dW5kZXguYWRlYmlzaUBpbnRlbC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogRGVlcGFr IE0gPG0uZGVlcGFrQGludGVsLmNvbT4KPiAtLS0KPiBBZGRyZXNzZWQgdGhlIHJldmlldyBjb21t ZW50cyBmcm9tIEphbmkgd2hpY2ggd2VyZSBtZW50aW9uZWQgaW4KPiB0aGUgYmVsb3cgcGF0Y2gK PiBodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2ludGVsLWdmeC8yMDE1LVNl cHRlbWJlci8wNzU4MTkuaHRtbAo+Cj4gV2VudCB3aXRoIHRoZSBuYW1lIENBQkMgYmVjYXVzZSB0 aGUgY29tbWFuZHMgd2hpY2ggYXJlIHVzZWQKPiBoZXJlIGFyZSBtYWlubHkgZm9yIENBQkMgYW5k IG1hbnkgb2YgdGhlIHBhbmVscyBoYXZlIHRoZSBzYW1lCj4gY29tbWFuZHMgZm9yIHRoZSBDQUJD IG9wZXJhdGlvbi4gRm9yIHRoZSBjYXNlcyB3aGVyZSBQV00gaXMKPiBkaXJlY3RseSBmcm9tIHBh bmVsIFBXTSwgRENTIGNvbW1hbmRzIG1heSBiZSBkaWZmZXJlbnQgYW5kCj4gbWF5IGhhdmUgdG8g YWRkIG5ldyBmdW5jdGlvbnMgdG8gc3VwcG9ydCBpdC4KPgo+ICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kc2kuYyAgIHwgIDE0ICsrKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHNpLmggICB8ICAyNCArKysrKysKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGFuZWwu YyB8IDE0NSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tCj4gIDMgZmlsZXMg Y2hhbmdlZCwgMTc3IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kc2kuYwo+IGluZGV4IDE3MGFlNmYuLjVkMWJhMzUgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kc2kuYwo+IEBAIC0xMTc1LDggKzExNzUsMjAgQEAgdm9pZCBpbnRlbF9kc2lfaW5p dChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAJCWludGVsX2RzaS0+cG9ydHMgPSAoMSA8PCBQ T1JUX0MpOwo+ICAJfQo+ICAKPiAtCWlmIChkZXZfcHJpdi0+dmJ0LmRzaS5jb25maWctPmR1YWxf bGluaykKPiArCWlmIChkZXZfcHJpdi0+dmJ0LmRzaS5jb25maWctPmR1YWxfbGluaykgewo+ICAJ CWludGVsX2RzaS0+cG9ydHMgPSAoKDEgPDwgUE9SVF9BKSB8ICgxIDw8IFBPUlRfQykpOwo+ICsJ CXN3aXRjaCAoZGV2X3ByaXYtPnZidC5kc2kuY29uZmlnLT5kbF9jYWJjX3BvcnQpIHsKPiArCQlj YXNlIENBQkNfUE9SVF9BOgo+ICsJCQlpbnRlbF9kc2ktPmJrbF9kY3NfcG9ydHMgPSAoMSA8PCBQ T1JUX0EpOwo+ICsJCWNhc2UgQ0FCQ19QT1JUX0M6Cj4gKwkJCWludGVsX2RzaS0+YmtsX2Rjc19w b3J0cyA9ICgxIDw8IFBPUlRfQyk7Cj4gKwkJY2FzZSBDQUJDX1BPUlRfQV9BTkRfQzoKPiArCQkJ aW50ZWxfZHNpLT5ia2xfZGNzX3BvcnRzID0gaW50ZWxfZHNpLT5wb3J0czsKPiArCQlkZWZhdWx0 Ogo+ICsJCQlEUk1fRVJST1IoIlVua25vd24gTUlQSSBwb3J0cyBmb3Igc2VuZGluZyBEQ1NcbiIp OwoKImJyZWFrOyIgaXMgdXNlZnVsIGluIG1ha2luZyB0aGUgc3dpdGNoIGNhc2UgZG8gd2hhdCB5 b3Ugd2FudC4KCj4gKwkJfQo+ICsJfSBlbHNlCj4gKwkJaW50ZWxfZHNpLT5ia2xfZGNzX3BvcnRz ID0gaW50ZWxfZHNpLT5wb3J0czsKPiAgCj4gIAkvKiBDcmVhdGUgYSBEU0kgaG9zdCAoYW5kIGEg ZGV2aWNlKSBmb3IgZWFjaCBwb3J0LiAqLwo+ICAJZm9yX2VhY2hfZHNpX3BvcnQocG9ydCwgaW50 ZWxfZHNpLT5wb3J0cykgewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kc2kuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5oCj4gaW5kZXggNGZkZTgz Yi4uNGJjZWU0MCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2ku aAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5oCj4gQEAgLTM0LDYgKzM0 LDMwIEBACj4gICNkZWZpbmUgRFNJX0RVQUxfTElOS19GUk9OVF9CQUNLCTEKPiAgI2RlZmluZSBE U0lfRFVBTF9MSU5LX1BJWEVMX0FMVAkJMgo+ICAKPiArI2RlZmluZSBDQUJDX09GRgkJCSgwIDw8 IDApCj4gKyNkZWZpbmUgQ0FCQ19VU0VSX0lOVEVSRkFDRV9JTUFHRQkoMSA8PCAwKQo+ICsjZGVm aW5lIENBQkNfU1RJTExfUElDVFVSRQkJKDIgPDwgMCkKPiArI2RlZmluZSBDQUJDX1ZJREVPX01P REUJCQkoMyA8PCAwKQo+ICsKPiArI2RlZmluZSBDQUJDX0JBQ0tMSUdIVAkJCSgxIDw8IDIpCj4g KyNkZWZpbmUgQ0FCQ19ESU1NSU5HX0RJU1BMQVkJCSgxIDw8IDMpCj4gKyNkZWZpbmUgQ0FCQ19C Q1RSTAkJCSgxIDw8IDUpCj4gKwo+ICsjZGVmaW5lIENBQkNfUE9SVF9BCQkJMHgwMAo+ICsjZGVm aW5lIENBQkNfUE9SVF9DCQkJMHgwMQo+ICsjZGVmaW5lIENBQkNfUE9SVF9BX0FORF9DCQkweDAy Cj4gKwo+ICsjZGVmaW5lIENBQkNfTUFYX1ZBTFVFCQkJMHhGRgo+ICsKPiArI2RlZmluZSBNSVBJ X0RDU19DQUJDX0xFVkVMX1JECQkweDUyCj4gKyNkZWZpbmUgTUlQSV9EQ1NfQ0FCQ19NSU5fQlJJ R0hUTkVTU19SRAkweDVGCj4gKyNkZWZpbmUgTUlQSV9EQ1NfQ0FCQ19DT05UUk9MX1JECTB4NTYK PiArI2RlZmluZSBNSVBJX0RDU19DQUJDX0NPTlRST0xfQlJJR0hUX1JECTB4NTQKPiArI2RlZmlu ZSBNSVBJX0RDU19DQUJDX0xFVkVMX1dSCQkweDUxCj4gKyNkZWZpbmUgTUlQSV9EQ1NfQ0FCQ19N SU5fQlJJR0hUTkVTU19XUgkweDVFCj4gKyNkZWZpbmUgTUlQSV9EQ1NfQ0FCQ19DT05UUk9MX1dS CTB4NTUKPiArI2RlZmluZSBNSVBJX0RDU19DQUJDX0NPTlRST0xfQlJJR0hUX1dSCTB4NTMKPiAr CgpQdXQgdGhlc2UgaW4gdGhlIG5ldyAuYyBmaWxlLiBUaGUgcmVzdCBvZiB0aGUgY29kZSBzaG91 bGRuJ3QgbmVlZCB0byBrbm93LgoKPiAgc3RydWN0IGludGVsX2RzaV9ob3N0Owo+ICAKPiAgc3Ry dWN0IGludGVsX2RzaSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3BhbmVsLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wYW5lbC5jCj4gaW5kZXggYTI0 ZGYzNS4uMDg1ZDlhNiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9w YW5lbC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGFuZWwuYwo+IEBAIC0z NCw2ICszNCw3IEBACj4gICNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgo+ICAjaW5jbHVk ZSA8bGludXgvcHdtLmg+Cj4gICNpbmNsdWRlICJpbnRlbF9kcnYuaCIKPiArI2luY2x1ZGUgImlu dGVsX2RzaS5oIgo+ICAKPiAgI2RlZmluZSBDUkNfUE1JQ19QV01fUEVSSU9EX05TCTIxMzMzCj4g IAo+IEBAIC01MzMsNiArNTM0LDMwIEBAIHN0YXRpYyB1MzIgdmx2X2dldF9iYWNrbGlnaHQoc3Ry dWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICAJcmV0dXJuIF92bHZfZ2V0X2JhY2ts aWdodChkZXYsIHBpcGUpOwo+ICB9Cj4gIAo+ICtzdGF0aWMgdTMyIGNhYmNfZ2V0X2JhY2tsaWdo dChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCj4gK3sKPiArCXN0cnVjdCBpbnRl bF9kc2kgKmludGVsX2RzaSA9IE5VTEw7Cj4gKwlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2Rl ciA9IE5VTEw7Cj4gKwlzdHJ1Y3QgbWlwaV9kc2lfZGV2aWNlICpkc2lfZGV2aWNlOwo+ICsJdTgg ZGF0YVsyXSA9IHswfTsKPiArCWVudW0gcG9ydCBwb3J0Owo+ICsKPiArCWVuY29kZXIgPSBjb25u ZWN0b3ItPmVuY29kZXI7Cj4gKwlpZiAoZW5jb2Rlci0+dHlwZSA9PSBJTlRFTF9PVVRQVVRfRFNJ KQo+ICsJCWludGVsX2RzaSA9IGVuY190b19pbnRlbF9kc2koJmVuY29kZXItPmJhc2UpOwo+ICsJ ZWxzZSB7Cj4gKwkJRFJNX0VSUk9SKCJVc2UgRFNJIGVuY29kZXIgZm9yIENBQkNcbiIpOwo+ICsJ CXJldHVybiAtRUlOVkFMOwo+ICsJfQoKWW91IG5lZWQgdG8gY2hlY2sgdGhpcyBvbmNlIHdoZW4g eW91IHNldHVwIHRoZSBDQUJDIGJhY2tsaWdodCwgYW5kIG5vdAphZnRlcndhcmRzLiBJbiB0aGUg ZnVuY3Rpb24gdGhhdCBzZXRzIHVwIHRoZSBDQUJDIGJhY2tsaWdodCBob29rcywgbm90CnRoZSBz ZXR1cCBob29rIGl0c2VsZi4KCj4gKwo+ICsJZm9yX2VhY2hfZHNpX3BvcnQocG9ydCwgaW50ZWxf ZHNpLT5ia2xfZGNzX3BvcnRzKSB7Cj4gKwkJZHNpX2RldmljZSA9IGludGVsX2RzaS0+ZHNpX2hv c3RzW3BvcnRdLT5kZXZpY2U7Cj4gKwkJbWlwaV9kc2lfZGNzX3JlYWQoZHNpX2RldmljZSwgTUlQ SV9EQ1NfQ0FCQ19MRVZFTF9SRCwgZGF0YSwgMik7Cj4gKwl9Cj4gKwo+ICsJcmV0dXJuIGRhdGFb MV07Cj4gK30KPiArCj4gIHN0YXRpYyB1MzIgYnh0X2dldF9iYWNrbGlnaHQoc3RydWN0IGludGVs X2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0g Y29ubmVjdG9yLT5iYXNlLmRldjsKPiBAQCAtNjMxLDYgKzY1NiwzMCBAQCBzdGF0aWMgdm9pZCB2 bHZfc2V0X2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IsIHUzMiBs ZXZlbCkKPiAgCUk5MTVfV1JJVEUoVkxWX0JMQ19QV01fQ1RMKHBpcGUpLCB0bXAgfCBsZXZlbCk7 Cj4gIH0KPiAgCj4gK3N0YXRpYyB2b2lkIGNhYmNfc2V0X2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxf Y29ubmVjdG9yICpjb25uZWN0b3IsIHUzMiBsZXZlbCkKPiArewo+ICsJc3RydWN0IGludGVsX2Rz aSAqaW50ZWxfZHNpID0gTlVMTDsKPiArCXN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyID0g TlVMTDsKPiArCXN0cnVjdCBtaXBpX2RzaV9kZXZpY2UgKmRzaV9kZXZpY2U7Cj4gKwl1OCBkYXRh WzJdID0gezB9Owo+ICsJZW51bSBwb3J0IHBvcnQ7Cj4gKwo+ICsJZW5jb2RlciA9IGNvbm5lY3Rv ci0+ZW5jb2RlcjsKPiArCWlmIChlbmNvZGVyLT50eXBlID09IElOVEVMX09VVFBVVF9EU0kpCj4g KwkJaW50ZWxfZHNpID0gZW5jX3RvX2ludGVsX2RzaSgmZW5jb2Rlci0+YmFzZSk7Cj4gKwllbHNl IHsKPiArCQlEUk1fRVJST1IoIlVzZSBEU0kgZW5jb2RlciBmb3IgQ0FCQ1xuIik7Cj4gKwkJcmV0 dXJuOwo+ICsJfQoKU2FtZSBhcyBhYm92ZS4KCj4gKwo+ICsJZm9yX2VhY2hfZHNpX3BvcnQocG9y dCwgaW50ZWxfZHNpLT5ia2xfZGNzX3BvcnRzKSB7Cj4gKwkJZHNpX2RldmljZSA9IGludGVsX2Rz aS0+ZHNpX2hvc3RzW3BvcnRdLT5kZXZpY2U7Cj4gKwkJZGF0YVsxXSA9IGxldmVsOwo+ICsJCWRh dGFbMF0gPSBNSVBJX0RDU19DQUJDX0xFVkVMX1dSOwo+ICsJCW1pcGlfZHNpX2Rjc193cml0ZV9i dWZmZXIoZHNpX2RldmljZSwgZGF0YSwgMik7Cj4gKwl9Cj4gK30KPiArCj4gIHN0YXRpYyB2b2lk IGJ4dF9zZXRfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwgdTMy IGxldmVsKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY29ubmVjdG9yLT5iYXNl LmRldjsKPiBAQCAtNzk4LDYgKzg0NywzNCBAQCBzdGF0aWMgdm9pZCB2bHZfZGlzYWJsZV9iYWNr bGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICAJSTkxNV9XUklURShW TFZfQkxDX1BXTV9DVEwyKHBpcGUpLCB0bXAgJiB+QkxNX1BXTV9FTkFCTEUpOwo+ICB9Cj4gIAo+ ICtzdGF0aWMgdm9pZCBjYWJjX2Rpc2FibGVfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0 b3IgKmNvbm5lY3RvcikKPiArewo+ICsJc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpID0gTlVM TDsKPiArCXN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyID0gTlVMTDsKPiArCXN0cnVjdCBt aXBpX2RzaV9kZXZpY2UgKmRzaV9kZXZpY2U7Cj4gKwllbnVtIHBvcnQgcG9ydDsKPiArCXU4IGRh dGFbMl0gPSB7MH07Cj4gKwo+ICsJZW5jb2RlciA9IGNvbm5lY3Rvci0+ZW5jb2RlcjsKPiArCWlm IChlbmNvZGVyLT50eXBlID09IElOVEVMX09VVFBVVF9EU0kpCj4gKwkJaW50ZWxfZHNpID0gZW5j X3RvX2ludGVsX2RzaSgmZW5jb2Rlci0+YmFzZSk7Cj4gKwllbHNlIHsKPiArCQlEUk1fRVJST1Io IlVzZSBEU0kgZW5jb2RlciBmb3IgQ0FCQ1xuIik7Cj4gKwkJcmV0dXJuOwo+ICsJfQoKU2FtZSBh cyBhYm92ZS4KCj4gKwo+ICsJaW50ZWxfcGFuZWxfYWN0dWFsbHlfc2V0X2JhY2tsaWdodChjb25u ZWN0b3IsIDApOwo+ICsKPiArCWZvcl9lYWNoX2RzaV9wb3J0KHBvcnQsIGludGVsX2RzaS0+Ymts X2Rjc19wb3J0cykgewo+ICsJCWRzaV9kZXZpY2UgPSBpbnRlbF9kc2ktPmRzaV9ob3N0c1twb3J0 XS0+ZGV2aWNlOwo+ICsJCWRhdGFbMV0gPSBDQUJDX09GRjsKPiArCQlkYXRhWzBdID0gTUlQSV9E Q1NfQ0FCQ19DT05UUk9MX1dSOwo+ICsJCW1pcGlfZHNpX2Rjc193cml0ZV9idWZmZXIoZHNpX2Rl dmljZSwgZGF0YSwgMik7Cj4gKwkJZGF0YVswXSA9IE1JUElfRENTX0NBQkNfQ09OVFJPTF9CUklH SFRfV1I7Cj4gKwkJbWlwaV9kc2lfZGNzX3dyaXRlX2J1ZmZlcihkc2lfZGV2aWNlLCBkYXRhLCAy KTsKPiArCX0KPiArfQo+ICsKPiAgc3RhdGljIHZvaWQgYnh0X2Rpc2FibGVfYmFja2xpZ2h0KHN0 cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAgewo+ICAJc3RydWN0IGRybV9kZXZp Y2UgKmRldiA9IGNvbm5lY3Rvci0+YmFzZS5kZXY7Cj4gQEAgLTExMzMsNiArMTIxMCwzNiBAQCB2 b2lkIGludGVsX3BhbmVsX2VuYWJsZV9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAq Y29ubmVjdG9yKQo+ICAJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+YmFja2xpZ2h0X2xvY2spOwo+ ICB9Cj4gIAo+ICtzdGF0aWMgdm9pZCBjYWJjX2VuYWJsZV9iYWNrbGlnaHQoc3RydWN0IGludGVs X2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICt7Cj4gKwlzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9k c2kgPSBOVUxMOwo+ICsJc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIgPSBOVUxMOwo+ICsJ c3RydWN0IGludGVsX3BhbmVsICpwYW5lbCA9ICZjb25uZWN0b3ItPnBhbmVsOwo+ICsJc3RydWN0 IG1pcGlfZHNpX2RldmljZSAqZHNpX2RldmljZTsKPiArCWVudW0gcG9ydCBwb3J0Owo+ICsJdTgg ZGF0YVsyXSA9IHswfTsKPiArCj4gKwllbmNvZGVyID0gY29ubmVjdG9yLT5lbmNvZGVyOwo+ICsJ aWYgKGVuY29kZXItPnR5cGUgPT0gSU5URUxfT1VUUFVUX0RTSSkKPiArCQlpbnRlbF9kc2kgPSBl bmNfdG9faW50ZWxfZHNpKCZlbmNvZGVyLT5iYXNlKTsKPiArCWVsc2Ugewo+ICsJCURSTV9FUlJP UigiVXNlIERTSSBlbmNvZGVyIGZvciB0aGUgQ0FCQ1xuIik7Cj4gKwkJcmV0dXJuOwo+ICsJfQoK ClNhbWUgYXMgYWJvdmUuCgo+ICsKPiArCWZvcl9lYWNoX2RzaV9wb3J0KHBvcnQsIGludGVsX2Rz aS0+YmtsX2Rjc19wb3J0cykgewo+ICsJCWRzaV9kZXZpY2UgPSBpbnRlbF9kc2ktPmRzaV9ob3N0 c1twb3J0XS0+ZGV2aWNlOwo+ICsJCWRhdGFbMF0gPSBNSVBJX0RDU19DQUJDX0NPTlRST0xfQlJJ R0hUX1dSOwo+ICsJCWRhdGFbMV0gPSBDQUJDX0JBQ0tMSUdIVCB8IENBQkNfRElNTUlOR19ESVNQ TEFZIHwgQ0FCQ19CQ1RSTDsKPiArCQltaXBpX2RzaV9kY3Nfd3JpdGVfYnVmZmVyKGRzaV9kZXZp Y2UsIGRhdGEsIDIpOwo+ICsJCWRhdGFbMF0gPSBNSVBJX0RDU19DQUJDX0NPTlRST0xfV1I7Cj4g KwkJZGF0YVsxXSA9IENBQkNfU1RJTExfUElDVFVSRTsKPiArCQltaXBpX2RzaV9kY3Nfd3JpdGVf YnVmZmVyKGRzaV9kZXZpY2UsIGRhdGEsIDIpOwo+ICsJfQo+ICsKPiArCWludGVsX3BhbmVsX2Fj dHVhbGx5X3NldF9iYWNrbGlnaHQoY29ubmVjdG9yLCBwYW5lbC0+YmFja2xpZ2h0LmxldmVsKTsK PiArfQo+ICsKPiAgI2lmIElTX0VOQUJMRUQoQ09ORklHX0JBQ0tMSUdIVF9DTEFTU19ERVZJQ0Up Cj4gIHN0YXRpYyBpbnQgaW50ZWxfYmFja2xpZ2h0X2RldmljZV91cGRhdGVfc3RhdHVzKHN0cnVj dCBiYWNrbGlnaHRfZGV2aWNlICpiZCkKPiAgewo+IEBAIC0xNjAxLDYgKzE3MDgsMjYgQEAgc3Rh dGljIGludCB2bHZfc2V0dXBfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5l Y3RvciwgZW51bSBwaXBlIHBpcGUKPiAgCXJldHVybiAwOwo+ICB9Cj4gIAo+ICtzdGF0aWMgaW50 IGNhYmNfc2V0dXBfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwK PiArCQllbnVtIHBpcGUgdW51c2VkKQo+ICt7Cj4gKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0g Y29ubmVjdG9yLT5iYXNlLmRldjsKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gKwlzdHJ1Y3QgaW50ZWxfcGFuZWwgKnBhbmVsID0gJmNv bm5lY3Rvci0+cGFuZWw7Cj4gKwo+ICsJaWYgKGRldl9wcml2LT52YnQuYmFja2xpZ2h0LnByZXNl bnQpCj4gKwkJcGFuZWwtPmJhY2tsaWdodC5wcmVzZW50ID0gdHJ1ZTsKPiArCWVsc2Ugewo+ICsJ CURSTV9FUlJPUigibm8gYmFja2xpZ2h0IHByZXNlbnQgcGVyIFZCVFxuIik7Cj4gKwkJcmV0dXJu IDA7Cj4gKwl9CgpTYW1lIGFzIGFib3ZlLgoKPiArCj4gKwlwYW5lbC0+YmFja2xpZ2h0Lm1heCA9 IENBQkNfTUFYX1ZBTFVFOwo+ICsJcGFuZWwtPmJhY2tsaWdodC5sZXZlbCA9IENBQkNfTUFYX1ZB TFVFOwo+ICsKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICBzdGF0aWMgaW50Cj4gIGJ4dF9zZXR1 cF9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBlbnVtIHBpcGUg dW51c2VkKQo+ICB7Cj4gQEAgLTE3NDUsMTEgKzE4NzIsMTkgQEAgaW50ZWxfcGFuZWxfaW5pdF9i YWNrbGlnaHRfZnVuY3Moc3RydWN0IGludGVsX3BhbmVsICpwYW5lbCkKPiAgCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gIAo+ICAJaWYgKElT X0JST1hUT04oZGV2KSkgewo+IC0JCXBhbmVsLT5iYWNrbGlnaHQuc2V0dXAgPSBieHRfc2V0dXBf YmFja2xpZ2h0Owo+IC0JCXBhbmVsLT5iYWNrbGlnaHQuZW5hYmxlID0gYnh0X2VuYWJsZV9iYWNr bGlnaHQ7Cj4gLQkJcGFuZWwtPmJhY2tsaWdodC5kaXNhYmxlID0gYnh0X2Rpc2FibGVfYmFja2xp Z2h0Owo+IC0JCXBhbmVsLT5iYWNrbGlnaHQuc2V0ID0gYnh0X3NldF9iYWNrbGlnaHQ7Cj4gLQkJ cGFuZWwtPmJhY2tsaWdodC5nZXQgPSBieHRfZ2V0X2JhY2tsaWdodDsKPiArCQlpZiAoZGV2X3By aXYtPnZidC5kc2kuY29uZmlnLT5jYWJjX3N1cHBvcnRlZCkgewo+ICsJCQlwYW5lbC0+YmFja2xp Z2h0LnNldHVwID0gY2FiY19zZXR1cF9iYWNrbGlnaHQ7Cj4gKwkJCXBhbmVsLT5iYWNrbGlnaHQu ZW5hYmxlID0gY2FiY19lbmFibGVfYmFja2xpZ2h0Owo+ICsJCQlwYW5lbC0+YmFja2xpZ2h0LmRp c2FibGUgPSBjYWJjX2Rpc2FibGVfYmFja2xpZ2h0Owo+ICsJCQlwYW5lbC0+YmFja2xpZ2h0LnNl dCA9IGNhYmNfc2V0X2JhY2tsaWdodDsKPiArCQkJcGFuZWwtPmJhY2tsaWdodC5nZXQgPSBjYWJj X2dldF9iYWNrbGlnaHQ7Cj4gKwkJfSBlbHNlIHsKPiArCQkJcGFuZWwtPmJhY2tsaWdodC5zZXR1 cCA9IGJ4dF9zZXR1cF9iYWNrbGlnaHQ7Cj4gKwkJCXBhbmVsLT5iYWNrbGlnaHQuZW5hYmxlID0g Ynh0X2VuYWJsZV9iYWNrbGlnaHQ7Cj4gKwkJCXBhbmVsLT5iYWNrbGlnaHQuZGlzYWJsZSA9IGJ4 dF9kaXNhYmxlX2JhY2tsaWdodDsKPiArCQkJcGFuZWwtPmJhY2tsaWdodC5zZXQgPSBieHRfc2V0 X2JhY2tsaWdodDsKPiArCQkJcGFuZWwtPmJhY2tsaWdodC5nZXQgPSBieHRfZ2V0X2JhY2tsaWdo dDsKPiArCQl9CgpXaHkgaXMgdGhpcyBCcm94dG9uIHNwZWNpZmljPyBJdCdzIERTSSBzcGVjaWZp Yywgc28gcGxlYXNlIGRvIHRoaXMKc2ltaWxhciB0byB3aGF0IEkgdG9sZCBZZXR1bmRlIHRvIGRv IHdpdGggRFAgQVVYIGJhY2tsaWdodC4KCgo+ICAJfSBlbHNlIGlmIChIQVNfUENIX0xQVChkZXYp IHx8IEhBU19QQ0hfU1BUKGRldikpIHsKPiAgCQlwYW5lbC0+YmFja2xpZ2h0LnNldHVwID0gbHB0 X3NldHVwX2JhY2tsaWdodDsKPiAgCQlwYW5lbC0+YmFja2xpZ2h0LmVuYWJsZSA9IGxwdF9lbmFi bGVfYmFja2xpZ2h0OwoKLS0gCkphbmkgTmlrdWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBUZWNobm9s b2d5IENlbnRlcgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=