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: Thu, 24 Mar 2016 11:40:44 +0200 Message-ID: <87k2ksdxib.fsf@intel.com> References: <1458812078-3326-1-git-send-email-m.deepak@intel.com> <1458812078-3326-2-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 mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 359856E57D for ; Thu, 24 Mar 2016 09:40:47 +0000 (UTC) In-Reply-To: <1458812078-3326-2-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 T24gVGh1LCAyNCBNYXIgMjAxNiwgRGVlcGFrIE0gPG0uZGVlcGFrQGludGVsLmNvbT4gd3JvdGU6 Cj4gWyB0ZXh0L3BsYWluIF0KPiBJbiBDQUJDIChDb250ZW50IEFkYXB0aXZlIEJyaWdodG5lc3Mg Q29udHJvbCkgY29udGVudCBncmV5IGxldmVsCj4gc2NhbGUgY2FuIGJlIGluY3JlYXNlZCB3aGls ZSBzaW11bHRhbmVvdXNseSBkZWNyZWFzaW5nCj4gYnJpZ2h0bmVzcyBvZiB0aGUgYmFja2xpZ2h0 IHRvIGFjaGlldmUgc2FtZSBwZXJjZWl2ZWQgYnJpZ2h0bmVzcy4KPgo+IFRoZSBDQUJDIGlzIG5v dCBzdGFuZGFyZGl6ZWQgYW5kIHBhbmVsIHZlbmRvcnMgYXJlIGZyZWUgdG8gZm9sbG93Cj4gdGhl aXIgaW1wbGVtZW50YXRpb24uIFRoZSBDQUJDIGltcGxlbWVudGFpb24gaGVyZSBhc3N1bWVzIHRo YXQgdGhlCj4gcGFuZWxzIHVzZSBzdGFuZGFyZCBTVyByZWdpc3RlciBmb3IgY29udHJvbC4KPgo+ IEluIHRoaXMgZGVzaWduIHRoZXJlIHdpbGwgYmUgbm8gUFdNIHNpZ25hbCBmcm9tIHRoZSBTb0Mg YW5kIERDUwo+IGNvbW1hbmRzIGFyZSBzZW50IHRvIGVuYWJsZSBhbmQgY29udHJvbCB0aGUgYmFj a2xpZ2h0IGJyaWdodG5lc3MuCj4KPiB2MjogTW92aW5nIHRoZSBDQUJDIGJrbCBmdW5jdGlvbnMg dG8gbmV3IGZpbGUuKEphbmkpCj4KPiB2MzogUmViYXNlCj4KPiB2NDogUmViYXNlCj4KPiB2NTog VXNlIG1pcGlfZHNpX2Rjc193cml0ZSgpIGluc3RlYWQgb2YgbWlwaV9kc2lfZGNzX3dyaXRlX2J1 ZmZlcigpIChKYW5pKQo+ICAgICBNb3ZlIERDUyBtYWNyb2BzIHRvIGluY2x1ZGUvdmlkZW8vbWlw aV9kaXNwbGF5LmggKEphbmkpCgpXaGVyZSdzIHRoZSBwYXRjaCBhY3R1YWxseSBhZGRpbmcgdGhl IG1hY3Jvcz8gV2UgbmVlZCB0aGF0IGluIHRoZSBzYW1lCnNlcmllcyB0byBoYXZlIENJIGFjdHVh bGx5IGJ1aWxkIGFuZCBydW4gdGhpczsgdGhpcyBmYWlscyB3aXRob3V0IHRoZW0uCgpCUiwKSmFu aS4KCgo+Cj4gQ2M6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBpbnRlbC5jb20+Cj4gQ2M6IERh bmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAaW50ZWwuY29tPgo+IENjOiBZZXR1bmRlIEFkZWJp c2kgPHlldHVuZGV4LmFkZWJpc2lAaW50ZWwuY29tPgo+IFNpZ25lZC1vZmYtYnk6IERlZXBhayBN IDxtLmRlZXBha0BpbnRlbC5jb20+Cj4gLS0tCj4KPiBUaGUgRENTIGNvbW1hbmQgbWFjcm9gcyBh cmUgZGVmaW5lZCBpbiB0aGUgcGF0Y2ggd2hpY2ggaXMgcG9zdGVkIGluIHRoZQo+IGRyaS1kZXZl bCBsaXN0Lgo+Cj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlICAgICAgICAgfCAgIDEg Kwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgIHwgICAxIC0KPiAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgICB8ICAgMiArCj4gIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RzaS5jICAgICAgfCAgMTkgKysrKy0KPiAgZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHNpLmggICAgICB8ICAgNCArCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RzaV9jYWJjLmMgfCAxNTQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wYW5lbC5jICAgIHwgICA0ICsKPiAgNyBmaWxl cyBjaGFuZ2VkLCAxODIgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKPiAgY3JlYXRlIG1v ZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaV9jYWJjLmMKPgo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZSBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L01ha2VmaWxlCj4gaW5kZXggN2ZmYjUxYi4uMDY1YzQxMCAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZQo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01h a2VmaWxlCj4gQEAgLTgzLDYgKzgzLDcgQEAgaTkxNS15ICs9IGR2b19jaDcwMTcubyBcCj4gIAkg IGludGVsX2RwX21zdC5vIFwKPiAgCSAgaW50ZWxfZHAubyBcCj4gIAkgIGludGVsX2RzaS5vIFwK PiArCSAgaW50ZWxfZHNpX2NhYmMubyBcCj4gIAkgIGludGVsX2RzaV9wYW5lbF92YnQubyBcCj4g IAkgIGludGVsX2RzaV9wbGwubyBcCj4gIAkgIGludGVsX2R2by5vIFwKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmgKPiBpbmRleCAwNTBkODYwLi45ZWQ2MGY4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oCj4gQEAgLTM0ODksNyArMzQ4OSw2IEBAIHZvaWQgaW50ZWxfc2JpX3dyaXRlKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgdTE2IHJlZywgdTMyIHZhbHVlLAo+ICAJCSAg ICAgZW51bSBpbnRlbF9zYmlfZGVzdGluYXRpb24gZGVzdGluYXRpb24pOwo+ICB1MzIgdmx2X2Zs aXNkc2lfcmVhZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHUzMiByZWcpOwo+ ICB2b2lkIHZsdl9mbGlzZHNpX3dyaXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwgdTMyIHJlZywgdTMyIHZhbCk7Cj4gLQo+ICBpbnQgaW50ZWxfZ3B1X2ZyZXEoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBpbnQgdmFsKTsKPiAgaW50IGludGVsX2ZyZXFfb3Bj b2RlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgaW50IHZhbCk7Cj4gIAo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gaW5kZXggYzg3YjQ1MC4uOWU0OTM5NiAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gQEAgLTEzMjUsNiArMTMyNSw4IEBAIHZvaWQgaW50ZWxf ZHBfbXN0X2VuY29kZXJfY2xlYW51cChzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9k aWdfcG9ydCk7Cj4gIC8qIGludGVsX2RzaS5jICovCj4gIHZvaWQgaW50ZWxfZHNpX2luaXQoc3Ry dWN0IGRybV9kZXZpY2UgKmRldik7Cj4gIAo+ICsvKiBpbnRlbF9kc2lfY2FiYy5jICovCj4gK2lu dCBpbnRlbF9kc2lfY2FiY19pbml0X2JhY2tsaWdodF9mdW5jcyhzdHJ1Y3QgaW50ZWxfY29ubmVj dG9yICppbnRlbF9jb25uZWN0b3IpOwo+ICAKPiAgLyogaW50ZWxfZHZvLmMgKi8KPiAgdm9pZCBp bnRlbF9kdm9faW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kc2kuYwo+IGluZGV4IDQ1NjY3NmMuLjdhYTcwN2YgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHNpLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kc2kuYwo+IEBAIC0xMjA5LDEwICsxMjA5LDI1IEBAIHZvaWQgaW50ZWxfZHNpX2luaXQoc3Ry dWN0IGRybV9kZXZpY2UgKmRldikKPiAgCWVsc2UKPiAgCQlpbnRlbF9lbmNvZGVyLT5jcnRjX21h c2sgPSBCSVQoUElQRV9CKTsKPiAgCj4gLQlpZiAoZGV2X3ByaXYtPnZidC5kc2kuY29uZmlnLT5k dWFsX2xpbmspCj4gKwlpZiAoZGV2X3ByaXYtPnZidC5kc2kuY29uZmlnLT5kdWFsX2xpbmspIHsK PiAgCQlpbnRlbF9kc2ktPnBvcnRzID0gQklUKFBPUlRfQSkgfCBCSVQoUE9SVF9DKTsKPiAtCWVs c2UKPiArCQlzd2l0Y2ggKGRldl9wcml2LT52YnQuZHNpLmNvbmZpZy0+ZGxfY2FiY19wb3J0KSB7 Cj4gKwkJY2FzZSBDQUJDX1BPUlRfQToKPiArCQkJaW50ZWxfZHNpLT5ia2xfZGNzX3BvcnRzID0g QklUKFBPUlRfQSk7Cj4gKwkJCWJyZWFrOwo+ICsJCWNhc2UgQ0FCQ19QT1JUX0M6Cj4gKwkJCWlu dGVsX2RzaS0+YmtsX2Rjc19wb3J0cyA9IEJJVChQT1JUX0MpOwo+ICsJCQlicmVhazsKPiArCQlj YXNlIENBQkNfUE9SVF9BX0FORF9DOgo+ICsJCQlpbnRlbF9kc2ktPmJrbF9kY3NfcG9ydHMgPSBC SVQoUE9SVF9BKSB8IEJJVChQT1JUX0MpOwo+ICsJCQlicmVhazsKPiArCQlkZWZhdWx0Ogo+ICsJ CQlEUk1fRVJST1IoIlVua25vd24gTUlQSSBwb3J0cyBmb3Igc2VuZGluZyBEQ1NcbiIpOwo+ICsJ CX0KPiArCX0gZWxzZSB7Cj4gIAkJaW50ZWxfZHNpLT5wb3J0cyA9IEJJVChwb3J0KTsKPiArCQlp bnRlbF9kc2ktPmJrbF9kY3NfcG9ydHMgPSBCSVQocG9ydCk7Cj4gKwl9Cj4gIAo+ICAJLyogQ3Jl YXRlIGEgRFNJIGhvc3QgKGFuZCBhIGRldmljZSkgZm9yIGVhY2ggcG9ydC4gKi8KPiAgCWZvcl9l YWNoX2RzaV9wb3J0KHBvcnQsIGludGVsX2RzaS0+cG9ydHMpIHsKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kc2kuaAo+IGluZGV4IDBlNzU4ZjEuLjVjMDdkNTkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHNpLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kc2kuaAo+IEBAIC0zNCw2ICszNCwxMCBAQAo+ICAjZGVmaW5lIERTSV9EVUFMX0xJTktfRlJP TlRfQkFDSwkxCj4gICNkZWZpbmUgRFNJX0RVQUxfTElOS19QSVhFTF9BTFQJCTIKPiAgCj4gKyNk ZWZpbmUgQ0FCQ19QT1JUX0EgICAgICAgICAgICAgICAgICAgICAweDAwCj4gKyNkZWZpbmUgQ0FC Q19QT1JUX0MgICAgICAgICAgICAgICAgICAgICAweDAxCj4gKyNkZWZpbmUgQ0FCQ19QT1JUX0Ff QU5EX0MgICAgICAgICAgICAgICAweDAyCj4gKwo+ICBzdHJ1Y3QgaW50ZWxfZHNpX2hvc3Q7Cj4g IAo+ICBzdHJ1Y3QgaW50ZWxfZHNpIHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHNpX2NhYmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaV9jYWJj LmMKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAuLjIzMGVlNGYKPiAtLS0g L2Rldi9udWxsCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpX2NhYmMuYwo+ IEBAIC0wLDAgKzEsMTU0IEBACj4gKy8qCj4gKyAqIENvcHlyaWdodCDCqSAyMDE2IEludGVsIENv cnBvcmF0aW9uCj4gKyAqCj4gKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUg b2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCj4gKyAqIGNvcHkgb2YgdGhpcyBz b2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJl IiksCj4gKyAqIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGlu Y2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24KPiArICogdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHks IG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCj4gKyAqIGFu ZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0 byB3aG9tIHRoZQo+ICsgKiBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3Qg dG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgo+ICsgKgo+ICsgKiBUaGUgYWJvdmUgY29weXJp Z2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSAoaW5jbHVkaW5nIHRoZSBuZXh0 Cj4gKyAqIHBhcmFncmFwaCkgc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJz dGFudGlhbCBwb3J0aW9ucyBvZiB0aGUKPiArICogU29mdHdhcmUuCj4gKyAqCj4gKyAqIFRIRSBT T0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5E LCBFWFBSRVNTIE9SCj4gKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8g VEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAo+ICsgKiBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiAgSU4gTk8gRVZFTlQgU0hBTEwK PiArICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkg Q0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKPiArICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFD VElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKPiArICogRlJPTSwg T1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBP VEhFUgo+ICsgKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCj4gKyAqCj4gKyAqIEF1dGhvcjog RGVlcGFrIE0gPG0uZGVlcGFrIGF0IGludGVsLmNvbT4KPiArICovCj4gKwo+ICsjaW5jbHVkZSAi aW50ZWxfZHJ2LmgiCj4gKyNpbmNsdWRlICJpbnRlbF9kc2kuaCIKPiArI2luY2x1ZGUgImk5MTVf ZHJ2LmgiCj4gKyNpbmNsdWRlIDx2aWRlby9taXBpX2Rpc3BsYXkuaD4KPiArI2luY2x1ZGUgPGRy bS9kcm1fbWlwaV9kc2kuaD4KPiArCj4gKyNkZWZpbmUgQ0FCQ19PRkYgICAgICAgICAgICAgICAg ICAgICAgICAoMCA8PCAwKQo+ICsjZGVmaW5lIENBQkNfVVNFUl9JTlRFUkZBQ0VfSU1BR0UgICAg ICAgKDEgPDwgMCkKPiArI2RlZmluZSBDQUJDX1NUSUxMX1BJQ1RVUkUgICAgICAgICAgICAgICgy IDw8IDApCj4gKyNkZWZpbmUgQ0FCQ19WSURFT19NT0RFICAgICAgICAgICAgICAgICAoMyA8PCAw KQo+ICsKPiArI2RlZmluZSBDQUJDX0JBQ0tMSUdIVCAgICAgICAgICAgICAgICAgICgxIDw8IDIp Cj4gKyNkZWZpbmUgQ0FCQ19ESU1NSU5HX0RJU1BMQVkgICAgICAgICAgICAoMSA8PCAzKQo+ICsj ZGVmaW5lIENBQkNfQkNUUkwgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNSkKPiArCj4gKyNk ZWZpbmUgQ0FCQ19NQVhfVkFMVUUgICAgICAgICAgICAgICAgICAweEZGCj4gKwo+ICtzdGF0aWMg dTMyIGNhYmNfZ2V0X2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3Ip Cj4gK3sKPiArCXN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyID0gY29ubmVjdG9yLT5lbmNv ZGVyOwo+ICsJc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpID0gZW5jX3RvX2ludGVsX2RzaSgm ZW5jb2Rlci0+YmFzZSk7Cj4gKwlzdHJ1Y3QgbWlwaV9kc2lfZGV2aWNlICpkc2lfZGV2aWNlOwo+ ICsJdTggZGF0YVsyXSA9IHswfTsKPiArCWVudW0gcG9ydCBwb3J0Owo+ICsKPiArCWZvcl9lYWNo X2RzaV9wb3J0KHBvcnQsIGludGVsX2RzaS0+YmtsX2Rjc19wb3J0cykgewo+ICsJCWRzaV9kZXZp Y2UgPSBpbnRlbF9kc2ktPmRzaV9ob3N0c1twb3J0XS0+ZGV2aWNlOwo+ICsJCW1pcGlfZHNpX2Rj c19yZWFkKGRzaV9kZXZpY2UsIE1JUElfRENTX0dFVF9ESVNQTEFZX0JSSUdIVE5FU1MsCj4gKwkJ CQkJZGF0YSwgMik7Cj4gKwl9Cj4gKwo+ICsJcmV0dXJuIGRhdGFbMV07Cj4gK30KPiArCj4gK3N0 YXRpYyB2b2lkIGNhYmNfc2V0X2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25u ZWN0b3IsIHUzMiBsZXZlbCkKPiArewo+ICsJc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIg PSBjb25uZWN0b3ItPmVuY29kZXI7Cj4gKwlzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2kgPSBl bmNfdG9faW50ZWxfZHNpKCZlbmNvZGVyLT5iYXNlKTsKPiArCXN0cnVjdCBtaXBpX2RzaV9kZXZp Y2UgKmRzaV9kZXZpY2U7Cj4gKwl1OCBkYXRhID0gMDsKPiArCWVudW0gcG9ydCBwb3J0Owo+ICsK PiArCWZvcl9lYWNoX2RzaV9wb3J0KHBvcnQsIGludGVsX2RzaS0+YmtsX2Rjc19wb3J0cykgewo+ ICsJCWRzaV9kZXZpY2UgPSBpbnRlbF9kc2ktPmRzaV9ob3N0c1twb3J0XS0+ZGV2aWNlOwo+ICsJ CWRhdGEgPSBsZXZlbDsKPiArCQltaXBpX2RzaV9kY3Nfd3JpdGUoZHNpX2RldmljZSwgTUlQSV9E Q1NfU0VUX0RJU1BMQVlfQlJJR0hUTkVTUywKPiArCQkJCQkmZGF0YSwgc2l6ZW9mKGRhdGEpKTsK PiArCX0KPiArfQo+ICsKPiArc3RhdGljIHZvaWQgY2FiY19kaXNhYmxlX2JhY2tsaWdodChzdHJ1 Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCj4gK3sKPiArCXN0cnVjdCBpbnRlbF9lbmNv ZGVyICplbmNvZGVyID0gY29ubmVjdG9yLT5lbmNvZGVyOwo+ICsJc3RydWN0IGludGVsX2RzaSAq aW50ZWxfZHNpID0gZW5jX3RvX2ludGVsX2RzaSgmZW5jb2Rlci0+YmFzZSk7Cj4gKwlzdHJ1Y3Qg bWlwaV9kc2lfZGV2aWNlICpkc2lfZGV2aWNlOwo+ICsJZW51bSBwb3J0IHBvcnQ7Cj4gKwl1OCBk YXRhID0gMDsKPiArCj4gKwljYWJjX3NldF9iYWNrbGlnaHQoY29ubmVjdG9yLCAwKTsKPiArCj4g Kwlmb3JfZWFjaF9kc2lfcG9ydChwb3J0LCBpbnRlbF9kc2ktPmJrbF9kY3NfcG9ydHMpIHsKPiAr CQlkc2lfZGV2aWNlID0gaW50ZWxfZHNpLT5kc2lfaG9zdHNbcG9ydF0tPmRldmljZTsKPiArCQlk YXRhID0gQ0FCQ19PRkY7Cj4gKwkJbWlwaV9kc2lfZGNzX3dyaXRlKGRzaV9kZXZpY2UsIE1JUElf RENTX1dSSVRFX1BPV0VSX1NBVkUsCj4gKwkJCQkJJmRhdGEsIHNpemVvZihkYXRhKSk7Cj4gKwkJ bWlwaV9kc2lfZGNzX3dyaXRlKGRzaV9kZXZpY2UsIE1JUElfRENTX1dSSVRFX0NPTlRST0xfRElT UExBWSwKPiArCQkJCQkmZGF0YSwgc2l6ZW9mKGRhdGEpKTsKPiArCX0KPiArfQo+ICsKPiArc3Rh dGljIHZvaWQgY2FiY19lbmFibGVfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNv bm5lY3RvcikKPiArewo+ICsJc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIgPSBjb25uZWN0 b3ItPmVuY29kZXI7Cj4gKwlzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2kgPSBlbmNfdG9faW50 ZWxfZHNpKCZlbmNvZGVyLT5iYXNlKTsKPiArCXN0cnVjdCBpbnRlbF9wYW5lbCAqcGFuZWwgPSAm Y29ubmVjdG9yLT5wYW5lbDsKPiArCXN0cnVjdCBtaXBpX2RzaV9kZXZpY2UgKmRzaV9kZXZpY2U7 Cj4gKwllbnVtIHBvcnQgcG9ydDsKPiArCXU4IGRhdGEgPSAwOwo+ICsKPiArCWZvcl9lYWNoX2Rz aV9wb3J0KHBvcnQsIGludGVsX2RzaS0+YmtsX2Rjc19wb3J0cykgewo+ICsJCWRzaV9kZXZpY2Ug PSBpbnRlbF9kc2ktPmRzaV9ob3N0c1twb3J0XS0+ZGV2aWNlOwo+ICsJCWRhdGEgPSBDQUJDX0JB Q0tMSUdIVCB8IENBQkNfRElNTUlOR19ESVNQTEFZIHwgQ0FCQ19CQ1RSTDsKPiArCQltaXBpX2Rz aV9kY3Nfd3JpdGUoZHNpX2RldmljZSwgTUlQSV9EQ1NfV1JJVEVfQ09OVFJPTF9ESVNQTEFZLAo+ ICsJCQkJCSZkYXRhLCBzaXplb2YoZGF0YSkpOwo+ICsJCWRhdGEgPSBDQUJDX1NUSUxMX1BJQ1RV UkU7Cj4gKwkJbWlwaV9kc2lfZGNzX3dyaXRlKGRzaV9kZXZpY2UsIE1JUElfRENTX1dSSVRFX1BP V0VSX1NBVkUsCj4gKwkJCQkJJmRhdGEsIHNpemVvZihkYXRhKSk7Cj4gKwl9Cj4gKwo+ICsJY2Fi Y19zZXRfYmFja2xpZ2h0KGNvbm5lY3RvciwgcGFuZWwtPmJhY2tsaWdodC5sZXZlbCk7Cj4gK30K PiArCj4gK3N0YXRpYyBpbnQgY2FiY19zZXR1cF9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5l Y3RvciAqY29ubmVjdG9yLAo+ICsJCWVudW0gcGlwZSB1bnVzZWQpCj4gK3sKPiArCXN0cnVjdCBp bnRlbF9wYW5lbCAqcGFuZWwgPSAmY29ubmVjdG9yLT5wYW5lbDsKPiArCj4gKwlwYW5lbC0+YmFj a2xpZ2h0Lm1heCA9IENBQkNfTUFYX1ZBTFVFOwo+ICsJcGFuZWwtPmJhY2tsaWdodC5sZXZlbCA9 IENBQkNfTUFYX1ZBTFVFOwo+ICsKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICtpbnQgaW50ZWxf ZHNpX2NhYmNfaW5pdF9iYWNrbGlnaHRfZnVuY3Moc3RydWN0IGludGVsX2Nvbm5lY3RvciAqaW50 ZWxfY29ubmVjdG9yKQo+ICt7Cj4gKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gaW50ZWxfY29u bmVjdG9yLT5iYXNlLmRldjsKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IGRldi0+ZGV2X3ByaXZhdGU7Cj4gKwlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciA9IGlu dGVsX2Nvbm5lY3Rvci0+ZW5jb2RlcjsKPiArCXN0cnVjdCBpbnRlbF9wYW5lbCAqcGFuZWwgPSAm aW50ZWxfY29ubmVjdG9yLT5wYW5lbDsKPiArCj4gKwlpZiAoIWRldl9wcml2LT52YnQuZHNpLmNv bmZpZy0+Y2FiY19zdXBwb3J0ZWQpCj4gKwkJcmV0dXJuIC1FTk9ERVY7Cj4gKwo+ICsJaWYgKGVu Y29kZXItPnR5cGUgIT0gSU5URUxfT1VUUFVUX0RTSSkgewo+ICsJCURSTV9FUlJPUigiVXNlIERT SSBlbmNvZGVyIGZvciBDQUJDXG4iKTsKPiArCQlyZXR1cm4gLUVJTlZBTDsKPiArCX0KPiArCj4g KwlpZiAoV0FSTl9PTihlbmNvZGVyLT50eXBlICE9IElOVEVMX09VVFBVVF9EU0kpKQo+ICsJCXJl dHVybiAtRUlOVkFMOwo+ICsKPiArCXBhbmVsLT5iYWNrbGlnaHQuc2V0dXAgPSBjYWJjX3NldHVw X2JhY2tsaWdodDsKPiArCXBhbmVsLT5iYWNrbGlnaHQuZW5hYmxlID0gY2FiY19lbmFibGVfYmFj a2xpZ2h0Owo+ICsJcGFuZWwtPmJhY2tsaWdodC5kaXNhYmxlID0gY2FiY19kaXNhYmxlX2JhY2ts aWdodDsKPiArCXBhbmVsLT5iYWNrbGlnaHQuc2V0ID0gY2FiY19zZXRfYmFja2xpZ2h0Owo+ICsJ cGFuZWwtPmJhY2tsaWdodC5nZXQgPSBjYWJjX2dldF9iYWNrbGlnaHQ7Cj4gKwo+ICsJcmV0dXJu IDA7Cj4gK30KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGFuZWwu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMKPiBpbmRleCA4Yzg5OTZmLi42 NDFjMzhmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wYW5lbC5jCj4gQEAgLTE3MTgsNiAr MTcxOCwxMCBAQCBpbnRlbF9wYW5lbF9pbml0X2JhY2tsaWdodF9mdW5jcyhzdHJ1Y3QgaW50ZWxf cGFuZWwgKnBhbmVsKQo+ICAJCWNvbnRhaW5lcl9vZihwYW5lbCwgc3RydWN0IGludGVsX2Nvbm5l Y3RvciwgcGFuZWwpOwo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9f aTkxNShjb25uZWN0b3ItPmJhc2UuZGV2KTsKPiAgCj4gKwlpZiAoY29ubmVjdG9yLT5iYXNlLmNv bm5lY3Rvcl90eXBlID09IERSTV9NT0RFX0NPTk5FQ1RPUl9EU0kgJiYKPiArCQlpbnRlbF9kc2lf Y2FiY19pbml0X2JhY2tsaWdodF9mdW5jcyhjb25uZWN0b3IpID09IDApCj4gKwkJcmV0dXJuOwo+ ICsKPiAgCWlmIChJU19CUk9YVE9OKGRldl9wcml2KSkgewo+ICAJCXBhbmVsLT5iYWNrbGlnaHQu c2V0dXAgPSBieHRfc2V0dXBfYmFja2xpZ2h0Owo+ICAJCXBhbmVsLT5iYWNrbGlnaHQuZW5hYmxl ID0gYnh0X2VuYWJsZV9iYWNrbGlnaHQ7CgotLSAKSmFuaSBOaWt1bGEsIEludGVsIE9wZW4gU291 cmNlIFRlY2hub2xvZ3kgQ2VudGVyCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ludGVsLWdmeAo=