From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4A99210E009 for ; Fri, 25 Nov 2022 05:13:31 +0000 (UTC) From: "Iddamsetty, Aravind" To: "Gupta, Anshuman" , "igt-dev@lists.freedesktop.org" Date: Fri, 25 Nov 2022 05:13:18 +0000 Message-ID: References: <20221123085441.2821638-1-anshuman.gupta@intel.com> <20221123085441.2821638-6-anshuman.gupta@intel.com> In-Reply-To: Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [igt-dev] [PATCH i-g-t v3 5/5] tests/device_reset: Add cold reset IGT test List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Nilawar, Badal" , "Vivi, Rodrigo" Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" List-ID: DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogR3VwdGEsIEFuc2h1bWFu IDxhbnNodW1hbi5ndXB0YUBpbnRlbC5jb20+DQo+IFNlbnQ6IEZyaWRheSwgTm92ZW1iZXIgMjUs IDIwMjIgMTA6MjQgQU0NCj4gVG86IElkZGFtc2V0dHksIEFyYXZpbmQgPGFyYXZpbmQuaWRkYW1z ZXR0eUBpbnRlbC5jb20+OyBpZ3QtDQo+IGRldkBsaXN0cy5mcmVlZGVza3RvcC5vcmcNCj4gQ2M6 IFZpdmksIFJvZHJpZ28gPHJvZHJpZ28udml2aUBpbnRlbC5jb20+OyBrYW1pbC5rb25pZWN6bnlA bGludXguaW50ZWwuY29tOw0KPiBUYW5ndWR1LCBUaWxhayA8dGlsYWsudGFuZ3VkdUBpbnRlbC5j b20+OyBOaWxhd2FyLCBCYWRhbA0KPiA8YmFkYWwubmlsYXdhckBpbnRlbC5jb20+DQo+IFN1Ympl Y3Q6IFJFOiBbUEFUQ0ggaS1nLXQgdjMgNS81XSB0ZXN0cy9kZXZpY2VfcmVzZXQ6IEFkZCBjb2xk IHJlc2V0IElHVCB0ZXN0DQo+IA0KPiANCj4gDQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t LS0NCj4gPiBGcm9tOiBJZGRhbXNldHR5LCBBcmF2aW5kIDxhcmF2aW5kLmlkZGFtc2V0dHlAaW50 ZWwuY29tPg0KPiA+IFNlbnQ6IEZyaWRheSwgTm92ZW1iZXIgMjUsIDIwMjIgOTo1NyBBTQ0KPiA+ IFRvOiBHdXB0YSwgQW5zaHVtYW4gPGFuc2h1bWFuLmd1cHRhQGludGVsLmNvbT47IGlndC0NCj4g PiBkZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnDQo+ID4gQ2M6IFZpdmksIFJvZHJpZ28gPHJvZHJp Z28udml2aUBpbnRlbC5jb20+Ow0KPiA+IGthbWlsLmtvbmllY3pueUBsaW51eC5pbnRlbC5jb207 IFRhbmd1ZHUsIFRpbGFrDQo+ID4gPHRpbGFrLnRhbmd1ZHVAaW50ZWwuY29tPjsgTmlsYXdhciwg QmFkYWwgPGJhZGFsLm5pbGF3YXJAaW50ZWwuY29tPg0KPiA+IFN1YmplY3Q6IFJlOiBbUEFUQ0gg aS1nLXQgdjMgNS81XSB0ZXN0cy9kZXZpY2VfcmVzZXQ6IEFkZCBjb2xkIHJlc2V0DQo+ID4gSUdU IHRlc3QNCj4gPg0KPiA+DQo+ID4NCj4gPiBPbiAyMy0xMS0yMDIyIDE0OjI0LCBBbnNodW1hbiBH dXB0YSB3cm90ZToNCj4gPiA+IEFkZCBjb2xkLXJlc2V0IElHVCBzdWJ0ZXN0LCBJR1Qgc3VidGVz dCB3aWxsIHVzZQ0KPiA+ID4gL3N5cy9idXMvcGNpL3Nsb3RzLyRTVU4vcG93ZXIgc3lzZnMgaW4g b3JkZXIgdG8gaW5pdGlhdGUgYSBjb2xkDQo+ID4gPiByZXNldCBzZXF1ZW5jZS4gJFNVTiB2YWx1 ZSB3aWxsIGJlIHJldHJpZXZlZCBmcm9tIFBDSWUgZGV2aWNlIEFDUEkNCj4gPiA+IGZpcm13YXJl IG5vZGUuDQo+ID4gPg0KPiA+ID4gdjI6DQo+ID4gPiAtICVzL2lndF9yZXF1aXJlKGZkID4gMCkv aWd0X2Fzc2VydChlcnJubyA+MCkNCj4gPiA+IHYzOg0KPiA+ID4gLSBBZGRlZCBTbG90IFBvd2Vy IENvbnRyb2xsZXIgY2FwYWJpbGl0eSBjaGVjay4gW0FyYXZpbmRdDQo+ID4gPiAtIENoZWNrIHdo ZXRoZXIgc2xvdCBpcyBwb3dlcmVkIGRvd24gYmVmb3JlIHBvd2VyaW5nIHVwLiBbQXJhdmluZF0N Cj4gPiA+DQo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBBbnNodW1hbiBHdXB0YSA8YW5zaHVtYW4uZ3Vw dGFAaW50ZWwuY29tPg0KPiA+ID4gUmV2aWV3ZWQtYnk6IEJhZGFsIE5pbGF3YXIgPGJhZGFsLm5p bGF3YXJAaW50ZWwuY29tPg0KPiA+ID4gLS0tDQo+ID4gPiAgbGliL2lndF9wbS5jICAgICAgICAg fCAgNDAgKysrKysrKysrKysNCj4gPiA+ICBsaWIvaWd0X3BtLmggICAgICAgICB8ICAgMSArDQo+ ID4gPiAgdGVzdHMvZGV2aWNlX3Jlc2V0LmMgfCAxNTMNCj4gPiA+ICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKystLS0NCj4gPiA+ICAzIGZpbGVzIGNoYW5nZWQsIDE4NCBp bnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkNCj4gPiA+DQo+ID4gPiBkaWZmIC0tZ2l0IGEv bGliL2lndF9wbS5jIGIvbGliL2lndF9wbS5jIGluZGV4DQo+ID4gPiA0ZjBjZmJkZDEwLi45Yjdl ZDRiZTY0DQo+ID4gPiAxMDA2NDQNCj4gPiA+IC0tLSBhL2xpYi9pZ3RfcG0uYw0KPiA+ID4gKysr IGIvbGliL2lndF9wbS5jDQo+ID4gPiBAQCAtODc3LDYgKzg3Nyw0NiBAQCBzdGF0aWMgaW50DQo+ IGlndF9wbV9vcGVuX3BjaV9maXJtd2FyZV9ub2RlKHN0cnVjdA0KPiA+IHBjaV9kZXZpY2UgKnBj aV9kZXYpDQo+ID4gPiAgCXJldHVybiBkaXI7DQo+ID4gPiAgfQ0KPiA+ID4NCj4gPiA+ICsvKioN Cj4gPiA+ICsgKiBpZ3RfcG1fZ2V0X3BjaWVfYWNwaWhwX3Nsb3Q6DQo+ID4gPiArICogQHBjaV9k ZXY6IHBjaSBicmlkZ2UgZGV2aWNlLg0KPiA+ID4gKyAqIEdldCBwY2kgYnJpZGdlIGFjcGkgaG90 cGx1ZyBzbG90IG51bWJlciwgaWYgYnJpZGdlJ3MgQUNQSQ0KPiA+ID4gK2Zpcm13YXJlX25vZGUN Cj4gPiA+ICsgKiBoYW5kbGUgc3VwcG9ydHMgX1NVTiBtZXRob2QuDQo+ID4gPiArICoNCj4gPiA+ ICsgKiBSZXR1cm5zOg0KPiA+ID4gKyAqIFBDSWUgYnJpZGdlIFNsb3QgbnVtYmVyLg0KPiA+ID4g KyAqIFJldHVybnMgLUVOT0VOVCBudW1iZXIgaW4gY2FzZSBmaXJtd2FyZV9ub2RlL3N1biBpcyBu b3QNCj4gPiA+ICtzdXBwb3J0ZWQgYnkgdGhlDQo+ID4gPiArICogYnJpZGdlLg0KPiA+ID4gKyAq Lw0KPiA+ID4gK2ludCBpZ3RfcG1fZ2V0X3BjaWVfYWNwaWhwX3Nsb3Qoc3RydWN0IHBjaV9kZXZp Y2UgKnBjaV9kZXYpIHsNCj4gPiA+ICsJaW50IGZpcm13YXJlX25vZGVfZmQsIGZkLCBuX3JlYWQ7 DQo+ID4gPiArCWNoYXIgc3VuWzhdOw0KPiA+ID4gKw0KPiA+ID4gKwlmaXJtd2FyZV9ub2RlX2Zk ID0gaWd0X3BtX29wZW5fcGNpX2Zpcm13YXJlX25vZGUocGNpX2Rldik7DQo+ID4gPiArDQo+ID4g PiArCWlmIChmaXJtd2FyZV9ub2RlX2ZkIDwgMCAmJiBlcnJubyA9PSBFTk9FTlQpDQo+ID4gPiAr CQlyZXR1cm4gLUVOT0VOVDsNCj4gPiA+ICsNCj4gPiA+ICsJaWd0X3JlcXVpcmUoZmlybXdhcmVf bm9kZV9mZCA+IDApOw0KPiA+ID4gKw0KPiA+ID4gKwlmZCA9IG9wZW5hdChmaXJtd2FyZV9ub2Rl X2ZkLCAic3VuIiwgT19SRE9OTFkpOw0KPiA+ID4gKwlpZiAoZmQgPCAwICYmIGVycm5vID09IEVO T0VOVCkgew0KPiA+ID4gKwkJY2xvc2UoZmlybXdhcmVfbm9kZV9mZCk7DQo+ID4gPiArCQlyZXR1 cm4gLUVOT0VOVDsNCj4gPiA+ICsJfQ0KPiA+ID4gKw0KPiA+ID4gKwlpZ3RfYXNzZXJ0KGVycm5v ID4gMCk7DQo+ID4gPiArDQo+ID4gPiArCW5fcmVhZCA9IHJlYWQoZmQsIHN1biwgc2l6ZW9mKHN1 bikpOw0KPiA+ID4gKwlpZ3RfYXNzZXJ0KG5fcmVhZCA+IDApOw0KPiA+ID4gKw0KPiA+ID4gKwlj bG9zZShmaXJtd2FyZV9ub2RlX2ZkKTsNCj4gPiA+ICsJY2xvc2UoZmQpOw0KPiA+ID4gKw0KPiA+ ID4gKwlyZXR1cm4gc3RydG9sKHN1biwgTlVMTCwgMTApOw0KPiA+ID4gK30NCj4gPiA+ICsNCj4g PiA+ICAvKioNCj4gPiA+ICAgKiBpZ3RfcG1fYWNwaV9kM2NvbGRfc3VwcG9ydGVkOg0KPiA+ID4g ICAqIEBwY2lfZGV2OiByb290IHBvcnQgcGNpX2Rldi4NCj4gPiA+IGRpZmYgLS1naXQgYS9saWIv aWd0X3BtLmggYi9saWIvaWd0X3BtLmggaW5kZXgNCj4gPiA+IGU4MWZjZWI4OTcuLmY2NWI5NjBj MzgNCj4gPiA+IDEwMDY0NA0KPiA+ID4gLS0tIGEvbGliL2lndF9wbS5oDQo+ID4gPiArKysgYi9s aWIvaWd0X3BtLmgNCj4gPiA+IEBAIC03Myw2ICs3Myw3IEBAIGJvb2wgaWd0X3dhaXRfZm9yX3Bt X3N0YXR1cyhlbnVtDQo+ID4gPiBpZ3RfcnVudGltZV9wbV9zdGF0dXMgc3RhdHVzKTsgIGJvb2wg aWd0X3BtX2RtY19sb2FkZWQoaW50IGRlYnVnZnMpOw0KPiA+ID4gYm9vbCBpZ3RfcG1fcGM4X3Bs dXNfcmVzaWRlbmNpZXNfZW5hYmxlZChpbnQgbXNyX2ZkKTsgIGJvb2wNCj4gPiA+IGk5MTVfb3V0 cHV0X2lzX2xwc3BfY2FwYWJsZShpbnQgZHJtX2ZkLCBpZ3Rfb3V0cHV0X3QgKm91dHB1dCk7DQo+ ID4gPiAraW50IGlndF9wbV9nZXRfcGNpZV9hY3BpaHBfc2xvdChzdHJ1Y3QgcGNpX2RldmljZSAq cGNpX2Rldik7DQo+ID4gPiAgYm9vbCBpZ3RfcG1fYWNwaV9kM2NvbGRfc3VwcG9ydGVkKHN0cnVj dCBwY2lfZGV2aWNlICpwY2lfZGV2KTsNCj4gPiA+IGVudW0gaWd0X2FjcGlfZF9zdGF0ZSAgaWd0 X3BtX2dldF9hY3BpX3JlYWxfZF9zdGF0ZShzdHJ1Y3QNCj4gPiA+IHBjaV9kZXZpY2UgKnBjaV9k ZXYpOyBkaWZmIC0tZ2l0IGEvdGVzdHMvZGV2aWNlX3Jlc2V0LmMNCj4gPiA+IGIvdGVzdHMvZGV2 aWNlX3Jlc2V0LmMgaW5kZXggMGM0NzdhMDJjMC4uNGM2MjRjZTdkMyAxMDA2NDQNCj4gPiA+IC0t LSBhL3Rlc3RzL2RldmljZV9yZXNldC5jDQo+ID4gPiArKysgYi90ZXN0cy9kZXZpY2VfcmVzZXQu Yw0KPiA+ID4gQEAgLTksNyArOSw5IEBADQo+ID4gPg0KPiA+ID4gICNpbmNsdWRlICJpOTE1L2dl bS5oIg0KPiA+ID4gICNpbmNsdWRlICJpZ3QuaCINCj4gPiA+ICsjaW5jbHVkZSAiaWd0X2Rldmlj ZS5oIg0KPiA+ID4gICNpbmNsdWRlICJpZ3RfZGV2aWNlX3NjYW4uaCINCj4gPiA+ICsjaW5jbHVk ZSAiaWd0X3BjaS5oIg0KPiA+ID4gICNpbmNsdWRlICJpZ3Rfc3lzZnMuaCINCj4gPiA+ICAjaW5j bHVkZSAiaWd0X2ttb2QuaCINCj4gPiA+DQo+ID4gPiBAQCAtMzMsNiArMzUsNyBAQCBzdHJ1Y3Qg ZGV2aWNlX2ZkcyB7DQo+ID4gPiAgCQlpbnQgZGV2Ow0KPiA+ID4gIAkJaW50IGRldl9kaXI7DQo+ ID4gPiAgCQlpbnQgZHJ2X2RpcjsNCj4gPiA+ICsJCWludCBzbG90X2RpcjsgLyogcGNpIGhvdHBs dWcgc2xvdHMgZmQgKi8NCj4gPiA+ICAJfSBmZHM7DQo+ID4gPiAgCWNoYXIgZGV2X2J1c19hZGRy W0RFVl9CVVNfQUREUl9MRU5dOw0KPiA+ID4gIAlib29sIHNuZF91bmxvYWQ7DQo+ID4gPiBAQCAt NjIsNiArNjUsNDUgQEAgc3RhdGljIGludCBvcGVuX2RyaXZlcl9zeXNmc19kaXIoaW50IGZkKQ0K PiA+ID4gIAlyZXR1cm4gX19vcGVuX3N5c2ZzX2RpcihmZCwgImRldmljZS9kcml2ZXIiKTsgIH0N Cj4gPiA+DQo+ID4gPiArc3RhdGljIGludCBvcGVuX3Nsb3Rfc3lzZnNfZGlyKGludCBmZCkgew0K PiA+ID4gKwlzdHJ1Y3QgcGNpX2RldmljZSAqcGNpX2RldiA9IE5VTEw7DQo+ID4gPiArCWludCBz bG90X2ZkID0gLTEsIHNsb3Q7DQo+ID4gPiArCWNoYXIgc2xvdF9mZF9wYXRoW1BBVEhfTUFYXTsN Cj4gPiA+ICsNCj4gPiA+ICsJcGNpX2RldiA9IGlndF9kZXZpY2VfZ2V0X3BjaV9kZXZpY2UoZmQp Ow0KPiA+ID4gKwlpZ3RfcmVxdWlyZShwY2lfZGV2KTsNCj4gPiA+ICsNCj4gPiA+ICsJd2hpbGUg KChwY2lfZGV2ID0gcGNpX2RldmljZV9nZXRfcGFyZW50X2JyaWRnZShwY2lfZGV2KSkpIHsNCj4g PiA+ICsJCXNsb3QgPSBpZ3RfcG1fZ2V0X3BjaWVfYWNwaWhwX3Nsb3QocGNpX2Rldik7DQo+ID4g PiArCQlpZiAoc2xvdCA9PSAtRU5PRU5UKSB7DQo+ID4gPiArCQkJaWd0X2RlYnVnKCJCcmlkZ2Ug UENJIGRldmljZSAlMDR4OiUwMng6JTAyeC4lMDF4DQo+ID4gZG9lcyBub3Qgc3VwcG9ydCBhY3Bp aHAgc2xvdFxuIiwNCj4gPiA+ICsJCQkJICBwY2lfZGV2LT5kb21haW4sIHBjaV9kZXYtPmJ1cywg cGNpX2Rldi0NCj4gPiA+ZGV2LCBwY2lfZGV2LT5mdW5jKTsNCj4gPiA+ICsJCQljb250aW51ZTsN Cj4gPiA+ICsJCX0NCj4gPiA+ICsNCj4gPiA+ICsJCS8qDQo+ID4gPiArCQkgKiBVcG9uIGdldHRp bmcgdGhlIHZhbGlkIGFjcGlocCBzbG90IG51bWJlciBicmVhayB0aGUgbG9vcC4NCj4gPiA+ICsJ CSAqIEl0IGlzIHRoZSBkZXNpcmVkIGFjcGlocCBzbG90IGZvciBnZnggY2FyZC4NCj4gPiA+ICsJ CSAqLw0KPiA+ID4gKwkJaWYgKHNsb3QgPiAwKSB7DQo+ID4gPiArCQkJaWd0X2RlYnVnKCJCcmlk Z2UgUENJIGRldmljZSAlMDR4OiUwMng6JTAyeC4lMDF4DQo+ID4gYXNzb2NpYXRlZCBhY3BpaHAg c2xvdCAlZFxuIiwNCj4gPiA+ICsJCQkJICBwY2lfZGV2LT5kb21haW4sIHBjaV9kZXYtPmJ1cywg cGNpX2Rldi0NCj4gPiA+ZGV2LCBwY2lfZGV2LT5mdW5jLCBzbG90KTsNCj4gPiA+ICsJCQlicmVh azsNCj4gPiA+ICsJCX0NCj4gPiA+ICsJfQ0KPiA+ID4gKw0KPiA+ID4gKwlpZiAoIXBjaV9kZXYp DQo+ID4gPiArCQlyZXR1cm4gc2xvdF9mZDsNCj4gPiA+ICsNCj4gPiA+ICsJc25wcmludGYoc2xv dF9mZF9wYXRoLCBQQVRIX01BWCwgIi9zeXMvYnVzL3BjaS9zbG90cy8lZCIsIHNsb3QpOw0KPiA+ ID4gKwlzbG90X2ZkID0gb3BlbihzbG90X2ZkX3BhdGgsIE9fUkRPTkxZKTsNCj4gPiA+ICsJaWYg KHNsb3RfZmQgPCAwKQ0KPiA+ID4gKwkJcmV0dXJuIC1lcnJubzsNCj4gPiA+ICsNCj4gPiA+ICsJ cmV0dXJuIHNsb3RfZmQ7DQo+ID4gPiArfQ0KPiA+ID4gKw0KPiA+ID4gIC8qKg0KPiA+ID4gICAq IGRldmljZV9zeXNmc19wYXRoOg0KPiA+ID4gICAqIEBmZDogb3BlbmVkIGRldmljZSBmaWxlIGRl c2NyaXB0b3IgQEAgLTEyNCw2ICsxNjYsOCBAQCBzdGF0aWMNCj4gPiA+IHZvaWQgaW5pdF9kZXZp Y2VfZmRzKHN0cnVjdCBkZXZpY2VfZmRzICpkZXYpDQo+ID4gPg0KPiA+ID4gIAlkZXYtPmZkcy5k cnZfZGlyID0gb3Blbl9kcml2ZXJfc3lzZnNfZGlyKGRldi0+ZmRzLmRldik7DQo+ID4gPiAgCWln dF9hc3NlcnRfZmQoZGV2LT5mZHMuZHJ2X2Rpcik7DQo+ID4gPiArDQo+ID4gPiArCWRldi0+ZmRz LnNsb3RfZGlyID0gb3Blbl9zbG90X3N5c2ZzX2RpcihkZXYtPmZkcy5kZXYpOw0KPiA+ID4gIH0N Cj4gPiA+DQo+ID4gPiAgc3RhdGljIGludCBjbG9zZV9pZl9vcGVuZWQoaW50ICpmZCkgQEAgLTE0 Miw2ICsxODYsNyBAQCBzdGF0aWMgdm9pZA0KPiA+ID4gY2xlYW51cF9kZXZpY2VfZmRzKHN0cnVj dCBkZXZpY2VfZmRzDQo+ID4gKmRldikNCj4gPiA+ICAJaWd0X2lnbm9yZV93YXJuKGNsb3NlX2lm X29wZW5lZCgmZGV2LT5mZHMuZGV2KSk7DQo+ID4gPiAgCWlndF9pZ25vcmVfd2FybihjbG9zZV9p Zl9vcGVuZWQoJmRldi0+ZmRzLmRldl9kaXIpKTsNCj4gPiA+ICAJaWd0X2lnbm9yZV93YXJuKGNs b3NlX2lmX29wZW5lZCgmZGV2LT5mZHMuZHJ2X2RpcikpOw0KPiA+ID4gKwlpZ3RfaWdub3JlX3dh cm4oY2xvc2VfaWZfb3BlbmVkKCZkZXYtPmZkcy5zbG90X2RpcikpOw0KPiA+ID4gIH0NCj4gPiA+ DQo+ID4gPiAgLyoqDQo+ID4gPiBAQCAtMTc5LDYgKzIyNCw2MCBAQCBzdGF0aWMgYm9vbCBpc19z eXNmc19yZXNldF9zdXBwb3J0ZWQoaW50IGZkKQ0KPiA+ID4gIAlyZXR1cm4gdHJ1ZTsNCj4gPiA+ ICB9DQo+ID4gPg0KPiA+ID4gKy8qKg0KPiA+ID4gKyAqIGlzX3N5c2ZzX2NvbGRfcmVzZXRfc3Vw cG9ydGVkOg0KPiA+ID4gKyAqIEBmZDogb3BlbmVkIGRldmljZSBmaWxlIGRlc2NyaXB0b3INCj4g PiA+ICsgKg0KPiA+ID4gKyAqIENoZWNrIGlmIGRldmljZSBzdXBwb3J0cyBjb2xkIHJlc2V0IGJh c2VkIG9uIHN5c2ZzIGZpbGUgcHJlc2VuY2UuDQo+ID4gPiArICoNCj4gPiA+ICsgKiBSZXR1cm5z Og0KPiA+ID4gKyAqIFRydWUgaWYgZGV2aWNlIHN1cHBvcnRzIHJlc2V0LCBmYWxzZSBvdGhlcndp c2UuDQo+ID4gPiArICovDQo+ID4gPiArc3RhdGljIGJvb2wgaXNfc3lzZnNfY29sZF9yZXNldF9z dXBwb3J0ZWQoaW50IHNsb3RfZmQpIHsNCj4gPiA+ICsJc3RydWN0IHN0YXQgc3Q7DQo+ID4gPiAr CWludCByYzsNCj4gPiA+ICsJaW50IGNvbGRfcmVzZXRfZmQgPSAtMTsNCj4gPiA+ICsNCj4gPiA+ ICsJY29sZF9yZXNldF9mZCA9IG9wZW5hdChzbG90X2ZkLCAicG93ZXIiLCBPX1dST05MWSk7DQo+ ID4gPiArDQo+ID4gPiArCWlmIChjb2xkX3Jlc2V0X2ZkIDwgMCkNCj4gPiA+ICsJCXJldHVybiBm YWxzZTsNCj4gPiA+ICsNCj4gPiA+ICsJcmMgPSBmc3RhdChjb2xkX3Jlc2V0X2ZkLCAmc3QpOw0K PiA+ID4gKwljbG9zZShjb2xkX3Jlc2V0X2ZkKTsNCj4gPiA+ICsNCj4gPiA+ICsJaWYgKHJjIHx8 ICFTX0lTUkVHKHN0LnN0X21vZGUpKQ0KPiA+ID4gKwkJcmV0dXJuIGZhbHNlOw0KPiA+ID4gKw0K PiA+ID4gKwlyZXR1cm4gdHJ1ZTsNCj4gPiA+ICt9DQo+ID4gPiArDQo+ID4NCj4gPiB3aHkgZG8g bm90IHlvdSBjb21iaW5lIHRoZSBiZWxvdyB0d28gY2hlY2tzIGludG8NCj4gPiBpc19zeXNmc19j b2xkX3Jlc2V0X3N1cHBvcnRlZCBhcyB0aGUgY2hlY2sgd2lsbCBiZSBkb25lIG9ubHkgaWYgcG93 ZXINCj4gPiBzeXNmcyBpcyBwcmVzZW50Lg0KPiBUaGFua3MgZm9yIHJldmlldyBhZnRlciB0aGlz IGNvbW1lbnQsIEkgYW0gcG9uZGVyaW5nIHRoYXQgIGl0IHdvdWxkIGJlIGJldHRlcg0KPiB0byBj aGVjayB0aGUNCj4gaXNfc2xvdF9wb3dlcl9jdHJsX3ByZXNlbnQoKSAgZXZlbiBiZWZvcmUgY2hl Y2tpbmcgZm9yIHNsb3QgbnVtYmVyIHRvIHNhdmUNCj4gdGhlIENJIHRpbWUuDQo+IEFzIHdpdGhv dXQgcG93ZXIgY29udHJvbGxlciBjYXBhYmlsaXR5IGl0IGlzIGluIHZhaW4gdG8gY2hlY2sgZm9y IHNsb3QgbnVtYmVyLg0KPiAgaWd0X3NraXBfb25fZighaXNfc2xvdF9wb3dlcl9jdHJsX3ByZXNl bnQoZGV2LmZkcy5kZXYpLCAiR2Z4IENhcmQgcm9vdCBwb3J0DQo+IGRvZXMgbm90IHN1cHBvcnQg cG93ZXIgY3RybCIpOyAgaWd0X3NraXBfb25fZihkZXYuZmRzLnNsb3RfZGlyIDwgMCwgIkdmeCBD YXJkDQo+IGRvZXMgbm90IHN1cHBvcnQgYW55ICINCj4gCQkJCSAgICAgICJwY2llIHNsb3QgZm9y IGNvbGQgcmVzZXRcbiIpOw0KPiBpZ3Rfc2tpcF9vbighaXNfc3lzZnNfY29sZF9yZXNldF9zdXBw b3J0ZWQoZGV2LmZkcy5zbG90X2RpcikpOw0KPiAgaWd0X3NraXBfb24oIWlzX3Nsb3RfcG93ZXJf Y3RybF9wcmVzZW50KGRldi5mZHMuZGV2KSk7DQoNClRoYXQncyB0cnVlLg0KDQpSZWdhcmRzLA0K QXJhdmluZC4NCj4gDQo+IEJSLA0KPiBBbnNodW1hbiBHdXB0YS4NCj4gPg0KPiA+IFRoYW5rcywN Cj4gPiBBcmF2aW5kLg0KPiA+ID4gK3N0YXRpYyBib29sIGlzX3BjaV9wb3dlcl9jdHJsX3ByZXNl bnQoc3RydWN0IHBjaV9kZXZpY2UgKmRldikgew0KPiA+ID4gKwlpbnQgb2Zmc2V0Ow0KPiA+ID4g Kwl1aW50MzJfdCBzbG90X2NhcDsNCj4gPiA+ICsNCj4gPiA+ICsJb2Zmc2V0ID0gZmluZF9wY2lf Y2FwX29mZnNldChkZXYsIFBDSV9FWFBSRVNTX0NBUF9JRCk7DQo+ID4gPiArCWlndF9yZXF1aXJl X2Yob2Zmc2V0ID4gMCwgIlBDSSBFeHByZXNzIENhcGFiaWxpdHkgbm90IGZvdW5kXG4iKTsNCj4g PiA+ICsJaWd0X2Fzc2VydCghcGNpX2RldmljZV9jZmdfcmVhZF91MzIoZGV2LCAmc2xvdF9jYXAs IG9mZnNldCArDQo+ID4gUENJX1NMT1RfQ0FQX09GRlNFVCkpOw0KPiA+ID4gKwlpZ3RfZGVidWco InNsb3QgY2FwIHJlZ2lzdGVyIDB4JXhcbiIsIHNsb3RfY2FwKTsNCj4gPiA+ICsNCj4gPiA+ICsJ cmV0dXJuIHNsb3RfY2FwICYgUENJX1NMT1RfUFdSX0NUUkxfUFJFU0VOVDsgfQ0KPiA+ID4gKw0K PiA+ID4gK3N0YXRpYyBib29sIGlzX3Nsb3RfcG93ZXJfY3RybF9wcmVzZW50KGludCBmZCkgew0K PiA+ID4gKwlzdHJ1Y3QgcGNpX2RldmljZSAqcm9vdDsNCj4gPiA+ICsNCj4gPiA+ICsJLyoNCj4g PiA+ICsJICogQ2FyZCByb290IHBvcnQgU2xvdCBDYXBhYmlsaXRpZXMgUmVnaXN0ZXINCj4gPiA+ ICsJICogZGV0ZXJtaW5lcyBQb3dlciBDb250cm9sbGVyIFByZXNlbmNlLg0KPiA+ID4gKwkgKi8N Cj4gPiA+ICsJcm9vdCA9IGlndF9kZXZpY2VfZ2V0X3BjaV9yb290X3BvcnQoZmQpOw0KPiA+ID4g KwlyZXR1cm4gaXNfcGNpX3Bvd2VyX2N0cmxfcHJlc2VudChyb290KTsgfQ0KPiA+ID4gKw0KPiA+ ID4gIC8qIFVuYmluZCB0aGUgZHJpdmVyIGZyb20gdGhlIGRldmljZSAqLyAgc3RhdGljIHZvaWQN Cj4gPiA+IGRyaXZlcl91bmJpbmQoc3RydWN0IGRldmljZV9mZHMgKmRldikgIHsgQEAgLTIzMSw4 ICszMzAsMTMgQEAgc3RhdGljDQo+ID4gPiB2b2lkIGluaXRpYXRlX2RldmljZV9yZXNldChzdHJ1 Y3QgZGV2aWNlX2ZkcyAqZGV2LCBlbnVtIHJlc2V0IHR5cGUpICB7DQo+ID4gPiAgCWlndF9kZWJ1 ZygicmVzZXQgZGV2aWNlXG4iKTsNCj4gPiA+DQo+ID4gPiAtCWlmICh0eXBlID09IEZMUl9SRVNF VCkNCj4gPiA+ICsJaWYgKHR5cGUgPT0gRkxSX1JFU0VUKSB7DQo+ID4gPiAgCQlpZ3RfYXNzZXJ0 KGlndF9zeXNmc19zZXQoZGV2LT5mZHMuZGV2X2RpciwgInJlc2V0IiwgIjEiKSk7DQo+ID4gPiAr CX0gZWxzZSBpZiAodHlwZSA9PSBDT0xEX1JFU0VUKSB7DQo+ID4gPiArCQlpZ3RfYXNzZXJ0KGln dF9zeXNmc19zZXQoZGV2LT5mZHMuc2xvdF9kaXIsICJwb3dlciIsICIwIikpOw0KPiA+ID4gKwkJ aWd0X2Fzc2VydCghaWd0X3N5c2ZzX2dldF9ib29sZWFuKGRldi0+ZmRzLnNsb3RfZGlyLA0KPiA+ ICJwb3dlciIpKTsNCj4gPiA+ICsJCWlndF9hc3NlcnQoaWd0X3N5c2ZzX3NldChkZXYtPmZkcy5z bG90X2RpciwgInBvd2VyIiwgIjEiKSk7DQo+ID4gPiArCX0NCj4gPiA+DQo+ID4gPiAgfQ0KPiA+ ID4NCj4gPiA+IEBAIC0zMTEsMTcgKzQxNSw0NiBAQCBpZ3RfbWFpbg0KPiA+ID4gIAkJaWd0X3Nr aXBfb24oIWlzX3N5c2ZzX3Jlc2V0X3N1cHBvcnRlZChkZXYuZmRzLmRldikpOw0KPiA+ID4gIAl9 DQo+ID4gPg0KPiA+ID4gLQlpZ3RfZGVzY3JpYmUoIlVuYmluZHMgZHJpdmVyIGZyb20gZGV2aWNl LCBpbml0aWF0ZXMgcmVzZXQiDQo+ID4gPiAtCQkgICAgICIgdGhlbiByZWJpbmRzIGRyaXZlciB0 byBkZXZpY2UiKTsNCj4gPiA+IC0JaWd0X3N1YnRlc3QoInVuYmluZC1yZXNldC1yZWJpbmQiKSB7 DQo+ID4gPiAtCQl1bmJpbmRfcmVzZXRfcmViaW5kKCZkZXYsIEZMUl9SRVNFVCk7DQo+ID4gPiAt CQloZWFsdGhjaGVjaygmZGV2KTsNCj4gPiA+ICsJaWd0X3N1YnRlc3RfZ3JvdXAgew0KPiA+ID4g KwkJaWd0X2Rlc2NyaWJlKCJVbmJpbmRzIGRyaXZlciBmcm9tIGRldmljZSwgaW5pdGlhdGVzIHJl c2V0Ig0KPiA+ID4gKwkJCSAgICAgIiB0aGVuIHJlYmluZHMgZHJpdmVyIHRvIGRldmljZSIpOw0K PiA+ID4gKwkJaWd0X3N1YnRlc3QoInVuYmluZC1yZXNldC1yZWJpbmQiKSB7DQo+ID4gPiArCQkJ dW5iaW5kX3Jlc2V0X3JlYmluZCgmZGV2LCBGTFJfUkVTRVQpOw0KPiA+ID4gKwkJCWhlYWx0aGNo ZWNrKCZkZXYpOw0KPiA+ID4gKwkJfQ0KPiA+ID4gKw0KPiA+ID4gKwkJaWd0X2Rlc2NyaWJlKCJS ZXNldHMgZGV2aWNlIHdpdGggYm91bmQgZHJpdmVyIik7DQo+ID4gPiArCQlpZ3Rfc3VidGVzdCgi cmVzZXQtYm91bmQiKSB7DQo+ID4gPiArCQkJaW5pdGlhdGVfZGV2aWNlX3Jlc2V0KCZkZXYsIEZM Ul9SRVNFVCk7DQo+ID4gPiArCQkJLyoNCj4gPiA+ICsJCQkgKiBDb2xkIHJlc2V0IHdpbGwgaW5p dGlhdGUgY2FyZCBib290IHNlcXVlbmNlIGFnYWluLA0KPiA+ID4gKwkJCSAqIHRoZXJlZm9yZSBs ZXQgaGVhbHRoY2hlY2soKSByZS1lcGVuIHRoZSBkZXYgZmQuDQo+ID4gPiArCQkJICovDQo+ID4g PiArCQkJZGV2LmZkcy5kZXYgPSAtMTsNCj4gPiA+ICsJCQloZWFsdGhjaGVjaygmZGV2KTsNCj4g PiA+ICsJCX0NCj4gPiA+ICAJfQ0KPiA+ID4NCj4gPiA+IC0JaWd0X2Rlc2NyaWJlKCJSZXNldHMg ZGV2aWNlIHdpdGggYm91bmQgZHJpdmVyIik7DQo+ID4gPiAtCWlndF9zdWJ0ZXN0KCJyZXNldC1i b3VuZCIpIHsNCj4gPiA+IC0JCWluaXRpYXRlX2RldmljZV9yZXNldCgmZGV2LCBGTFJfUkVTRVQp Ow0KPiA+ID4gLQkJaGVhbHRoY2hlY2soJmRldik7DQo+ID4gPiArCWlndF9zdWJ0ZXN0X2dyb3Vw IHsNCj4gPiA+ICsJCWlndF9maXh0dXJlIHsNCj4gPiA+ICsJCQlpZ3Rfc2tpcF9vbl9mKGRldi5m ZHMuc2xvdF9kaXIgPCAwLCAiR2Z4IENhcmQgZG9lcw0KPiA+IG5vdCBzdXBwb3J0IGFueSAiDQo+ ID4gPiArCQkJCSAgICAgICJwY2llIHNsb3QgZm9yIGNvbGQgcmVzZXRcbiIpOw0KPiA+ID4gKw0K PiA+IAlpZ3Rfc2tpcF9vbighaXNfc3lzZnNfY29sZF9yZXNldF9zdXBwb3J0ZWQoZGV2LmZkcy5z bG90X2RpcikpOw0KPiA+ID4gKw0KPiA+IAlpZ3Rfc2tpcF9vbighaXNfc2xvdF9wb3dlcl9jdHJs X3ByZXNlbnQoZGV2LmZkcy5kZXYpKTsNCj4gPiA+ICsJCX0NCj4gPiA+ICsNCj4gPiA+ICsJCWln dF9kZXNjcmliZSgiVW5iaW5kcyBkcml2ZXIgZnJvbSBkZXZpY2UsIGluaXRpYXRlcyBjb2xkDQo+ ID4gcmVzZXQiDQo+ID4gPiArCQkJICAgICAiIHRoZW4gcmViaW5kcyBkcml2ZXIgdG8gZGV2aWNl Iik7DQo+ID4gPiArCQlpZ3Rfc3VidGVzdCgidW5iaW5kLWNvbGQtcmVzZXQtcmViaW5kIikgew0K PiA+ID4gKwkJCXVuYmluZF9yZXNldF9yZWJpbmQoJmRldiwgQ09MRF9SRVNFVCk7DQo+ID4gPiAr CQkJaGVhbHRoY2hlY2soJmRldik7DQo+ID4gPiArCQl9DQo+ID4gPiArDQo+ID4gPiArCQlpZ3Rf ZGVzY3JpYmUoIkNvbGQgUmVzZXRzIGRldmljZSB3aXRoIGJvdW5kIGRyaXZlciIpOw0KPiA+ID4g KwkJaWd0X3N1YnRlc3QoImNvbGQtcmVzZXQtYm91bmQiKSB7DQo+ID4gPiArCQkJaW5pdGlhdGVf ZGV2aWNlX3Jlc2V0KCZkZXYsIENPTERfUkVTRVQpOw0KPiA+ID4gKwkJCWhlYWx0aGNoZWNrKCZk ZXYpOw0KPiA+ID4gKwkJfQ0KPiA+ID4gIAl9DQo+ID4gPg0KPiA+ID4gIAlpZ3RfZml4dHVyZSB7 DQo=