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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 8545FC433F5 for ; Thu, 9 Dec 2021 11:51:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Date:CC:To:From:Subject:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=MLP+NUkvhJpkoOrn9L18vDyPLQ8IIeAZmaB7Wf4MAy4=; b=xAe3I/RBBF9hqc RamNH8tU/BzrURbZekP+jrGQAA2qIdh/shkijZgzRs92aqp6yMAeGBHxxBX0IzEpmLSVs4IFnfeoU 8+79koeXSCDV1gml02qNL4Bu4OfJQOF5r5i6PqOPCq37wJSJrURiItk1E5fDebFMN0CatoEA5uSe9 NtjNZXebNYiGivP6ORNqLQntPQaGtZ41yyUtj6uoLRg50it+gAF71+aQIbfFt6CWdvXbb28oyOR2R WhSCVzrk5IuzJTw2MSUT+1c4l/Wr+McIfV4ovLmGAXb/5l4aQZ6lutXJpu9Y6xojbhg6+2gn0L6MK ZdSGZH45iOi/wP8a8OsQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mvHxE-00FqrR-RW; Thu, 09 Dec 2021 11:51:16 +0000 Received: from mailgw02.mediatek.com ([216.200.240.185]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mvHxB-00Fqqv-BD; Thu, 09 Dec 2021 11:51:15 +0000 X-UUID: 3826e2b567c4407097a7e181d456fa5e-20211209 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=EKGzfuC6Tlw4OMADdLVrT5dzmYsPNapRwE5UpjqS+mk=; b=Ty31ICIlKgiw5VvxLaBvrM3Ohid6Gl3pl8Bo2R3H44nOgzORuOeGgZjAsoDGO5lkPmgBBDbEGv2RUc6CxiHaZ1zlN/x41Bbhi4sRJaI0Wg9vD/ajziiDPAUvsLi3t/G+oHNVq11mfHW5sXR/Uggtwuy+YRAr0b7w2ktUpdkEqmg=; X-UUID: 3826e2b567c4407097a7e181d456fa5e-20211209 Received: from mtkcas66.mediatek.inc [(172.29.193.44)] by mailgw02.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 952051263; Thu, 09 Dec 2021 04:51:07 -0700 Received: from mtkmbs10n2.mediatek.inc (172.21.101.183) by MTKMBS62N2.mediatek.inc (172.29.193.42) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 9 Dec 2021 03:51:05 -0800 Received: from mtkcas10.mediatek.inc (172.21.101.39) by mtkmbs10n2.mediatek.inc (172.21.101.183) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.2.792.3; Thu, 9 Dec 2021 19:51:04 +0800 Received: from mhfsdcap04 (10.17.3.154) by mtkcas10.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Thu, 9 Dec 2021 19:51:02 +0800 Message-ID: <6e6fd0b50699616e7d943ec1c8bc4e71abd85f6f.camel@mediatek.com> Subject: Re: [RESEND PATCH v2] PCI: mediatek: Delay 100ms to wait power and clock to become stable From: qizhong.cheng To: Pali =?ISO-8859-1?Q?Roh=E1r?= CC: Bjorn Helgaas , Mark Kettenis , , , , , , , , , , , , , , Date: Thu, 9 Dec 2021 19:51:03 +0800 In-Reply-To: <20211208101836.pazwdloibn6d7iri@pali> References: <20211208041228.GA103736@bhelgaas> <20211208101836.pazwdloibn6d7iri@pali> X-Mailer: Evolution 3.28.5-0ubuntu0.18.04.2 MIME-Version: 1.0 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211209_035113_422712_3680E6BE X-CRM114-Status: GOOD ( 47.60 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org T24gV2VkLCAyMDIxLTEyLTA4IGF0IDExOjE4ICswMTAwLCBQYWxpIFJvaMOhciB3cm90ZToNCj4g T24gV2VkbmVzZGF5IDA4IERlY2VtYmVyIDIwMjEgMTQ6MDc6NTcgcWl6aG9uZy5jaGVuZyB3cm90 ZToNCj4gPiBPbiBUdWUsIDIwMjEtMTItMDcgYXQgMjI6MTIgLTA2MDAsIEJqb3JuIEhlbGdhYXMg d3JvdGU6DQo+ID4gPiBPbiBUdWUsIERlYyAwNywgMjAyMSBhdCAxMDowMDo0M1BNICswMTAwLCBN YXJrIEtldHRlbmlzIHdyb3RlOg0KPiA+ID4gPiA+IERhdGU6IFR1ZSwgNyBEZWMgMjAyMSAxMTo1 NDoxNiAtMDYwMA0KPiA+ID4gPiA+IEZyb206IEJqb3JuIEhlbGdhYXMgPGhlbGdhYXNAa2VybmVs Lm9yZz4NCj4gPiA+ID4gPiANCj4gPiA+ID4gPiBbK2NjIE1hcmMsIEFseXNzYSwgTWFyaywgTHVj YSBmb3IgcmVzZXQgdGltaW5nIHF1ZXN0aW9uc10NCj4gPiA+ID4gDQo+ID4gPiA+IEhpIEJqb3Ju LA0KPiA+ID4gPiANCj4gPiA+ID4gPiBPbiBUdWUsIERlYyAwNywgMjAyMSBhdCAwNDo0MTo1M1BN ICswODAwLCBxaXpob25nIGNoZW5nDQo+ID4gPiA+ID4gd3JvdGU6DQo+ID4gPiA+ID4gPiBEZXNj cmliZWQgaW4gUENJZSBDRU0gc3BlY2lmaWNhdGlvbiBzZWN0aW9ucyAyLjIgKFBFUlNUIw0KPiA+ ID4gPiA+ID4gU2lnbmFsKSBhbmQNCj4gPiA+ID4gPiA+IDIuMi4xIChJbml0aWFsIFBvd2VyLVVw IChHMyB0byBTMCkpLiBUaGUgZGVhc3NlcnRpb24gb2YNCj4gPiA+ID4gPiA+IFBFUlNUIw0KPiA+ ID4gPiA+ID4gc2hvdWxkDQo+ID4gPiA+ID4gPiBiZSBkZWxheWVkIDEwMG1zIChUUFZQRVJMKSBm b3IgdGhlIHBvd2VyIGFuZCBjbG9jayB0bw0KPiA+ID4gPiA+ID4gYmVjb21lDQo+ID4gPiA+ID4g PiBzdGFibGUuDQo+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IHFpemhv bmcgY2hlbmcgPHFpemhvbmcuY2hlbmdAbWVkaWF0ZWsuY29tPg0KPiA+ID4gPiA+ID4gQWNrZWQt Ynk6IFBhbGkgUm9ow6FyIDxwYWxpQGtlcm5lbC5vcmc+DQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4g Li4uDQo+ID4gDQo+ID4gMSkNCj4gPiAyKQ0KPiA+IFRoYW5rcyBmb3IgeW91ciByZW1pbmRpbmcg YW5kIHN1Z2dlc3Rpb24uDQo+ID4gDQo+ID4gPiA+ID4gMykgTW9zdCBpbXBvcnRhbnRseSwgdGhp cyBuZWVkcyB0byBiZSByZWNvbmNpbGVkIHdpdGggdGhlDQo+ID4gPiA+ID4gc2ltaWxhcg0KPiA+ ID4gPiA+IGNoYW5nZSB0byB0aGUgYXBwbGUgZHJpdmVyOg0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+ ICAgDQo+ID4gPiA+ID4gaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvci8yMDIxMTEyMzE4MDYzNi44 MDU1OC0yLW1hekBrZXJuZWwub3JnDQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4gSW4gdGhlIGFwcGxl IGRyaXZlciwgd2UncmUgZG9pbmc6DQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4gICAtIEFzc2VydCBQ RVJTVCMNCj4gPiA+ID4gPiAgIC0gU2V0IHVwIFJFRkNMSw0KPiA+ID4gPiA+ICAgLSBTbGVlcCAx MDB1cyAoVF9wZXJzdC1jbGssIENFTSByNSAyLjIsIDIuOS4yKQ0KPiA+ID4gPiA+ICAgLSBEZWFz c2VydCBQRVJTVCMNCj4gPiA+ID4gPiAgIC0gU2xlZXAgMTAwbXMgKG5vdCBzdXJlIHRoZXJlJ3Mg YSBuYW1lPyBQQ0llIHI1IDYuNi4xKQ0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+IEJ1dCBoZXJlIGlu IG1lZGlhdGVrLCB3ZSdyZSBkb2luZzoNCj4gPiA+ID4gPiANCj4gPiA+ID4gPiAgIC0gQXNzZXJ0 IFBFUlNUIw0KPiA+ID4gPiA+ICAgLSBTbGVlcCAxMDBtcyAoVF9wdnBlcmwsIENFTSByNSAyLjIs IDIuMi4xLCAyLjkuMikNCj4gPiA+ID4gPiAgIC0gRGVhc3NlcnQgUEVSU1QjDQo+ID4gPiA+ID4g DQo+ID4gPiA+ID4gTXkgcXVlc3Rpb25zOg0KPiA+ID4gPiANCj4gPiA+ID4gTXkgdW5kZXJzdGFu ZGluZyBvZiB0aGUgdGhlIEFwcGxlIFBDSWUgaGFyZHdhcmUgaXMgc29tZXdoYXQNCj4gPiA+ID4g bGltaXRlZA0KPiA+ID4gPiBidXQ6DQo+ID4gPiA+IA0KPiA+ID4gPiA+ICAgLSBXaGVyZSBkb2Vz IGFwcGxlIGVuZm9yY2UgVF9wdnBlcmw/ICBJIGNhbid0IHRlbGwgd2hlcmUNCj4gPiA+ID4gPiBw b3dlcg0KPiA+ID4gPiA+IHRvDQo+ID4gPiA+ID4gICAgIHRoZSBzbG90IGlzIHR1cm5lZCBvbi4N Cj4gPiA+ID4gDQo+ID4gPiA+IFNvIGZhciBhbGwgYXZhaWxhYmxlIG1hY2hpbmVzIG9ubHkgaGF2 ZSBQQ0llIGRldmljZXMgdGhhdCBhcmUNCj4gPiA+ID4gc29sZGVyZWQNCj4gPiA+ID4gb250byB0 aGUgbW90aGVyYm9hcmQsIHNvIHRoZXJlIGFyZSBubyAicmVhbCIgc2xvdHMuICBBcyBmYXIgYXMN Cj4gPiA+ID4gd2UNCj4gPiA+ID4gY2FuDQo+ID4gPiA+IHRlbGwgdGhlIFBDSWUgcG93ZXIgZG9t YWluIGlzIGFscmVhZHkgcG93ZXJlZCBvbiBhdCB0aGUgcG9pbnQNCj4gPiA+ID4gd2hlcmUNCj4g PiA+ID4gdGhlIG0xbjEgYm9vdGxvYWRlciB0YWtlcyBjb250cm9sLiAgVGhlcmUgaXMgYSBHUElP IHRoYXQNCj4gPiA+ID4gY29udHJvbHMNCj4gPiA+ID4gcG93ZXIgdG8gc29tZSBkZXZpY2VzIChX aUZpLCBTREhDIG9uIHRoZSBNMSBQcm8vTWF4IGxhcHRvcHMpDQo+ID4gPiA+IGFuZA0KPiA+ID4g PiB0aG9zZQ0KPiA+ID4gPiBkZXZpY2VzIGFyZSBpbml0aWFsbHkgcG93ZXJlZCBvZmYuICBUaGUg TGludXggZHJpdmVyIGRvZXNuJ3QNCj4gPiA+ID4gY3VycmVudGx5DQo+ID4gPiA+IGF0dGVtcHQg dG8gcG93ZXIgdGhlc2UgZGV2aWNlcyBvbiwgYnV0IFUtQm9vdCB3aWxsIHBvd2VyIHRoZW0NCj4g PiA+ID4gb24gaWYNCj4gPiA+ID4gdGhlIGFwcHJvcHJpYXRlIEdQSU8gaXMgZGVmaW5lZCBpbiB0 aGUgZGV2aWNlIHRyZWUuICBUaGUgd2F5DQo+ID4gPiA+IHRoaXMNCj4gPiA+ID4gaXMNCj4gPiA+ ID4gc3BlY2lmaWVkIGluIHRoZSBkZXZpY2UgdHJlZSBpcyBzdGlsbCB1bmRlciBkaXNjdXNzaW9u Lg0KPiA+ID4gDQo+ID4gPiBEb2VzIHRoaXMgbWVhbiB3ZSBiYXNpY2FsbHkgYXNzdW1lIHRoYXQg bTFuMSBhbmQgZWFybHkgTGludXggYm9vdA0KPiA+ID4gdGFrZXMgYXQgbGVhc3QgdGhlIDEwMG1z IFRfcHZwZXJsIHJlcXVpcmVkIGJ5IENFTSBzZWMgMi4yLCBidXQgd2UNCj4gPiA+IHRha2UNCj4g PiA+IHBhaW5zIHRvIGRlbGF5IHRoZSAxMDB1cyBUX3BlcnN0LWNsaz8gIFRoYXQgc2VlbXMgYSBs aXR0bGUgd2VpcmQsDQo+ID4gPiBidXQNCj4gPiA+IEkgZ3Vlc3MgaXQgaXMgY2xlYXIgdGhhdCBS RUZDTEsgaXMgKm5vdCogZW5hYmxlZCBiZWZvcmUgd2UgZW5hYmxlDQo+ID4gPiBpdCwNCj4gPiA+ IHNvIHdlIGRvIG5lZWQgYXQgbGVhc3QgdGhlIDEwMHVzIHRoZXJlLg0KPiA+ID4gDQo+ID4gPiBJ dCBhbHNvIG5pZ2dsZXMgYXQgbWUgYSBsaXR0bGUgdGhhdCB0aGUgc3BlYyBzYXlzIFRfcHZwZXJs IHN0YXJ0cw0KPiA+ID4gZnJvbQ0KPiA+ID4gKnBvd2VyIHN0YWJsZSogKG5vdCBmcm9tIHBvd2Vy IGVuYWJsZSkgYW5kIFRfcGVyc3QtY2xrIHN0YXJ0cw0KPiA+ID4gZnJvbQ0KPiA+ID4gKlJFRkNM SyBzdGFibGUqIChub3QgUkVGQ0xLIGVuYWJsZSkuICBTaW5jZSB3ZSBkb24ndCBrbm93IHRoZQ0K PiA+ID4gdGltZQ0KPiA+ID4gZnJvbSBlbmFibGUgdG8gc3RhYmxlLCBpdCBzZWVtcyBsaWtlIG5h dGl2ZSBkcml2ZXJzIHNob3VsZCBhZGQNCj4gPiA+IHNvbWUNCj4gPiA+IGNpcmN1aXQtc3BlY2lm aWMgY29uc3RhbnRzIHRvIHRoZSBzcGVjIHZhbHVlcy4NCj4gPiA+IA0KPiA+IA0KPiA+IFJlc2V0 IG9mIGVuZHBvaW50IGNhcmQgdmlhIFBFUlNUIyBzaWduYWwgaXMgZGVmaW5lZCBpbiBQQ0llIENF TSByNQ0KPiA+IDIuMjoNCj4gPiAiT24gcG93ZXItdXAsIHRoZSBkZS1hc3NlcnRpb24gb2YgUEVS U1QjIGlzIGRlbGF5ZWQgMTAwIG1zDQo+ID4gKFRQVlBFUkwpDQo+ID4gZnJvbSB0aGUgcG93ZXIg cmFpbHMgYWNoaWV2aW5nIHNwZWNpZmllZCBvcGVyYXRpbmcgbGltaXRzLiBBbHNvLA0KPiA+IHdp dGhpbg0KPiA+IHRoaXMgdGltZSwgdGhlIHJlZmVyZW5jZSBjbG9ja3MgKFJFRkNMSyssIFJFRkNM Sy0pIGFsc28gYmVjb21lDQo+ID4gc3RhYmxlLA0KPiA+IGF0IGxlYXN0IFRQRVJTVC1DTEsgYmVm b3JlIFBFUlNUIyBpcyBkZS1hc3NlcnRlZC4iDQo+ID4gDQo+ID4gLSBUcHZwZXJsIC0gUEVSU1Qj IG11c3QgcmVtYWluIGFjdGl2ZSBhdCBsZWFzdCB0aGlzIGxvbmcgYWZ0ZXINCj4gPiBwb3dlcg0K PiA+IGJlY29tZXMgdmFsaWQNCj4gPiANCj4gPiBJbml0aWFsaXplIHN0ZXBzIGFzIGZvbGxvd2lu ZyhwbGVhc2UgY29ycmVjdCBtZSBpZiBJJ20gd3JvbmcpOg0KPiA+ICAxKSBFbmFibGUgbWFpbiBw b3dlcg0KPiA+ICAyKSBBc3NlcnQgUEVSU1QjDQo+ID4gIDMpIFNsZWVwIDEwMG1zIChUUFZQRVJM LCB3aXRoaW4gdGhpcyB0aW1lLCB0aGUgUkVGQ0xLIGFuZCBwb3dlcg0KPiA+IGFsc28NCj4gPiBi ZWNvbWUgc3RhYmxlKShDRU0gcjUgZmlndXJlIDg6IHBvd2VyIHVwKQ0KPiA+ICA0KSBEZWFzc2Vy dCBQRVJTVCMNCj4gPiAgNSkgd2FpdCB1bnRpbCBsaW5rIHRyYWluaW5nIGNvbXBsZXRlcyBieSBz b2Z0d2FyZSBwb2xsaW5nIHRoZSBEYXRhDQo+ID4gTGluayBMYXllciBMaW5rIEFjdGl2ZSBiaXQN Cj4gPiAgNikgaWYgc3BlZWQgaXMgZ3JlYXRlciB0aGFuIDVHVC9zLCB3YWl0IGFub3RoZXIgMTAw bXMNCj4gDQo+IEhlbGxvISBBYm91dCBtb250aCBhZ28gSSB3YXMgaW52ZXN0aWdhdGluZyBjb3Jy ZWN0IG9yZGVyIG9mIHN0ZXBzIGFuZA0KPiBJDQo+IHdyb3RlIGVtYWlsIGFib3V0IGl0LCBwbGVh c2UgbG9vayBhdCBpdDoNCj4gDQpodHRwczovL2xvcmUua2VybmVsLm9yZy9saW51eC1wY2kvMjAy MTEwMjIxODM4MDguamRlbzd2bnRuYWdxa2c3Z0BwYWxpLw0KDQpIaSBQYWxpLA0KDQpUaGFua3Mg Zm9yIHlvdXIgaW52ZXN0aWdhdGluZy4NCk1vZGlmeSB0aGUgY29kZSB0byByZWZlciB0byB5b3Vy IHN0ZXBzIGFzIGZvbGxvd2luZyhwbGVhc2UgY29ycmVjdCBtZQ0KaWYgSSdtIHdyb25nKToNCjEp IHBjaWVfYXNzZXJ0X3Jlc2V0KCk7DQoyKSBwY2llX3Bvd2VyX29uKCk7DQozKSBwY2llX3NldHVw X3JlZmNsaygpOw0KNCkgbXNsZWVwKDEwMCk7DQo1KSBwY2llX2RlYXNzZXJ0X3Jlc2V0KCk7DQo2 KSBwb2xsaW5nX2xpbmtfYWN0aXZlX2JpdCgpOw0KNykgbXNsZWVwKDEwMCk7DQoNCj4gDQo+ID4g PiA+ID4gICAtIFdoZXJlIGRvZXMgbWVkaWF0ZWsgZW5mb3JjZSB0aGUgUENJZSBzZWMgNi42LjEg ZGVsYXkNCj4gPiA+ID4gPiBhZnRlcg0KPiA+ID4gPiA+ICAgICBkZWFzc2VydGluZyBQRVJTVCMg YW5kIGJlZm9yZSBjb25maWcgcmVxdWVzdHM/DQo+ID4gPiA+ID4gDQo+ID4gDQo+ID4gU29mdHdh cmUgY2FuIGRldGVybWluZSB3aGVuIExpbmsgdHJhaW5pbmcgY29tcGxldGVzIGJ5IHBvbGxpbmcg dGhlDQo+ID4gRGF0YQ0KPiA+IExpbmsgTGF5ZXIgTGluayBBY3RpdmUgYml0IGZvciBtYXhpbXVt IDEwMG1zLg0KPiANCj4gTXkgdW5kZXJzdGFuZGluZyBpcyB0aGF0IGl0IGlzIG5lZWRlZCB0byB3 YWl0IGFub3RoZXIgMTAwbXMgX2FmdGVyXw0KPiBsaW5rDQo+IHRyYWluaW5nIGNvbXBsZXRlcy4N Cg0KSSBzdGlsbCBoYXZlIHNvbWUgZG91YnQgdGhlIHR3byBjYXNlcyB0aGF0IHRoZSBzcGVjIHBy b3Bvc2VzIHRvIGJlDQpncmVhdGVyIHRoYW4gNUdUL3MgYW5kIG5vdCBncmVhdGVyIHRoYW4gNUdU L3MsIGFuZCBldmVuIGRpdmlkZWQgaW50bw0KdHdvIHBhcmFncmFwaHMuKHNwZWMgcjYuNi4xKQ0K DQo+IA0KPiA+ID4gPiA+ICAgLSBEb2VzIGVpdGhlciBhcHBsZSBvciBtZWRpYXRlayBzdXBwb3J0 IHNwZWVkcyBncmVhdGVyIHRoYW4NCj4gPiA+ID4gPiA1DQo+ID4gPiA+ID4gR1QvcywNCj4gPiA+ ID4gPiAgICAgYW5kIGlmIHNvLCBzaG91bGRuJ3Qgd2Ugc3RhcnQgdGhlIHNlYyA2LjYuMSAxMDBt cyBkZWxheQ0KPiA+ID4gPiA+ICphZnRlcioNCj4gPiA+ID4gPiAgICAgTGluayB0cmFpbmluZyBj b21wbGV0ZXM/DQo+ID4gPiA+IA0KPiA+ID4gPiBUaGUgQXBwbGUgaGFyZHdhcmUgYWR2ZXJ0aXNl cyBzdXBwb3J0IGZvciA4IEdUL3MsIGJ1dCBhbGwgdGhlDQo+ID4gPiA+IGRldmljZXMNCj4gPiA+ ID4gaW50ZWdyYXRlZCBvbiB0aGUgTWFjIG1pbmkgc3VwcG9ydCBvbmx5IDIuNSBHVC9zIG9yIDUg R1Qvcy4NCj4gPiA+IA0KPiA+ID4gVGhlIHNwZWMgZG9lc24ndCBzYXkgYW55dGhpbmcgYWJvdXQg d2hhdCB0aGUgZG93bnN0cmVhbSBkZXZpY2VzDQo+ID4gPiBzdXBwb3J0IChvYnZpb3VzbHkgaXQg Y2FuJ3QgYmVjYXVzZSB3ZSBkb24ndCAqa25vdyogd2hhdCB0aG9zZQ0KPiA+ID4gZGV2aWNlcw0K PiA+ID4gYXJlIHVudGlsIGFmdGVyIHdlIGVudW1lcmF0ZSB0aGVtKS4gIFNvIHRvIGJlIHBlZGFu dGljYWxseQ0KPiA+ID4gY29ycmVjdCwNCj4gPiA+IEknZCBhcmd1ZSB0aGF0IHdlIHNob3VsZCBw YXkgYXR0ZW50aW9uIHRvIHdoYXQgdGhlIFJvb3QgUG9ydA0KPiA+ID4gYWR2ZXJ0aXNlcy4gIE9m IGNvdXJzZSwgSSBkb24ndCB0aGluayB3ZSBkbyB0aGlzIGNvcnJlY3RseQ0KPiA+ID4gKmFueXdo ZXJlKg0KPiA+ID4gdG9kYXkuDQo+ID4gDQo+ID4gVGhhbmtzDQpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpMaW51eC1tZWRpYXRlayBtYWlsaW5nIGxpc3QK TGludXgtbWVkaWF0ZWtAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFk Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LW1lZGlhdGVrCg==