From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Vivi, Rodrigo" Subject: Re: [PATCH 04/13] drm/i915/cnp: Backlight support for CNP. Date: Thu, 1 Jun 2017 16:28:44 +0000 Message-ID: <1496334535.2930.142.camel@rdvivi-vienna> References: <1496184183-30740-1-git-send-email-rodrigo.vivi@intel.com> <1496184183-30740-4-git-send-email-rodrigo.vivi@intel.com> <1496284553.24196.40.camel@dk-H97M-D3H> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id E09036E3D0 for ; Thu, 1 Jun 2017 16:28:46 +0000 (UTC) In-Reply-To: <1496284553.24196.40.camel@dk-H97M-D3H> Content-Language: en-US Content-ID: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Pandiyan, Dhinakaran" Cc: "Nikula, Jani" , "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCAyMDE3LTA2LTAxIGF0IDAyOjE1ICswMDAwLCBQYW5kaXlhbiwgRGhpbmFrYXJhbiB3 cm90ZToNCj4gT24gVHVlLCAyMDE3LTA1LTMwIGF0IDE1OjQyIC0wNzAwLCBSb2RyaWdvIFZpdmkg d3JvdGU6DQo+ID4gU3BsaXQgb3V0IEJYVCBhbmQgQ05QJ3Mgc2V0dXBfYmFja2xpZ2h0KCksZW5h YmxlX2JhY2tsaWdodCgpLA0KPiA+IGRpc2FibGVfYmFja2xpZ2h0KCkgYW5kIGh6X3RvX3B3bSgp IGludG8NCj4gPiB0d28gc2VwYXJhdGUgZnVuY3Rpb25zIGluc3RlYWQgb2YgcmV1c2luZyBCWFQg ZnVuY3Rpb24uDQo+ID4gDQo+ID4gUmV1c2Ugc2V0X2JhY2tsaWdodCgpIGFuZCBnZXRfYmFja2xp Z2h0KCkgc2luY2UgdGhleSBoYXZlDQo+ID4gbm8gcmVmZXJlbmNlIHRvIHRoZSB1dGlsaXR5IHBp bi4NCj4gPiANCj4gPiB2MjogUmV1c2UgQlhUIGZ1bmN0aW9ucyB3aXRoIGNvbnRyb2xsZXIgMCBp bnN0ZWFkIG9mDQo+ID4gICAgIHJlZGVmaW5pbmcgaXQuIChKYW5pKS4NCj4gPiAgICAgVXNlIGRl dl9wcml2LT5yYXdjbGtfZnJlcSBpbnN0ZWFkIG9mIGdldHRpbmcgdGhlIHZhbHVlDQo+ID4gICAg IGZyb20gU0ZVU0VfU1RSQVAuDQo+ID4gdjM6IEF2b2lkIHNldHVwIGJhY2tsaWdoIGNvbnRyb2xs ZXIgYWxvbmcgd2l0aCBob29rcyBhbmQNCj4gPiAgICAgZnVsbHkgcmV1c2UgaG9va3Mgc2V0dXAg YXMgc3VnZ2VzdGVkIGJ5IEphbmkuDQo+ID4gdjQ6IENsZWFuIHVwIGNvbW1pdCBtZXNzYWdlLg0K PiA+IHY1OiBJbXBsZW1lbnQgcGVyIFBDSCBpbnN0ZWFkIHBlciBwbGF0Zm9ybS4NCj4gPiANCj4g PiB2NjogSW50cm9kdWNlIGEgbmV3IGZ1bmN0aW9uIGZvciBDTlAuKEphbmkgYW5kIFZpbGxlKQ0K PiA+IA0KPiA+IHY3OiBTcXVhc2ggdGhlIGFsbCBDTlAgQmFja2xpZ2h0IHN1cHBvcnQgcGF0Y2hl cyBpbnRvIGENCj4gPiBzaW5nbGUgcGF0Y2guIChKYW5pKQ0KPiA+IA0KPiA+IHY4OiBDb3JyZWN0 IGluZGVudGF0aW9uLCByZW1vdmUgdW5uZWVkZWQgYmxhbmsgbGluZXMgYW5kDQo+ID4gY29ycmVj dCBtYWlsIGFkZHJlc3MgKEphbmkpLg0KPiA+IA0KPiA+IHY5OiBSZW1vdmUgdW51c2VkIGVudW0g cGlwZS4gKGJ5IENJKQ0KPiA+IA0KPiA+IFJldmlld2VkLWJ5OiBKYW5pIE5pa3VsYSA8amFuaS5u aWt1bGFAaW50ZWwuY29tPg0KPiA+IFN1Z2dlc3RlZC1ieTogSmFuaSBOaWt1bGEgPGphbmkubmlr dWxhQGludGVsLmNvbT4NCj4gPiBTdWdnZXN0ZWQtYnk6IFZpbGxlIFN5cmphbGEgPHZpbGxlLnN5 cmphbGFAaW50ZWwuY29tPg0KPiA+IENjOiBWaWxsZSBTeXJqYWxhIDx2aWxsZS5zeXJqYWxhQGxp bnV4LmludGVsLmNvbT4NCj4gPiBDYzogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGludGVsLmNv bT4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBBbnVzaGEgU3JpdmF0c2EgPGFudXNoYS5zcml2YXRzYUBp bnRlbC5jb20+DQo+ID4gU2lnbmVkLW9mZi1ieTogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlA aW50ZWwuY29tPg0KPiA+IC0tLQ0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wYW5l bC5jIHwgOTMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4gPiAgMSBm aWxlIGNoYW5nZWQsIDkzIGluc2VydGlvbnMoKykNCj4gPiANCj4gPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGFuZWwuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3BhbmVsLmMNCj4gPiBpbmRleCBjODEwM2Y4Li43ZTM0YTFiIDEwMDY0NA0KPiA+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMNCj4gPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9wYW5lbC5jDQo+ID4gQEAgLTc5Niw2ICs3OTYsMTkgQEAgc3RhdGlj IHZvaWQgYnh0X2Rpc2FibGVfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5l Y3RvcikNCj4gPiAgCX0NCj4gPiAgfQ0KPiA+ICANCj4gPiArc3RhdGljIHZvaWQgY25wX2Rpc2Fi bGVfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikNCj4gPiArew0K PiA+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjb25uZWN0 b3ItPmJhc2UuZGV2KTsNCj4gPiArCXN0cnVjdCBpbnRlbF9wYW5lbCAqcGFuZWwgPSAmY29ubmVj dG9yLT5wYW5lbDsNCj4gPiArCXUzMiB0bXA7DQo+ID4gKw0KPiA+ICsJaW50ZWxfcGFuZWxfYWN0 dWFsbHlfc2V0X2JhY2tsaWdodChjb25uZWN0b3IsIDApOw0KPiA+ICsNCj4gPiArCXRtcCA9IEk5 MTVfUkVBRChCWFRfQkxDX1BXTV9DVEwocGFuZWwtPmJhY2tsaWdodC5jb250cm9sbGVyKSk7DQo+ ID4gKwlJOTE1X1dSSVRFKEJYVF9CTENfUFdNX0NUTChwYW5lbC0+YmFja2xpZ2h0LmNvbnRyb2xs ZXIpLA0KPiA+ICsJCSAgIHRtcCAmIH5CWFRfQkxDX1BXTV9FTkFCTEUpOw0KPiA+ICt9DQo+ID4g Kw0KPiA+ICBzdGF0aWMgdm9pZCBwd21fZGlzYWJsZV9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nv bm5lY3RvciAqY29ubmVjdG9yKQ0KPiA+ICB7DQo+ID4gIAlzdHJ1Y3QgaW50ZWxfcGFuZWwgKnBh bmVsID0gJmNvbm5lY3Rvci0+cGFuZWw7DQo+ID4gQEAgLTEwODYsNiArMTA5OSwzNSBAQCBzdGF0 aWMgdm9pZCBieHRfZW5hYmxlX2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25u ZWN0b3IpDQo+ID4gIAkJCXB3bV9jdGwgfCBCWFRfQkxDX1BXTV9FTkFCTEUpOw0KPiA+ICB9DQo+ ID4gIA0KPiA+ICtzdGF0aWMgdm9pZCBjbnBfZW5hYmxlX2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxf Y29ubmVjdG9yICpjb25uZWN0b3IpDQo+ID4gK3sNCj4gPiArCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY29ubmVjdG9yLT5iYXNlLmRldik7DQo+ID4gKwlzdHJ1 Y3QgaW50ZWxfcGFuZWwgKnBhbmVsID0gJmNvbm5lY3Rvci0+cGFuZWw7DQo+ID4gKwl1MzIgcHdt X2N0bDsNCj4gPiArDQo+ID4gKwlwd21fY3RsID0gSTkxNV9SRUFEKEJYVF9CTENfUFdNX0NUTChw YW5lbC0+YmFja2xpZ2h0LmNvbnRyb2xsZXIpKTsNCj4gDQo+IFNob3VsZG4ndCB0aGlzIGJlIEJM Q19QV01fUENIX0NUTDE/DQoNCk5vdCBzdXJlLiBBcmUgd2UgZ29pbmcgdG8NCjEpIHJlZGVmaW5l IGV2ZXJ5dGhpbmc/IGluY2x1ZGluZyBhbGwgcmVnaXN0ZXJzIGFuZCBiaXQgZGVmaW5pdGlvbnMg dGhhdA0KYXJlIGlkZW50aWNhbD8NCjIpIHJldXNlIHBhcnQgb2YgQ1BVIGFuZCBwYXJ0IG9mIG9s ZCBQQ0g/DQoNCj4gDQo+IEkgdGhpbmsgcmV1c2luZyBDUFUgcmVnaXN0ZXIgZGVmaW5pdGlvbnMg Zm9yIFBDSCBpcyBjb25mdXNpbmcuIEV2ZW4gbW9yZQ0KPiBzbywgd2hlbiB3ZSBhbHJlYWR5IGhh dmUgc2VwYXJhdGUgZGVmaW5pdGlvbnMgZm9yIFBDSC4NCg0KQWN0dWFsbHkgdGhlIEJYVCBiYWNr bGlnaHQgaW1wbGVtZW50YXRpb24gd2FzIHVzZWQgb24gQ05QLiBTbyBhbGwgb2YNCnRoaXMgd2Fz IG1vdmVkIGZyb20gQ1BVIHRvIFBDSC4NCg0KPiBCU3BlYyBzcGVjaWZpY2FsbHkgcmVmZXJzIHRv IHRoZXNlIHJlZ2lzdGVycyBhcyBTQkxDX1BXTV9DVEwxLA0KPiBTQkxDX1BXTV9GUkVRIGFuZCBT QkxDX1BXTV9EVVRZLg0KDQpJIGJlbGlldmUgd2UgdHJhZGl0aW9uYWxseSB0cnkgdG8gcmV1c2Ug cmVnaXN0ZXJzIGRlZmluaXRpb25zIHRoYXQgYXJlDQp0aGVyZSBhbHJlYWR5IGluc3RlYWQgb2Yg cmVkZWZpbmUgZXZlcnl0aW1lIHRoYXQgc3BlYyBjaGFuZ2VzIHRoZSBuYW1lLg0KDQpGb3IgbWUg YWxsIG9mIHRoaXMgaW1wbGVtZW50YXRpb24gaXMgbW9yZSBsaWtlIEJYVCBzbyB3ZSBzaG91bGQg cHJvY2VlZA0Kd2l0aCB0aGlzIGZyb20gdGhpcyBwb2ludCBhbmQgb24gYW5kIHJldXNpbmcgYXMg bXVjaCBhcyB3ZSBjYW4uDQoNCkhvd2V2ZXIgZHVyaW5nIHRoZSByZXZpZXcgaXQgd2FzIGRlY2lk ZWQgdG8gbm90IHJldXNlIGRpcmVjdGx5IHRoZSBieHQNCmZ1bmN0aW9ucy4uLiBTbyBub3cgSSdt IG5vdCBzdXJlIGluIHdoaWNoIHBvaW50IHdlIHNob3VsZCBzdG9wDQpkdXBsaWNhdGluZyBjb2Rl IGFueW1vcmUuLi4gDQoNCj4gDQo+IA0KPiANCj4gDQo+ID4gKwlpZiAocHdtX2N0bCAmIEJYVF9C TENfUFdNX0VOQUJMRSkgew0KPiA+ICsJCURSTV9ERUJVR19LTVMoImJhY2tsaWdodCBhbHJlYWR5 IGVuYWJsZWRcbiIpOw0KPiA+ICsJCXB3bV9jdGwgJj0gfkJYVF9CTENfUFdNX0VOQUJMRTsNCj4g PiArCQlJOTE1X1dSSVRFKEJYVF9CTENfUFdNX0NUTChwYW5lbC0+YmFja2xpZ2h0LmNvbnRyb2xs ZXIpLA0KPiA+ICsJCQkgICBwd21fY3RsKTsNCj4gPiArCX0NCj4gPiArDQo+ID4gKwlJOTE1X1dS SVRFKEJYVF9CTENfUFdNX0ZSRVEocGFuZWwtPmJhY2tsaWdodC5jb250cm9sbGVyKSwNCj4gPiAr CQkgICBwYW5lbC0+YmFja2xpZ2h0Lm1heCk7DQo+ID4gKw0KPiA+ICsJaW50ZWxfcGFuZWxfYWN0 dWFsbHlfc2V0X2JhY2tsaWdodChjb25uZWN0b3IsIHBhbmVsLT5iYWNrbGlnaHQubGV2ZWwpOw0K PiA+ICsNCj4gPiArCXB3bV9jdGwgPSAwOw0KPiA+ICsJaWYgKHBhbmVsLT5iYWNrbGlnaHQuYWN0 aXZlX2xvd19wd20pDQo+ID4gKwkJcHdtX2N0bCB8PSBCWFRfQkxDX1BXTV9QT0xBUklUWTsNCj4g PiArDQo+ID4gKwlJOTE1X1dSSVRFKEJYVF9CTENfUFdNX0NUTChwYW5lbC0+YmFja2xpZ2h0LmNv bnRyb2xsZXIpLCBwd21fY3RsKTsNCj4gPiArCVBPU1RJTkdfUkVBRChCWFRfQkxDX1BXTV9DVEwo cGFuZWwtPmJhY2tsaWdodC5jb250cm9sbGVyKSk7DQo+ID4gKwlJOTE1X1dSSVRFKEJYVF9CTENf UFdNX0NUTChwYW5lbC0+YmFja2xpZ2h0LmNvbnRyb2xsZXIpLA0KPiA+ICsJCSAgIHB3bV9jdGwg fCBCWFRfQkxDX1BXTV9FTkFCTEUpOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICBzdGF0aWMgdm9pZCBw d21fZW5hYmxlX2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpDQo+ ID4gIHsNCj4gPiAgCXN0cnVjdCBpbnRlbF9wYW5lbCAqcGFuZWwgPSAmY29ubmVjdG9yLT5wYW5l bDsNCj4gPiBAQCAtMTI1MCw2ICsxMjkyLDE4IEBAIHZvaWQgaW50ZWxfYmFja2xpZ2h0X2Rldmlj ZV91bnJlZ2lzdGVyKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikNCj4gPiAgI2Vu ZGlmIC8qIENPTkZJR19CQUNLTElHSFRfQ0xBU1NfREVWSUNFICovDQo+ID4gIA0KPiA+ICAvKg0K PiA+ICsgKiBDTlA6IFBXTSBjbG9jayBmcmVxdWVuY3kgaXMgMTkuMiBNSHogb3IgMjQgTUh6Lg0K PiA+ICsgKiAgICAgIFZhbHVlIGlzIGZvdW5kIGluIFNGVVNFX1NUUkFQLg0KPiA+ICsgKiAgICAg IFBXTSBpbmNyZW1lbnQgPSAxDQo+ID4gKyAqLw0KPiA+ICtzdGF0aWMgdTMyIGNucF9oel90b19w d20oc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLCB1MzIgcHdtX2ZyZXFfaHopDQo+ ID4gK3sNCj4gPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUo Y29ubmVjdG9yLT5iYXNlLmRldik7DQo+ID4gKw0KPiA+ICsJcmV0dXJuIERJVl9ST1VORF9DTE9T RVNUKEtIeihkZXZfcHJpdi0+cmF3Y2xrX2ZyZXEpLCBwd21fZnJlcV9oeik7DQo+ID4gK30NCj4g PiArDQo+ID4gKy8qDQo+ID4gICAqIEJYVDogUFdNIGNsb2NrIGZyZXF1ZW5jeSA9IDE5LjIgTUh6 Lg0KPiA+ICAgKi8NCj4gPiAgc3RhdGljIHUzMiBieHRfaHpfdG9fcHdtKHN0cnVjdCBpbnRlbF9j b25uZWN0b3IgKmNvbm5lY3RvciwgdTMyIHB3bV9mcmVxX2h6KQ0KPiA+IEBAIC0xNjQ0LDYgKzE2 OTgsMzcgQEAgc3RhdGljIGludCB2bHZfc2V0dXBfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25u ZWN0b3IgKmNvbm5lY3RvciwgZW51bSBwaXBlIHBpcGUNCj4gPiAgCXJldHVybiAwOw0KPiA+ICB9 DQo+ID4gIA0KPiA+ICtzdGF0aWMgaW50DQo+ID4gK2NucF9zZXR1cF9iYWNrbGlnaHQoc3RydWN0 IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBlbnVtIHBpcGUgdW51c2VkKQ0KPiA+ICt7DQo+ ID4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNvbm5lY3Rv ci0+YmFzZS5kZXYpOw0KPiA+ICsJc3RydWN0IGludGVsX3BhbmVsICpwYW5lbCA9ICZjb25uZWN0 b3ItPnBhbmVsOw0KPiA+ICsJdTMyIHB3bV9jdGwsIHZhbDsNCj4gPiArDQo+ID4gKwlwYW5lbC0+ YmFja2xpZ2h0LmNvbnRyb2xsZXIgPSBkZXZfcHJpdi0+dmJ0LmJhY2tsaWdodC5jb250cm9sbGVy Ow0KPiANCj4gQXJlIHRoZXJlIGFyZSB0d28gY29udHJvbGxlcnMgaW4gQ05QPyBJIGRpZCBub3Qg ZmluZCBhbnkgcmVmZXJlbmNlcyBpbg0KPiBCU3BlYywgY2FuIHlvdSBwbGVhc2UgY29uZmlybT8N Cg0KV2Ugb25seSBoYXZlIG9uZSBjb250cm9sbGVyIG9uIENOUC4gV2UgbWlnaHQgaGF2ZSBtb3Jl IGNvbWluZyBzb29uLCBidXQNCmZvciB0aGUgY3VycmVudCBDTlAgcGxhdGZvcm1zIHRoZXJlIGlz IG9ubHkgb25lIGNvbnRyb2xsZXIgYW5kIEkgZG8NCmJlbGlldmUgd2UgY291bGQganVzdCBpZ25v cmUgVkJUIGZvciBub3cuIEJ1dCBxdWVzdGlvbiBub3cgaXM6DQoNCjEuIExlYXZlIGFzIGlzLg0K DQoyLiBzZXQgdGhpcyBwYW5lbC0+YmFja2xpZ2h0LmNvbnRyb2xsZXIgPSAwOyBhbmQgbW92ZSBv bi4NCg0KMy4gVXNlIEJMQ19QV01fUENIX0NUTDEgZGlyZWN0bHkgYW5kICBCWFRfQkxDX1BXTV9G UkVRKDApIGFuZCBfRFVUWSgwKQ0KDQo0LiBVc2UgQkxDX1BXTV9QQ0hfQ1RMMSBkaXJlY3RseSBh bmQgcmVpbXBsZW1lbnQgU0JMQ19QV01fRlJFUSBhbmQNClNCTENfUFdNX0RVVFkuDQoNCjUuIFJl aW1wbGVtZW50IFNCTENfUFdNX0NUTDEsIFNCTENfUFdNX0ZSRVEgYW5kIFNCTENfUFdNX0RVVFku DQoNCkFsdGhvdWdoIDQgb3IgNSBzZWVtcyB0byBiZSB0aGUgcmlnaHQgd2F5IHRvIGdvIG5vdyBJ J2QgbGlrZSB0bw0KaGlnaGxpZ2h0IHRoYXQgbWF5YmUgbmV4dCBQQ0ggY2FuIGJlIG1vcmUgbGlr ZSBCWFQgdGhhbiBsaWtlIENOUC4gU28gd2UNCndvdWxkIG5lZWQgdG8gcmVpbXBsZW1lbnQgZXZl cnl0aGluZyBhZ2Fpbi4NCg0KSSBob25lc3RseSBkb24ndCBtaW5kIHdoaWNoIG9wdGlvbiB3ZSBn by4gTXkgcG9zaXRpb24gd2FzIHRvIGZ1bGx5IHJldXNlDQpCWFQgYXMgSSBoYWQgaW5pdGlhbGx5 IGRvbmUuIEJ1dCB0aGF0IHdhcyBuYWNrZWQuIFNvIHBsZWFzZSBqdXN0IGxldCBtZQ0Ka25vdyB0 aGUgZGlyZWN0aW9uIHRoYXQgSSBwcm92aWRlIHRoZSBwYXRjaCA7KQ0KDQpUaGFua3MsDQpSb2Ry aWdvLg0KDQo+IA0KPiANCj4gPiArDQo+ID4gKwlwd21fY3RsID0gSTkxNV9SRUFEKEJYVF9CTENf UFdNX0NUTChwYW5lbC0+YmFja2xpZ2h0LmNvbnRyb2xsZXIpKTsNCj4gPiArDQo+ID4gKwlwYW5l bC0+YmFja2xpZ2h0LmFjdGl2ZV9sb3dfcHdtID0gcHdtX2N0bCAmIEJYVF9CTENfUFdNX1BPTEFS SVRZOw0KPiA+ICsJcGFuZWwtPmJhY2tsaWdodC5tYXggPQ0KPiA+ICsJCUk5MTVfUkVBRChCWFRf QkxDX1BXTV9GUkVRKHBhbmVsLT5iYWNrbGlnaHQuY29udHJvbGxlcikpOw0KPiA+ICsNCj4gPiAr CWlmICghcGFuZWwtPmJhY2tsaWdodC5tYXgpDQo+ID4gKwkJcGFuZWwtPmJhY2tsaWdodC5tYXgg PSBnZXRfYmFja2xpZ2h0X21heF92YnQoY29ubmVjdG9yKTsNCj4gPiArDQo+ID4gKwlpZiAoIXBh bmVsLT5iYWNrbGlnaHQubWF4KQ0KPiA+ICsJCXJldHVybiAtRU5PREVWOw0KPiA+ICsNCj4gPiAr CXZhbCA9IGJ4dF9nZXRfYmFja2xpZ2h0KGNvbm5lY3Rvcik7DQo+ID4gKwl2YWwgPSBpbnRlbF9w YW5lbF9jb21wdXRlX2JyaWdodG5lc3MoY29ubmVjdG9yLCB2YWwpOw0KPiA+ICsJcGFuZWwtPmJh Y2tsaWdodC5sZXZlbCA9IGNsYW1wKHZhbCwgcGFuZWwtPmJhY2tsaWdodC5taW4sDQo+ID4gKwkJ CQkgICAgICAgcGFuZWwtPmJhY2tsaWdodC5tYXgpOw0KPiA+ICsNCj4gPiArCXBhbmVsLT5iYWNr bGlnaHQuZW5hYmxlZCA9IHB3bV9jdGwgJiBCWFRfQkxDX1BXTV9FTkFCTEU7DQo+ID4gKw0KPiA+ ICsJcmV0dXJuIDA7DQo+ID4gK30NCj4gPiArDQo+ID4gIHN0YXRpYyBpbnQgcHdtX3NldHVwX2Jh Y2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IsDQo+ID4gIAkJCSAgICAg ICBlbnVtIHBpcGUgcGlwZSkNCj4gPiAgew0KPiA+IEBAIC0xNzYwLDYgKzE4NDUsMTQgQEAgdm9p ZCBpbnRlbF9wYW5lbF9kZXN0cm95X2JhY2tsaWdodChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29u bmVjdG9yKQ0KPiA+ICAJCXBhbmVsLT5iYWNrbGlnaHQuc2V0ID0gYnh0X3NldF9iYWNrbGlnaHQ7 DQo+ID4gIAkJcGFuZWwtPmJhY2tsaWdodC5nZXQgPSBieHRfZ2V0X2JhY2tsaWdodDsNCj4gPiAg CQlwYW5lbC0+YmFja2xpZ2h0Lmh6X3RvX3B3bSA9IGJ4dF9oel90b19wd207DQo+ID4gKwkJcGFu ZWwtPmJhY2tsaWdodC5oel90b19wd20gPSBieHRfaHpfdG9fcHdtOw0KPiBeU3B1cmlvdXMgbGlu ZS4NCj4gDQo+ID4gKwl9IGVsc2UgaWYgKEhBU19QQ0hfQ05QKGRldl9wcml2KSkgew0KPiA+ICsJ CXBhbmVsLT5iYWNrbGlnaHQuc2V0dXAgPSBjbnBfc2V0dXBfYmFja2xpZ2h0Ow0KPiA+ICsJCXBh bmVsLT5iYWNrbGlnaHQuZW5hYmxlID0gY25wX2VuYWJsZV9iYWNrbGlnaHQ7DQo+ID4gKwkJcGFu ZWwtPmJhY2tsaWdodC5kaXNhYmxlID0gY25wX2Rpc2FibGVfYmFja2xpZ2h0Ow0KPiA+ICsJCXBh bmVsLT5iYWNrbGlnaHQuc2V0ID0gYnh0X3NldF9iYWNrbGlnaHQ7DQo+ID4gKwkJcGFuZWwtPmJh Y2tsaWdodC5nZXQgPSBieHRfZ2V0X2JhY2tsaWdodDsNCj4gPiArCQlwYW5lbC0+YmFja2xpZ2h0 Lmh6X3RvX3B3bSA9IGNucF9oel90b19wd207DQo+ID4gIAl9IGVsc2UgaWYgKEhBU19QQ0hfTFBU KGRldl9wcml2KSB8fCBIQVNfUENIX1NQVChkZXZfcHJpdikgfHwNCj4gPiAgCQkgICBIQVNfUENI X0tCUChkZXZfcHJpdikpIHsNCj4gPiAgCQlwYW5lbC0+YmFja2xpZ2h0LnNldHVwID0gbHB0X3Nl dHVwX2JhY2tsaWdodDsNCj4gDQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ludGVsLWdmeAo=