From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Srivatsa, Anusha" Subject: Re: [PATCH] drm/i915/cnp: Backlight support for CNP. Date: Fri, 5 May 2017 20:36:04 +0000 Message-ID: <83F5C7385F545743AD4FB2A62F75B073019BED35@ORSMSX108.amr.corp.intel.com> References: <87d1c9vqfg.fsf@intel.com> <1493855051-23056-1-git-send-email-anusha.srivatsa@intel.com> <87fuglotyi.fsf@intel.com> <83F5C7385F545743AD4FB2A62F75B073019BEB82@ORSMSX108.amr.corp.intel.com> <8760hf5ju4.fsf@intel.com> <1494017673.26187.12.camel@dk-H97M-D3H> 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 062196E0D4 for ; Fri, 5 May 2017 20:36:05 +0000 (UTC) In-Reply-To: <1494017673.26187.12.camel@dk-H97M-D3H> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Pandiyan, Dhinakaran" , "Nikula, Jani" Cc: "intel-gfx@lists.freedesktop.org" , "Vivi, Rodrigo" List-Id: intel-gfx@lists.freedesktop.org DQoNCj4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPkZyb206IFBhbmRpeWFuLCBEaGluYWth cmFuDQo+U2VudDogRnJpZGF5LCBNYXkgNSwgMjAxNyAxOjM1IFBNDQo+VG86IE5pa3VsYSwgSmFu aSA8amFuaS5uaWt1bGFAaW50ZWwuY29tPg0KPkNjOiBpbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnOyBWaXZpLCBSb2RyaWdvIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPjsNCj5UYXlsb3Is IENsaW50b24gQSA8Y2xpbnRvbi5hLnRheWxvckBpbnRlbC5jb20+OyBTcml2YXRzYSwgQW51c2hh DQo+PGFudXNoYS5zcml2YXRzYUBpbnRlbC5jb20+DQo+U3ViamVjdDogUmU6IFtJbnRlbC1nZnhd IFtQQVRDSF0gZHJtL2k5MTUvY25wOiBCYWNrbGlnaHQgc3VwcG9ydCBmb3IgQ05QLg0KPg0KPk9u IEZyaSwgMjAxNy0wNS0wNSBhdCAxOTo1MCArMDMwMCwgSmFuaSBOaWt1bGEgd3JvdGU6DQo+PiBP biBGcmksIDA1IE1heSAyMDE3LCAiU3JpdmF0c2EsIEFudXNoYSIgPGFudXNoYS5zcml2YXRzYUBp bnRlbC5jb20+IHdyb3RlOg0KPj4gPj4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPj4gPj5G cm9tOiBOaWt1bGEsIEphbmkNCj4+ID4+U2VudDogVGh1cnNkYXksIE1heSA0LCAyMDE3IDI6MjUg QU0NCj4+ID4+VG86IFNyaXZhdHNhLCBBbnVzaGEgPGFudXNoYS5zcml2YXRzYUBpbnRlbC5jb20+ OyBpbnRlbC0NCj4+ID4+Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZw0KPj4gPj5DYzogVml2aSwg Um9kcmlnbyA8cm9kcmlnby52aXZpQGludGVsLmNvbT47IFZpbGxlIFN5cmphbGENCj4+ID4+PHZp bGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPjsgU3JpdmF0c2EsIEFudXNoYQ0KPj4gPj48YW51 c2hhLnNyaXZhdHNhQGludGVsLmNvbT4NCj4+ID4+U3ViamVjdDogUmU6IFtQQVRDSF0gZHJtL2k5 MTUvY25wOiBCYWNrbGlnaHQgc3VwcG9ydCBmb3IgQ05QLg0KPj4gPj4NCj4+ID4+T24gV2VkLCAw MyBNYXkgMjAxNywgQW51c2hhIFNyaXZhdHNhIDxhbnVzaGEuc3JpdmF0c2FAaW50ZWwuY29tPiB3 cm90ZToNCj4+ID4+PiBGcm9tOiBSb2RyaWdvIFZpdmkgPHJvZHJpZ28udml2aUBpbnRlbC5jb20+ DQo+PiA+Pj4NCj4+ID4+PiBTcGxpdCBvdXQgQlhUIGFuZCBDTlAncyBzZXR1cF9iYWNrbGlnaHQo KSxlbmFibGVfYmFja2xpZ2h0KCksDQo+PiA+Pj4gZGlzYWJsZV9iYWNrbGlnaHQoKSBhbmQgaHpf dG9fcHdtKCkgaW50byB0d28gc2VwYXJhdGUgZnVuY3Rpb25zDQo+PiA+Pj4gaW5zdGVhZCBvZiBy ZXVzaW5nIEJYVCBmdW5jdGlvbi4NCj4+ID4+Pg0KPj4gPj4+IFJldXNlIHNldF9iYWNrbGlnaHQo KSBhbmQgZ2V0X2JhY2tsaWdodCgpIHNpbmNlIHRoZXkgaGF2ZSBubw0KPj4gPj4+IHJlZmVyZW5j ZSB0byB0aGUgdXRpbGl0eSBwaW4uDQo+PiA+Pj4NCj4+ID4+PiB2MjogUmV1c2UgQlhUIGZ1bmN0 aW9ucyB3aXRoIGNvbnRyb2xsZXIgMCBpbnN0ZWFkIG9mDQo+PiA+Pj4gICAgIHJlZGVmaW5pbmcg aXQuIChKYW5pKS4NCj4+ID4+PiAgICAgVXNlIGRldl9wcml2LT5yYXdjbGtfZnJlcSBpbnN0ZWFk IG9mIGdldHRpbmcgdGhlIHZhbHVlDQo+PiA+Pj4gICAgIGZyb20gU0ZVU0VfU1RSQVAuDQo+PiA+ Pj4gdjM6IEF2b2lkIHNldHVwIGJhY2tsaWdoIGNvbnRyb2xsZXIgYWxvbmcgd2l0aCBob29rcyBh bmQNCj4+ID4+PiAgICAgZnVsbHkgcmV1c2UgaG9va3Mgc2V0dXAgYXMgc3VnZ2VzdGVkIGJ5IEph bmkuDQo+PiA+Pj4gdjQ6IENsZWFuIHVwIGNvbW1pdCBtZXNzYWdlLg0KPj4gPj4+IHY1OiBJbXBs ZW1lbnQgcGVyIFBDSCBpbnN0ZWFkIHBlciBwbGF0Zm9ybS4NCj4+ID4+Pg0KPj4gPj4+IHY2OiBJ bnRyb2R1Y2UgYSBuZXcgZnVuY3Rpb24gZm9yIENOUC4oSmFuaSBhbmQgVmlsbGUpDQo+PiA+Pj4N Cj4+ID4+PiB2NzogU3F1YXNoIHRoZSBhbGwgQ05QIEJhY2tsaWdodCBzdXBwb3J0IHBhdGNoZXMg aW50byBhIHNpbmdsZSBwYXRjaC4NCj4+ID4+PiAoSmFuaSkNCj4+ID4+Pg0KPj4gPj4+IHY4OiBD b3JyZWN0IGluZGVudGF0aW9uLCByZW1vdmUgdW5uZWVkZWQgYmxhbmsgbGluZXMgYW5kIGNvcnJl Y3QNCj4+ID4+PiBtYWlsIGFkZHJlc3MgKEphbmkpLg0KPj4gPj4+DQo+PiA+Pj4gUmV2aWV3ZWQt Ynk6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBpbnRlbC5jb20+DQo+PiA+Pg0KPj4gPj5ZdXAu IFdoYXQncyB0aGUgcGxhbiBmb3IgbWVyZ2luZyB0aGUgc2VyaWVzLCBpbmNsLiB0aGlzIHBhdGNo Pw0KPj4gPg0KPj4gPiBZZXMuIFRoaXMgd2lsbCBiZSBtZXJnZWQgYXMgcGFydCBvZiBDTlAgc2Vy aWVzLg0KPj4NCj4+IE9mIGNvdXJzZSwgYnV0IHdoYXQncyB0aGUgcGxhbiBmb3IgbWVyZ2luZyB0 aGUgc2VyaWVzPw0KPj4NCj4+IEJSLA0KPj4gSmFuaS4NCj4+DQo+DQo+VGhpcyBwYXRjaCBpcyA0 LzY3IGluIFJvZHJpZ28ncyBzZXJpZXMuIEl0IG1ha2VzIHNlbnNlIHRvIG1lcmdlIHRoZSB0b3Ag c2l4IChDTlANCj5QQ0gpIHBhdGNoZXMgaW4gUm9kcmlnbydzIHNlcmllcyBhbmQgdGhlbiBmb2N1 cyBvbiB0aGUgcmVzdCBhZnRlciB0aGF0LiBPdXQgb2YgdGhlDQo+dG9wIHNpeCwgNi82NyBzdGls bCBuZWVkcyBhIFItQi4NCj4NCj5BbnVzaGEsIGNhbiB5b3UgcGxlYXNlIHJlYmFzZSBhbmQgc3Vi bWl0IFJvZHJpZ28ncyBmaXJzdCBzaXggcGF0Y2hlcyAocmVwbGFjaW5nDQo+NC82NyB3aXRoIHRo aXMpID8NCj4NCldpbGwgZG8uDQoNCkFudXNoYQ0KPi1ESw0KPg0KPg0KPj4NCj4+ID4NCj4+ID4g QW51c2hhDQo+PiA+PkJSLA0KPj4gPj5KYW5pLg0KPj4gPj4NCj4+ID4+DQo+PiA+Pj4gU3VnZ2Vz dGVkLWJ5OiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAaW50ZWwuY29tPg0KPj4gPj4+IFN1Z2dl c3RlZC1ieTogVmlsbGUgU3lyamFsYSA8dmlsbGUuc3lyamFsYUBpbnRlbC5jb20+DQo+PiA+Pj4g Q2M6IFZpbGxlIFN5cmphbGEgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPg0KPj4gPj4+ IENjOiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAaW50ZWwuY29tPg0KPj4gPj4+IFNpZ25lZC1v ZmYtYnk6IEFudXNoYSBTcml2YXRzYSA8YW51c2hhLnNyaXZhdHNhQGludGVsLmNvbT4NCj4+ID4+ PiBTaWduZWQtb2ZmLWJ5OiBSb2RyaWdvIFZpdmkgPHJvZHJpZ28udml2aUBpbnRlbC5jb20+DQo+ PiA+Pj4gLS0tDQo+PiA+Pj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMgfCA4 OA0KPj4gPj4+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tDQo+PiA+Pj4g IDEgZmlsZSBjaGFuZ2VkLCA4MyBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQ0KPj4gPj4+ DQo+PiA+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMN Cj4+ID4+PiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMNCj4+ID4+PiBpbmRl eCAxOTc4YmVjLi44ZWU2MWMxIDEwMDY0NA0KPj4gPj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3BhbmVsLmMNCj4+ID4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9wYW5lbC5jDQo+PiA+Pj4gQEAgLTc5Niw2ICs3OTYsMTkgQEAgc3RhdGljIHZvaWQgYnh0X2Rp c2FibGVfYmFja2xpZ2h0KHN0cnVjdA0KPj4gPj5pbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikN Cj4+ID4+PiAgCX0NCj4+ID4+PiAgfQ0KPj4gPj4+DQo+PiA+Pj4gK3N0YXRpYyB2b2lkIGNucF9k aXNhYmxlX2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yDQo+PiA+Pj4gKypjb25uZWN0 b3IpIHsNCj4+ID4+PiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5 MTUoY29ubmVjdG9yLT5iYXNlLmRldik7DQo+PiA+Pj4gKwlzdHJ1Y3QgaW50ZWxfcGFuZWwgKnBh bmVsID0gJmNvbm5lY3Rvci0+cGFuZWw7DQo+PiA+Pj4gKwl1MzIgdG1wLCB2YWw7DQo+PiA+Pj4g Kw0KPj4gPj4+ICsJaW50ZWxfcGFuZWxfYWN0dWFsbHlfc2V0X2JhY2tsaWdodChjb25uZWN0b3Is IDApOw0KPj4gPj4+ICsNCj4+ID4+PiArCXRtcCA9IEk5MTVfUkVBRChCWFRfQkxDX1BXTV9DVEwo cGFuZWwtPmJhY2tsaWdodC5jb250cm9sbGVyKSk7DQo+PiA+Pj4gKwlJOTE1X1dSSVRFKEJYVF9C TENfUFdNX0NUTChwYW5lbC0+YmFja2xpZ2h0LmNvbnRyb2xsZXIpLA0KPj4gPj4+ICsJCSAgIHRt cCAmIH5CWFRfQkxDX1BXTV9FTkFCTEUpOw0KPj4gPj4+ICt9DQo+PiA+Pj4gKw0KPj4gPj4+ICBz dGF0aWMgdm9pZCBwd21fZGlzYWJsZV9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3Rvcg0K Pj4gPj4+ICpjb25uZWN0b3IpIHsNCj4+ID4+PiAgCXN0cnVjdCBpbnRlbF9wYW5lbCAqcGFuZWwg PSAmY29ubmVjdG9yLT5wYW5lbDsgQEAgLTEwNzYsNg0KPj4gPj4+ICsxMDg5LDM2IEBAIHN0YXRp YyB2b2lkIGJ4dF9lbmFibGVfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3INCj4qY29u bmVjdG9yKQ0KPj4gPj4+ICAJCQlwd21fY3RsIHwgQlhUX0JMQ19QV01fRU5BQkxFKTsgIH0NCj4+ ID4+Pg0KPj4gPj4+ICtzdGF0aWMgdm9pZCBjbnBfZW5hYmxlX2JhY2tsaWdodChzdHJ1Y3QgaW50 ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpIHsNCj4+ID4+PiArCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY29ubmVjdG9yLT5iYXNlLmRldik7DQo+PiA+Pj4gKwlz dHJ1Y3QgaW50ZWxfcGFuZWwgKnBhbmVsID0gJmNvbm5lY3Rvci0+cGFuZWw7DQo+PiA+Pj4gKwll bnVtIHBpcGUgcGlwZSA9IGludGVsX2dldF9waXBlX2Zyb21fY29ubmVjdG9yKGNvbm5lY3Rvcik7 DQo+PiA+Pj4gKwl1MzIgcHdtX2N0bCwgdmFsOw0KPj4gPj4+ICsNCj4+ID4+PiArCXB3bV9jdGwg PSBJOTE1X1JFQUQoQlhUX0JMQ19QV01fQ1RMKHBhbmVsLT5iYWNrbGlnaHQuY29udHJvbGxlcikp Ow0KPj4gPj4+ICsJaWYgKHB3bV9jdGwgJiBCWFRfQkxDX1BXTV9FTkFCTEUpIHsNCj4+ID4+PiAr CQlEUk1fREVCVUdfS01TKCJiYWNrbGlnaHQgYWxyZWFkeSBlbmFibGVkXG4iKTsNCj4+ID4+PiAr CQlwd21fY3RsICY9IH5CWFRfQkxDX1BXTV9FTkFCTEU7DQo+PiA+Pj4gKwkJSTkxNV9XUklURShC WFRfQkxDX1BXTV9DVEwocGFuZWwtPmJhY2tsaWdodC5jb250cm9sbGVyKSwNCj4+ID4+PiArCQkJ ICAgcHdtX2N0bCk7DQo+PiA+Pj4gKwl9DQo+PiA+Pj4gKw0KPj4gPj4+ICsJSTkxNV9XUklURShC WFRfQkxDX1BXTV9GUkVRKHBhbmVsLT5iYWNrbGlnaHQuY29udHJvbGxlciksDQo+PiA+Pj4gKwkJ ICAgcGFuZWwtPmJhY2tsaWdodC5tYXgpOw0KPj4gPj4+ICsNCj4+ID4+PiArCWludGVsX3BhbmVs X2FjdHVhbGx5X3NldF9iYWNrbGlnaHQoY29ubmVjdG9yLA0KPj4gPj4+ICtwYW5lbC0+YmFja2xp Z2h0LmxldmVsKTsNCj4+ID4+PiArDQo+PiA+Pj4gKwlwd21fY3RsID0gMDsNCj4+ID4+PiArCWlm IChwYW5lbC0+YmFja2xpZ2h0LmFjdGl2ZV9sb3dfcHdtKQ0KPj4gPj4+ICsJCXB3bV9jdGwgfD0g QlhUX0JMQ19QV01fUE9MQVJJVFk7DQo+PiA+Pj4gKw0KPj4gPj4+ICsJSTkxNV9XUklURShCWFRf QkxDX1BXTV9DVEwocGFuZWwtPmJhY2tsaWdodC5jb250cm9sbGVyKSwgcHdtX2N0bCk7DQo+PiA+ Pj4gKwlQT1NUSU5HX1JFQUQoQlhUX0JMQ19QV01fQ1RMKHBhbmVsLT5iYWNrbGlnaHQuY29udHJv bGxlcikpOw0KPj4gPj4+ICsJSTkxNV9XUklURShCWFRfQkxDX1BXTV9DVEwocGFuZWwtPmJhY2ts aWdodC5jb250cm9sbGVyKSwNCj4+ID4+PiArCQkgICBwd21fY3RsIHwgQlhUX0JMQ19QV01fRU5B QkxFKTsgfQ0KPj4gPj4+ICsNCj4+ID4+PiAgc3RhdGljIHZvaWQgcHdtX2VuYWJsZV9iYWNrbGln aHQoc3RydWN0IGludGVsX2Nvbm5lY3Rvcg0KPj4gPj4+ICpjb25uZWN0b3IpIHsNCj4+ID4+PiAg CXN0cnVjdCBpbnRlbF9wYW5lbCAqcGFuZWwgPSAmY29ubmVjdG9yLT5wYW5lbDsgQEAgLTE2NDUs Ng0KPj4gPj4+ICsxNjg4LDM3IEBAIGJ4dF9zZXR1cF9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nv bm5lY3RvciAqY29ubmVjdG9yLA0KPj4gPj4+IGVudW0gcGlwZQ0KPj4gPj51bnVzZWQpDQo+PiA+ Pj4gIAlyZXR1cm4gMDsNCj4+ID4+PiAgfQ0KPj4gPj4+DQo+PiA+Pj4gK3N0YXRpYyBpbnQNCj4+ ID4+PiArY25wX3NldHVwX2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0 b3IsIGVudW0gcGlwZQ0KPj4gPj4+ICt1bnVzZWQpIHsNCj4+ID4+PiArCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY29ubmVjdG9yLT5iYXNlLmRldik7DQo+PiA+ Pj4gKwlzdHJ1Y3QgaW50ZWxfcGFuZWwgKnBhbmVsID0gJmNvbm5lY3Rvci0+cGFuZWw7DQo+PiA+ Pj4gKwl1MzIgcHdtX2N0bCwgdmFsOw0KPj4gPj4+ICsNCj4+ID4+PiArCXBhbmVsLT5iYWNrbGln aHQuY29udHJvbGxlciA9DQo+PiA+Pj4gK2Rldl9wcml2LT52YnQuYmFja2xpZ2h0LmNvbnRyb2xs ZXI7DQo+PiA+Pj4gKw0KPj4gPj4+ICsJcHdtX2N0bCA9DQo+PiA+Pj4gK0k5MTVfUkVBRChCWFRf QkxDX1BXTV9DVEwocGFuZWwtPmJhY2tsaWdodC5jb250cm9sbGVyKSk7DQo+PiA+Pj4gKw0KPj4g Pj4+ICsJcGFuZWwtPmJhY2tsaWdodC5hY3RpdmVfbG93X3B3bSA9IHB3bV9jdGwgJg0KPj4gPj5C WFRfQkxDX1BXTV9QT0xBUklUWTsNCj4+ID4+PiArCXBhbmVsLT5iYWNrbGlnaHQubWF4ID0NCj4+ ID4+PiArCQlJOTE1X1JFQUQoQlhUX0JMQ19QV01fRlJFUShwYW5lbC0+YmFja2xpZ2h0LmNvbnRy b2xsZXIpKTsNCj4+ID4+PiArDQo+PiA+Pj4gKwlpZiAoIXBhbmVsLT5iYWNrbGlnaHQubWF4KQ0K Pj4gPj4+ICsJCXBhbmVsLT5iYWNrbGlnaHQubWF4ID0gZ2V0X2JhY2tsaWdodF9tYXhfdmJ0KGNv bm5lY3Rvcik7DQo+PiA+Pj4gKw0KPj4gPj4+ICsJaWYgKCFwYW5lbC0+YmFja2xpZ2h0Lm1heCkN Cj4+ID4+PiArCQlyZXR1cm4gLUVOT0RFVjsNCj4+ID4+PiArDQo+PiA+Pj4gKwl2YWwgPSBieHRf Z2V0X2JhY2tsaWdodChjb25uZWN0b3IpOw0KPj4gPj4+ICsJdmFsID0gaW50ZWxfcGFuZWxfY29t cHV0ZV9icmlnaHRuZXNzKGNvbm5lY3RvciwgdmFsKTsNCj4+ID4+PiArCXBhbmVsLT5iYWNrbGln aHQubGV2ZWwgPSBjbGFtcCh2YWwsIHBhbmVsLT5iYWNrbGlnaHQubWluLA0KPj4gPj4+ICsJCQkJ ICAgICAgIHBhbmVsLT5iYWNrbGlnaHQubWF4KTsNCj4+ID4+PiArDQo+PiA+Pj4gKwlwYW5lbC0+ YmFja2xpZ2h0LmVuYWJsZWQgPSBwd21fY3RsICYgQlhUX0JMQ19QV01fRU5BQkxFOw0KPj4gPj4+ ICsNCj4+ID4+PiArCXJldHVybiAwOw0KPj4gPj4+ICt9DQo+PiA+Pj4gKw0KPj4gPj4+ICBzdGF0 aWMgaW50IHB3bV9zZXR1cF9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVj dG9yLA0KPj4gPj4+ICAJCQkgICAgICAgZW51bSBwaXBlIHBpcGUpDQo+PiA+Pj4gIHsNCj4+ID4+ PiBAQCAtMTc1NCwxNiArMTgyOCwyMCBAQCBpbnRlbF9wYW5lbF9pbml0X2JhY2tsaWdodF9mdW5j cyhzdHJ1Y3QNCj4+ID4+PiBpbnRlbF9wYW5lbA0KPj4gPj4qcGFuZWwpDQo+PiA+Pj4gIAkgICAg aW50ZWxfZHNpX2Rjc19pbml0X2JhY2tsaWdodF9mdW5jcyhjb25uZWN0b3IpID09IDApDQo+PiA+ Pj4gIAkJcmV0dXJuOw0KPj4gPj4+DQo+PiA+Pj4gLQlpZiAoSVNfR0VOOV9MUChkZXZfcHJpdikg fHwgSEFTX1BDSF9DTlAoZGV2X3ByaXYpKSB7DQo+PiA+Pj4gKwlpZiAoSVNfR0VOOV9MUChkZXZf cHJpdikpIHsNCj4+ID4+PiAgCQlwYW5lbC0+YmFja2xpZ2h0LnNldHVwID0gYnh0X3NldHVwX2Jh Y2tsaWdodDsNCj4+ID4+PiAgCQlwYW5lbC0+YmFja2xpZ2h0LmVuYWJsZSA9IGJ4dF9lbmFibGVf YmFja2xpZ2h0Ow0KPj4gPj4+ICAJCXBhbmVsLT5iYWNrbGlnaHQuZGlzYWJsZSA9IGJ4dF9kaXNh YmxlX2JhY2tsaWdodDsNCj4+ID4+PiAgCQlwYW5lbC0+YmFja2xpZ2h0LnNldCA9IGJ4dF9zZXRf YmFja2xpZ2h0Ow0KPj4gPj4+ICAJCXBhbmVsLT5iYWNrbGlnaHQuZ2V0ID0gYnh0X2dldF9iYWNr bGlnaHQ7DQo+PiA+Pj4gLQkJaWYgKElTX0dFTjlfTFAoZGV2X3ByaXYpKQ0KPj4gPj4+IC0JCQlw YW5lbC0+YmFja2xpZ2h0Lmh6X3RvX3B3bSA9IGJ4dF9oel90b19wd207DQo+PiA+Pj4gLQkJZWxz ZQ0KPj4gPj4+IC0JCQlwYW5lbC0+YmFja2xpZ2h0Lmh6X3RvX3B3bSA9IGNucF9oel90b19wd207 DQo+PiA+Pj4gKwkJcGFuZWwtPmJhY2tsaWdodC5oel90b19wd20gPSBieHRfaHpfdG9fcHdtOw0K Pj4gPj4+ICsJfSBlbHNlIGlmIChIQVNfUENIX0NOUChkZXZfcHJpdikpIHsNCj4+ID4+PiArCQlw YW5lbC0+YmFja2xpZ2h0LnNldHVwID0gY25wX3NldHVwX2JhY2tsaWdodDsNCj4+ID4+PiArCQlw YW5lbC0+YmFja2xpZ2h0LmVuYWJsZSA9IGNucF9lbmFibGVfYmFja2xpZ2h0Ow0KPj4gPj4+ICsJ CXBhbmVsLT5iYWNrbGlnaHQuZGlzYWJsZSA9IGNucF9kaXNhYmxlX2JhY2tsaWdodDsNCj4+ID4+ PiArCQlwYW5lbC0+YmFja2xpZ2h0LnNldCA9IGJ4dF9zZXRfYmFja2xpZ2h0Ow0KPj4gPj4+ICsJ CXBhbmVsLT5iYWNrbGlnaHQuZ2V0ID0gYnh0X2dldF9iYWNrbGlnaHQ7DQo+PiA+Pj4gKwkJcGFu ZWwtPmJhY2tsaWdodC5oel90b19wd20gPSBjbnBfaHpfdG9fcHdtOw0KPj4gPj4+ICAJfSBlbHNl IGlmIChIQVNfUENIX0xQVChkZXZfcHJpdikgfHwgSEFTX1BDSF9TUFQoZGV2X3ByaXYpIHx8DQo+ PiA+Pj4gIAkJICAgSEFTX1BDSF9LQlAoZGV2X3ByaXYpKSB7DQo+PiA+Pj4gIAkJcGFuZWwtPmJh Y2tsaWdodC5zZXR1cCA9IGxwdF9zZXR1cF9iYWNrbGlnaHQ7DQo+PiA+Pg0KPj4gPj4tLQ0KPj4g Pj5KYW5pIE5pa3VsYSwgSW50ZWwgT3BlbiBTb3VyY2UgVGVjaG5vbG9neSBDZW50ZXINCj4+DQoN Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdm eCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=