From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.1 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY,URIBL_BLOCKED, USER_AGENT_SANE_2 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 79BB4C4338F for ; Fri, 30 Jul 2021 03:47:14 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 2915460F46 for ; Fri, 30 Jul 2021 03:47:14 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 2915460F46 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 98AAF6F3BE; Fri, 30 Jul 2021 03:47:13 +0000 (UTC) Received: from mailgw01.mediatek.com (unknown [60.244.123.138]) by gabe.freedesktop.org (Postfix) with ESMTPS id 369286F3AA for ; Fri, 30 Jul 2021 03:47:12 +0000 (UTC) X-UUID: e168298e227f4d32bf8cd01fefc20514-20210730 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:From:Subject:Message-ID; bh=owA7PPiopdtLEkqvUt/D8q1r48A650Ld17Go7g08JjE=; b=dvqQbR796rMuN//HE7nRFXgIWuz+kbGpo53hPuCF/bF5FWJPur1XiqJcU+AaXfruAaEsT+XW8LjgCHTYkHdPgOj7W/q5yQqLE8VjzFVRUq3k1hYvbF++DCJtZmrbun+JqvuoRBGWdYZXOWjBKAjxhLKvIwyVP58rm3R7sVL4fvI=; X-UUID: e168298e227f4d32bf8cd01fefc20514-20210730 Received: from mtkcas10.mediatek.inc [(172.21.101.39)] by mailgw01.mediatek.com (envelope-from ) (Generic MTA with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 1961911769; Fri, 30 Jul 2021 11:47:09 +0800 Received: from mtkcas11.mediatek.inc (172.21.101.40) by mtkmbs05n1.mediatek.inc (172.21.101.15) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 30 Jul 2021 11:47:07 +0800 Received: from mtksdccf07 (172.21.84.99) by mtkcas11.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Fri, 30 Jul 2021 11:47:07 +0800 Message-ID: <655991e58c610ec56d6367029e1b780463b9a480.camel@mediatek.com> Subject: Re: [PATCH v2 09/14] soc: mediatek: mmsys: Add reset controller support for MT8195 vdosys1 From: Nancy.Lin To: Enric Balletbo Serra Date: Fri, 30 Jul 2021 11:47:07 +0800 In-Reply-To: References: <20210722094551.15255-1-nancy.lin@mediatek.com> <20210722094551.15255-10-nancy.lin@mediatek.com> <692eeb1314da94e28ccc8722b94c7ce8cae6c880.camel@mediatek.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.28.5-0ubuntu0.18.04.2 MIME-Version: 1.0 X-MTK: N Content-Transfer-Encoding: base64 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Chun-Kuang Hu , srv_heupstream , devicetree , David Airlie , "jason-jh . lin" , singo.chang@mediatek.com, linux-kernel , dri-devel , Matthias Brugger , Rob Herring , "moderated list:ARM/Mediatek SoC support" , Yongqiang Niu , Linux ARM Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" SGkgRW5yaWMsDQoNCk9uIFdlZCwgMjAyMS0wNy0yOCBhdCAxMjozMSArMDIwMCwgRW5yaWMgQmFs bGV0Ym8gU2VycmEgd3JvdGU6DQo+IEhpIE5hbmN5LA0KPiANCj4gTWlzc2F0Z2UgZGUgTmFuY3ku TGluIDxuYW5jeS5saW5AbWVkaWF0ZWsuY29tPiBkZWwgZGlhIGRjLiwgMjggZGUNCj4ganVsLg0K PiAyMDIxIGEgbGVzIDg6MDE6DQo+ID4gDQo+ID4gSGkgRW5yaWMsDQo+ID4gDQo+ID4gVGhhbmtz IGZvciB5b3VyIHJldmlldy4NCj4gPiANCj4gPiBPbiBGcmksIDIwMjEtMDctMjMgYXQgMTI6NTcg KzAyMDAsIEVucmljIEJhbGxldGJvIFNlcnJhIHdyb3RlOg0KPiA+ID4gSGkgTmFuY3ksDQo+ID4g PiANCj4gPiA+IFRoYW5rIHlvdSBmb3IgeW91ciBwYXRjaC4NCj4gPiA+IA0KPiA+ID4gTWlzc2F0 Z2UgZGUgTmFuY3kuTGluIDxuYW5jeS5saW5AbWVkaWF0ZWsuY29tPiBkZWwgZGlhIGRqLiwgMjIg ZGUNCj4gPiA+IGp1bC4NCj4gPiA+IDIwMjEgYSBsZXMgMTE6NDY6DQo+ID4gPiA+IA0KPiA+ID4g PiBBbW9uZyBvdGhlciBmZWF0dXJlcyB0aGUgbW1zeXMgZHJpdmVyIHNob3VsZCBpbXBsZW1lbnQg YSByZXNldA0KPiA+ID4gPiBjb250cm9sbGVyIHRvIGJlIGFibGUgdG8gcmVzZXQgZGlmZmVyZW50 IGJpdHMgZnJvbSB0aGVpciBzcGFjZS4NCj4gPiA+ID4gDQo+ID4gPiANCj4gPiA+IEknbSB3b3Jr aW5nIG9uIGEgc2VyaWVzIHRoYXQgZG9lcyB0aGUgc2FtZSwgaXQgc2hvdWxkIGJlIG5pY2UgaWYN Cj4gPiA+IHdlDQo+ID4gPiBjYW4gY29vcmRpbmF0ZSBbMV0NCj4gPiA+IA0KPiA+ID4gWzFdDQo+ ID4gPiANCmh0dHBzOi8vdXJsZGVmZW5zZS5jb20vdjMvX19odHRwczovL3BhdGNod29yay5rZXJu ZWwub3JnL3Byb2plY3QvbGludXgtbWVkaWF0ZWsvbGlzdC8/c2VyaWVzPTUxNTM1NV9fOyEhQ1RS TktBOXdNZzBBUmJ3IXhQNktvOWhGLTNLYXNHZ3I3LThBYnlfdEN3aVUyTTZnRkJBbmdETFZjSmp6 b29qLU1FZVRjTkc4Y2YyZTl3R2IkDQo+ID4gPiANCj4gPiA+IA0KPiA+IA0KPiA+IE9LLCBJIHdp bGwgYWRkIHRoaXMgc2VyaWVzIHRvIG15IHJlZmVyZW5jZSBiYXNlIGluIHRoZSBuZXh0IHBhdGNo DQo+ID4gcmV2aXNpb24uDQo+ID4gDQo+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IE5hbmN5LkxpbiA8 bmFuY3kubGluQG1lZGlhdGVrLmNvbT4NCj4gPiA+ID4gLS0tDQo+ID4gPiA+ICBkcml2ZXJzL3Nv Yy9tZWRpYXRlay9tdDgxOTUtbW1zeXMuaCB8ICAxICsNCj4gPiA+ID4gIGRyaXZlcnMvc29jL21l ZGlhdGVrL210ay1tbXN5cy5jICAgIHwgNzcNCj4gPiA+ID4gKysrKysrKysrKysrKysrKysrKysr KysrKysrKysNCj4gPiA+ID4gIGRyaXZlcnMvc29jL21lZGlhdGVrL210ay1tbXN5cy5oICAgIHwg IDEgKw0KPiA+ID4gPiAgMyBmaWxlcyBjaGFuZ2VkLCA3OSBpbnNlcnRpb25zKCspDQo+ID4gPiA+ IA0KPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9zb2MvbWVkaWF0ZWsvbXQ4MTk1LW1tc3lz LmgNCj4gPiA+ID4gYi9kcml2ZXJzL3NvYy9tZWRpYXRlay9tdDgxOTUtbW1zeXMuaA0KPiA+ID4g PiBpbmRleCA0YmRiMjA4NzI1MGMuLmE3ZjZlMjc1YmZlNSAxMDA2NDQNCj4gPiA+ID4gLS0tIGEv ZHJpdmVycy9zb2MvbWVkaWF0ZWsvbXQ4MTk1LW1tc3lzLmgNCj4gPiA+ID4gKysrIGIvZHJpdmVy cy9zb2MvbWVkaWF0ZWsvbXQ4MTk1LW1tc3lzLmgNCj4gPiA+ID4gQEAgLTE1NCw2ICsxNTQsNyBA QA0KPiA+ID4gPiAgI2RlZmluZQ0KPiA+ID4gPiBESVNQX0RQX0lOVEYwX1NFTF9JTl9GUk9NX1ZE TzBfTUVSR0VfRExfQVNZTkNfTU9VVCAgICAgKDENCj4gPiA+ID4gPDwgMCkNCj4gPiA+ID4gICNk ZWZpbmUNCj4gPiA+ID4gRElTUF9EUF9JTlRGMF9TRUxfSU5fRlJPTV9WRE8wX0RTQ19ETF9BU1lO Q19NT1VUICAgICAgICgyDQo+ID4gPiA+IDw8IDApDQo+ID4gPiA+IA0KPiA+ID4gPiArI2RlZmlu ZSBNVDgxOTVfVkRPMV9TVzBfUlNUX0IgICAgICAgICAgIDB4MWQwDQo+ID4gPiA+ICAjZGVmaW5l IE1UODE5NV9WRE8xX01FUkdFMF9BU1lOQ19DRkdfV0QgICAgICAgIDB4ZTMwDQo+ID4gPiA+ICAj ZGVmaW5lIE1UODE5NV9WRE8xX01FUkdFMV9BU1lOQ19DRkdfV0QgICAgICAgIDB4ZTQwDQo+ID4g PiA+ICAjZGVmaW5lIE1UODE5NV9WRE8xX01FUkdFMl9BU1lOQ19DRkdfV0QgICAgICAgIDB4ZTUw DQo+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3NvYy9tZWRpYXRlay9tdGstbW1zeXMuYw0K PiA+ID4gPiBiL2RyaXZlcnMvc29jL21lZGlhdGVrL210ay1tbXN5cy5jDQo+ID4gPiA+IGluZGV4 IGQwZjRhNDA3ZjhmOC4uMWFlMDRlZmVhZGFiIDEwMDY0NA0KPiA+ID4gPiAtLS0gYS9kcml2ZXJz L3NvYy9tZWRpYXRlay9tdGstbW1zeXMuYw0KPiA+ID4gPiArKysgYi9kcml2ZXJzL3NvYy9tZWRp YXRlay9tdGstbW1zeXMuYw0KPiA+ID4gPiBAQCAtNCwxMCArNCwxMiBAQA0KPiA+ID4gPiAgICog QXV0aG9yOiBKYW1lcyBMaWFvIDxqYW1lc2pqLmxpYW9AbWVkaWF0ZWsuY29tPg0KPiA+ID4gPiAg ICovDQo+ID4gPiA+IA0KPiA+ID4gPiArI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+DQo+ID4gPiA+ ICAjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+DQo+ID4gPiA+ICAjaW5jbHVkZSA8bGludXgvaW8u aD4NCj4gPiA+ID4gICNpbmNsdWRlIDxsaW51eC9vZl9kZXZpY2UuaD4NCj4gPiA+ID4gICNpbmNs dWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4NCj4gPiA+ID4gKyNpbmNsdWRlIDxsaW51eC9y ZXNldC1jb250cm9sbGVyLmg+DQo+ID4gPiA+ICAjaW5jbHVkZSA8bGludXgvc29jL21lZGlhdGVr L210ay1tbXN5cy5oPg0KPiA+ID4gPiANCj4gPiA+ID4gICNpbmNsdWRlICJtdGstbW1zeXMuaCIN Cj4gPiA+ID4gQEAgLTE1LDYgKzE3LDggQEANCj4gPiA+ID4gICNpbmNsdWRlICJtdDgxODMtbW1z eXMuaCINCj4gPiA+ID4gICNpbmNsdWRlICJtdDgxOTUtbW1zeXMuaCINCj4gPiA+ID4gDQo+ID4g PiA+ICsjZGVmaW5lIE1NU1lTX1NXX1JFU0VUX1BFUl9SRUcgMzINCj4gPiA+ID4gKw0KPiA+ID4g PiAgc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfbW1zeXNfZHJpdmVyX2RhdGENCj4gPiA+ID4gbXQy NzAxX21tc3lzX2RyaXZlcl9kYXRhDQo+ID4gPiA+ID0gew0KPiA+ID4gPiAgICAgICAgIC5jbGtf ZHJpdmVyID0gImNsay1tdDI3MDEtbW0iLA0KPiA+ID4gPiAgICAgICAgIC5yb3V0ZXMgPSBtbXN5 c19kZWZhdWx0X3JvdXRpbmdfdGFibGUsDQo+ID4gPiA+IEBAIC02NSwxMiArNjksMTUgQEAgc3Rh dGljIGNvbnN0IHN0cnVjdCBtdGtfbW1zeXNfZHJpdmVyX2RhdGENCj4gPiA+ID4gbXQ4MTk1X3Zk b3N5czFfZHJpdmVyX2RhdGEgPSB7DQo+ID4gPiA+ICAgICAgICAgLm51bV9yb3V0ZXMgPSBBUlJB WV9TSVpFKG1tc3lzX210ODE5NV9yb3V0aW5nX3RhYmxlKSwNCj4gPiA+ID4gICAgICAgICAuY29u ZmlnID0gbW1zeXNfbXQ4MTk1X2NvbmZpZ190YWJsZSwNCj4gPiA+ID4gICAgICAgICAubnVtX2Nv bmZpZ3MgPSBBUlJBWV9TSVpFKG1tc3lzX210ODE5NV9jb25maWdfdGFibGUpLA0KPiA+ID4gPiAr ICAgICAgIC5zd19yZXNldF9zdGFydCA9IE1UODE5NV9WRE8xX1NXMF9SU1RfQiwNCj4gPiA+IA0K PiA+ID4gVGhhdCBjaGFuZ2UgaXMgaW50ZXJlc3RpbmcgYW5kIEkgdGhpbmsgSSBzaG91bGQgYWxz byB0YWtlIGl0IGludG8NCj4gPiA+IGNvbnNpZGVyYXRpb24gd2l0aCBteSBzZXJpZXMuDQo+ID4g PiANCj4gPiA+ID4gIH07DQo+ID4gPiA+IA0KPiA+ID4gPiAgc3RydWN0IG10a19tbXN5cyB7DQo+ ID4gPiA+ICAgICAgICAgdm9pZCBfX2lvbWVtICpyZWdzOw0KPiA+ID4gPiAgICAgICAgIHN0cnVj dCBjbWRxX2NsaWVudF9yZWcgY21kcV9iYXNlOw0KPiA+ID4gPiAgICAgICAgIGNvbnN0IHN0cnVj dCBtdGtfbW1zeXNfZHJpdmVyX2RhdGEgKmRhdGE7DQo+ID4gPiA+ICsgICAgICAgc3BpbmxvY2tf dCBsb2NrOyAvKiBwcm90ZWN0cyBtbXN5c19zd19yc3RfYiByZWcgKi8NCj4gPiA+IA0KPiA+ID4g U2VlbXMgdGhhdCBtbXN5c19zd19yc3RfYiByZWcgaGFzIGRpZmZlcmVudCBuYW1lcyBmb3IgZGlm ZmVyZW50DQo+ID4gPiBTb0NzPw0KPiA+ID4gSSBtZWFuIEkga25vdyB0aGF0IGZvciBNVDgxNzMg YW5kIE1UODE4MyB0aGUgcmVnaXN0ZXIgaXMgY2FsbGVkDQo+ID4gPiBtbXN5c19zdzBfcnN0X2Ig YnV0IGxvb2tzIGxpa2UgZm9yIE1UODE5NSB0aGUgbmFtZSBpcw0KPiA+ID4gdmRvMV9zdzBfcnN0 X2I/DQo+ID4gPiBTbyBtYXliZSB3ZSBzaG91bGQgdXBkYXRlIHRoaXMgY29tbWVudCB0byBiZSBt b3JlIGdlbmVyaWMuDQo+ID4gPiANCj4gPiANCj4gPiBZZXMsIHRoZSBuYW1lIG9mIE1UODE5NSB2 ZG9zeXMxIHN3IHJlc2V0IGlzIGNhbGxlZA0KPiA+IFZET1NZUzFfU1cwX1JTVF9CDQo+ID4gYW5k IHRoZSBuYW1lIG9mIHZkb3N5czAgc3cgcmVzZXQgaXMgY2FsbGVkIEdMT0JBTDBfU1cwX1JTVF9C LiBUaGV5DQo+ID4gaGF2ZQ0KPiA+IGEgZGlmZmVyZW50IG5hbWUuIE1heWJlIHdlIGNhbiBjaGFu Z2UgdGhlIGNvbW1lbnQgdG8gInByb3RlY3RzDQo+ID4gbW1zeXMgc3cNCj4gPiByZXNldCByZWci Lg0KPiA+IA0KPiA+ID4gPiANCj4gPiA+ID4gKyAgICAgICBzdHJ1Y3QgcmVzZXRfY29udHJvbGxl cl9kZXYgcmNkZXY7DQo+ID4gPiA+ICB9Ow0KPiA+ID4gPiANCj4gPiA+ID4gIHZvaWQgbXRrX21t c3lzX2RkcF9jb25uZWN0KHN0cnVjdCBkZXZpY2UgKmRldiwNCj4gPiA+ID4gQEAgLTE0OCw2ICsx NTUsNjMgQEAgdm9pZCBtdGtfbW1zeXNfZGRwX2NvbmZpZyhzdHJ1Y3QgZGV2aWNlDQo+ID4gPiA+ ICpkZXYsDQo+ID4gPiA+IGVudW0gbXRrX21tc3lzX2NvbmZpZ190eXBlIGNvbmZpZywNCj4gPiA+ ID4gIH0NCj4gPiA+ID4gIEVYUE9SVF9TWU1CT0xfR1BMKG10a19tbXN5c19kZHBfY29uZmlnKTsN Cj4gPiA+ID4gDQo+ID4gPiA+ICtzdGF0aWMgaW50IG10a19tbXN5c19yZXNldF91cGRhdGUoc3Ry dWN0IHJlc2V0X2NvbnRyb2xsZXJfZGV2DQo+ID4gPiA+ICpyY2RldiwgdW5zaWduZWQgbG9uZyBp ZCwNCj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgYXNzZXJ0 KQ0KPiA+ID4gPiArew0KPiA+ID4gPiArICAgICAgIHN0cnVjdCBtdGtfbW1zeXMgKm1tc3lzID0g Y29udGFpbmVyX29mKHJjZGV2LCBzdHJ1Y3QNCj4gPiA+ID4gbXRrX21tc3lzLCByY2Rldik7DQo+ ID4gPiA+ICsgICAgICAgdW5zaWduZWQgbG9uZyBmbGFnczsNCj4gPiA+ID4gKyAgICAgICB1MzIg cmVnOw0KPiA+ID4gPiArICAgICAgIGludCBpOw0KPiA+ID4gPiArICAgICAgIHUzMiBvZmZzZXQ7 DQo+ID4gPiA+ICsNCj4gPiA+ID4gKyAgICAgICBvZmZzZXQgPSAoaWQgLyBNTVNZU19TV19SRVNF VF9QRVJfUkVHKSAqIHNpemVvZih1MzIpOw0KPiA+ID4gPiArICAgICAgIGlkID0gMSA8PCAoaWQg JSBNTVNZU19TV19SRVNFVF9QRVJfUkVHKTsNCj4gPiA+ID4gKw0KPiA+ID4gPiArICAgICAgIHNw aW5fbG9ja19pcnFzYXZlKCZtbXN5cy0+bG9jaywgZmxhZ3MpOw0KPiA+ID4gPiArDQo+ID4gPiA+ ICsgICAgICAgcmVnID0gcmVhZGxfcmVsYXhlZChtbXN5cy0+cmVncyArIG1tc3lzLT5kYXRhLQ0K PiA+ID4gPiA+IHN3X3Jlc2V0X3N0YXJ0ICsgb2Zmc2V0KTsNCj4gPiA+ID4gDQo+ID4gPiA+ICsN Cj4gPiA+ID4gKyAgICAgICBpZiAoYXNzZXJ0KQ0KPiA+ID4gPiArICAgICAgICAgICAgICAgcmVn ICY9IH5CSVQoaWQpOw0KPiA+ID4gPiArICAgICAgIGVsc2UNCj4gPiA+ID4gKyAgICAgICAgICAg ICAgIHJlZyB8PSBCSVQoaWQpOw0KPiA+ID4gPiArDQo+ID4gPiA+ICsgICAgICAgd3JpdGVsX3Jl bGF4ZWQocmVnLCBtbXN5cy0+cmVncyArIG1tc3lzLT5kYXRhLQ0KPiA+ID4gPiA+IHN3X3Jlc2V0 X3N0YXJ0ICsgb2Zmc2V0KTsNCj4gPiA+ID4gDQo+ID4gPiA+ICsNCj4gPiA+ID4gKyAgICAgICBz cGluX3VubG9ja19pcnFyZXN0b3JlKCZtbXN5cy0+bG9jaywgZmxhZ3MpOw0KPiA+ID4gPiArDQo+ ID4gPiA+ICsgICAgICAgcmV0dXJuIDA7DQo+ID4gPiA+ICt9DQo+ID4gPiA+ICsNCj4gPiA+ID4g K3N0YXRpYyBpbnQgbXRrX21tc3lzX3Jlc2V0X2Fzc2VydChzdHJ1Y3QgcmVzZXRfY29udHJvbGxl cl9kZXYNCj4gPiA+ID4gKnJjZGV2LCB1bnNpZ25lZCBsb25nIGlkKQ0KPiA+ID4gPiArew0KPiA+ ID4gPiArICAgICAgIHJldHVybiBtdGtfbW1zeXNfcmVzZXRfdXBkYXRlKHJjZGV2LCBpZCwgdHJ1 ZSk7DQo+ID4gPiA+ICt9DQo+ID4gPiA+ICsNCj4gPiA+ID4gK3N0YXRpYyBpbnQgbXRrX21tc3lz X3Jlc2V0X2RlYXNzZXJ0KHN0cnVjdA0KPiA+ID4gPiByZXNldF9jb250cm9sbGVyX2Rldg0KPiA+ ID4gPiAqcmNkZXYsIHVuc2lnbmVkIGxvbmcgaWQpDQo+ID4gPiA+ICt7DQo+ID4gPiA+ICsgICAg ICAgcmV0dXJuIG10a19tbXN5c19yZXNldF91cGRhdGUocmNkZXYsIGlkLCBmYWxzZSk7DQo+ID4g PiA+ICt9DQo+ID4gPiA+ICsNCj4gPiA+ID4gK3N0YXRpYyBpbnQgbXRrX21tc3lzX3Jlc2V0KHN0 cnVjdCByZXNldF9jb250cm9sbGVyX2RldiAqcmNkZXYsDQo+ID4gPiA+IHVuc2lnbmVkIGxvbmcg aWQpDQo+ID4gPiA+ICt7DQo+ID4gPiA+ICsgICAgICAgaW50IHJldDsNCj4gPiA+ID4gKw0KPiA+ ID4gPiArICAgICAgIHJldCA9IG10a19tbXN5c19yZXNldF9hc3NlcnQocmNkZXYsIGlkKTsNCj4g PiA+ID4gKyAgICAgICBpZiAocmV0KQ0KPiA+ID4gPiArICAgICAgICAgICAgICAgcmV0dXJuIHJl dDsNCj4gPiA+ID4gKw0KPiA+ID4gPiArICAgICAgIHVzbGVlcF9yYW5nZSgxMDAwLCAxMTAwKTsN Cj4gPiA+ID4gKw0KPiA+ID4gDQo+ID4gPiBPbmUgcXVlc3Rpb24gdGhhdCBJIHJlY2VpdmVkIGlu IG15IHNlcmllcywgYW5kIEkgY291bGRuJ3QgYW5zd2VyDQo+ID4gPiBiZWNhdXNlIEkgZG9uJ3Qg aGF2ZSB0aGUgZGF0YXNoZWV0LCBpcyBpZg0KPiA+ID4gaXMgdGhpcyBrbm93biB0byBiZSBlbm91 Z2ggZm9yIGFsbCBJUCBjb3JlcyB0aGF0IGNhbiBiZSByZXNldCBieQ0KPiA+ID4gdGhpcw0KPiA+ ID4gY29udHJvbGxlcj8gSXMgdGhpcyB0aW1lIHNwZWNpZmllZCBpbiB0aGUgZGF0YXNoZWV0Pw0K PiA+IA0KPiA+IEl0IG9ubHkgdGFrZXMgZmV3IGN5Y2xlcyBmb3IgdGhlIHJlc2V0LiBUaGUgMTAw MHVzIGlzIGVub3VnaCBmb3INCj4gPiB0aGUNCj4gPiByZXNldCB0byB0YWtlIGVmZmVjdC4NCj4g PiANCj4gDQo+IFNheWluZyBlbm91Z2ggbG9va3MgdG8gbWUgdGhhdCAxMDAwdXMgaXMgYSByYW5k b20gbnVtYmVyLCBpcyB0aGVyZQ0KPiBhbnkNCj4gc3BlY2lmaWMgcmVhbCBudW1iZXIgaW4gdGhl IGRhdGFzaGVldD8NCj4gDQo+IE5vdGUgdGhhdCBJJ20gbm90IGFnYWluc3QgaXQsIGp1c3Qgd2Fu dCB0byBtYWtlIHN1cmUgdGhlIG51bWJlciBtYWtlcw0KPiBzZW5zZS4NCj4gDQpObyByZWFsIG51 bWJlciBpcyBzcGVjaWZpZWQgaW4gdGhlIGRhdGFzaGVldC4gSSBjaGVja2VkIHdpdGggdGhlDQpo YXJkd2FyZSBkZXNpZ25lciwgYW5kIHRoZSByZXNldCB0YWtlcyBmb3VyIGN5Y2xlcyBvZiBtbSBJ UCBjb3Jlcy4NCg0KRm9yIGV4YW1wbGU6IElmIHRoZSBtbSBJUCBjb3JlcyBydW4gYXQgMjAwTUh6 LCAgaXQgd2lsbCB0YWtlDQoyMG5zKDQvMjAwTSkgZm9yIHRoZSByZXNldCB0byB0YWtlIGVmZmVj dC4NCg0KPiANCj4gPiA+ID4gKyAgICAgICByZXR1cm4gbXRrX21tc3lzX3Jlc2V0X2RlYXNzZXJ0 KHJjZGV2LCBpZCk7DQo+ID4gPiA+ICt9DQo+ID4gPiA+ICsNCj4gPiA+ID4gK3N0YXRpYyBjb25z dCBzdHJ1Y3QgcmVzZXRfY29udHJvbF9vcHMgbXRrX21tc3lzX3Jlc2V0X29wcyA9IHsNCj4gPiA+ ID4gKyAgICAgICAuYXNzZXJ0ID0gbXRrX21tc3lzX3Jlc2V0X2Fzc2VydCwNCj4gPiA+ID4gKyAg ICAgICAuZGVhc3NlcnQgPSBtdGtfbW1zeXNfcmVzZXRfZGVhc3NlcnQsDQo+ID4gPiA+ICsgICAg ICAgLnJlc2V0ID0gbXRrX21tc3lzX3Jlc2V0LA0KPiA+ID4gPiArfTsNCj4gPiA+ID4gKw0KPiA+ ID4gPiAgc3RhdGljIGludCBtdGtfbW1zeXNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAq cGRldikNCj4gPiA+ID4gIHsNCj4gPiA+ID4gICAgICAgICBzdHJ1Y3QgZGV2aWNlICpkZXYgPSAm cGRldi0+ZGV2Ow0KPiA+ID4gPiBAQCAtMTc0LDYgKzIzOCwxOSBAQCBzdGF0aWMgaW50IG10a19t bXN5c19wcm9iZShzdHJ1Y3QNCj4gPiA+ID4gcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KPiA+ID4g PiAgICAgICAgIGlmIChyZXQpDQo+ID4gPiA+ICAgICAgICAgICAgICAgICBkZXZfZGJnKGRldiwg Ik5vIG1lZGlhdGVrLGdjZS1jbGllbnQtcmVnIVxuIik7DQo+ID4gPiA+ICAjZW5kaWYNCj4gPiA+ ID4gKw0KPiA+ID4gPiArICAgICAgIHNwaW5fbG9ja19pbml0KCZtbXN5cy0+bG9jayk7DQo+ID4g PiA+ICsNCj4gPiA+ID4gKyAgICAgICBtbXN5cy0+cmNkZXYub3duZXIgPSBUSElTX01PRFVMRTsN Cj4gPiA+ID4gKyAgICAgICBtbXN5cy0+cmNkZXYubnJfcmVzZXRzID0gNjQ7DQo+ID4gPiANCj4g PiA+IElzIHRoZSBudW1iZXIgb2YgcmVzZXRzIDY0IGZvciBNVDgxOTU/IEkgdGhpbmsgaXMgMzIg Zm9yIE1UODE3Mw0KPiA+ID4gYW5kDQo+ID4gPiBNVDgxODMuIENhbiB5b3UgY29uZmlybT8NCj4g PiA+IA0KPiA+ID4gVGhhbmtzLA0KPiA+ID4gICBFbnJpYw0KPiA+ID4gDQo+ID4gDQo+ID4gVGhl IG51bWJlciBvZiByZXNldHMgaW4gTVQ4MTk1IHZkb3N5czEgaXMgNjQgKDQzIHJlc2V0cyBhcmUg dXNlZCwNCj4gPiAyMQ0KPiA+IGFyZSBub3QgdXNlZCkuDQo+ID4gDQo+IA0KPiBPaywgdGhhbmtz IGZvciB0aGUgaW5mb3JtYXRpb24uDQo+IA0KPiA+ID4gPiArICAgICAgIG1tc3lzLT5yY2Rldi5v cHMgPSAmbXRrX21tc3lzX3Jlc2V0X29wczsNCj4gPiA+ID4gKyAgICAgICBtbXN5cy0+cmNkZXYu b2Zfbm9kZSA9IHBkZXYtPmRldi5vZl9ub2RlOw0KPiA+ID4gPiArICAgICAgIHJldCA9IGRldm1f cmVzZXRfY29udHJvbGxlcl9yZWdpc3RlcigmcGRldi0+ZGV2LA0KPiA+ID4gPiAmbW1zeXMtDQo+ ID4gPiA+ID4gcmNkZXYpOw0KPiA+ID4gPiANCj4gPiA+ID4gKyAgICAgICBpZiAocmV0KSB7DQo+ ID4gPiA+ICsgICAgICAgICAgICAgICBkZXZfZXJyKCZwZGV2LT5kZXYsICJDb3VsZG4ndCByZWdp c3RlciBtbXN5cw0KPiA+ID4gPiByZXNldA0KPiA+ID4gPiBjb250cm9sbGVyOiAlZFxuIiwgcmV0 KTsNCj4gPiA+ID4gKyAgICAgICAgICAgICAgIHJldHVybiByZXQ7DQo+ID4gPiA+ICsgICAgICAg fQ0KPiA+ID4gPiArDQo+ID4gPiA+ICAgICAgICAgcGxhdGZvcm1fc2V0X2RydmRhdGEocGRldiwg bW1zeXMpOw0KPiA+ID4gPiANCj4gPiA+ID4gICAgICAgICBjbGtzID0gcGxhdGZvcm1fZGV2aWNl X3JlZ2lzdGVyX2RhdGEoJnBkZXYtPmRldiwgbW1zeXMtDQo+ID4gPiA+ID4gZGF0YS0+Y2xrX2Ry aXZlciwNCj4gPiA+ID4gDQo+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3NvYy9tZWRpYXRl ay9tdGstbW1zeXMuaA0KPiA+ID4gPiBiL2RyaXZlcnMvc29jL21lZGlhdGVrL210ay1tbXN5cy5o DQo+ID4gPiA+IGluZGV4IDA4NGIxZjVmM2M4OC4uY2M1N2MzODk1YzUxIDEwMDY0NA0KPiA+ID4g PiAtLS0gYS9kcml2ZXJzL3NvYy9tZWRpYXRlay9tdGstbW1zeXMuaA0KPiA+ID4gPiArKysgYi9k cml2ZXJzL3NvYy9tZWRpYXRlay9tdGstbW1zeXMuaA0KPiA+ID4gPiBAQCAtODcsNiArODcsNyBA QCBzdHJ1Y3QgbXRrX21tc3lzX2RyaXZlcl9kYXRhIHsNCj4gPiA+ID4gICAgICAgICBjb25zdCB1 bnNpZ25lZCBpbnQgbnVtX3JvdXRlczsNCj4gPiA+ID4gICAgICAgICBjb25zdCBzdHJ1Y3QgbXRr X21tc3lzX2NvbmZpZyAqY29uZmlnOw0KPiA+ID4gPiAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGlu dCBudW1fY29uZmlnczsNCj4gPiA+ID4gKyAgICAgICB1MzIgc3dfcmVzZXRfc3RhcnQ7DQo+ID4g PiA+ICB9Ow0KPiA+ID4gPiANCj4gPiA+ID4gIC8qDQo+ID4gPiA+IC0tDQo+ID4gPiA+IDIuMTgu MA0KPiA+ID4gPiANCg==