From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com [66.111.4.29]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 170201112 for ; Thu, 29 Dec 2022 05:30:15 +0000 (UTC) Received: from compute2.internal (compute2.nyi.internal [10.202.2.46]) by mailout.nyi.internal (Postfix) with ESMTP id 14FD15C008D; Thu, 29 Dec 2022 00:30:15 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute2.internal (MEProxy); Thu, 29 Dec 2022 00:30:15 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sholland.org; h= cc:cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm3; t=1672291815; x= 1672378215; bh=LZQmgbwDcpKr9IztEIOfeJw0O3qCcf74sTNpf+LXgos=; b=Z Ep9fH6QEx3q3eh1kAPLaG7WOCUmUSj4djncvkt6t7TzdAA7PI7bBi+j9/Se4Yihg k69nhBofuttI/ccLbplcLL4fBcit6uy3bqgk8gxB9ehDDBzTa8dcUZ8wKXsR6j6G 8z/cwlt+K5ktdSTP3b89OAB7VgINTJTRtlkjfnlg+X5wmuUNxSy9z4+tEqx3gQrZ 1/lWcZpKKRqlb/TU1uEzsxeZs8rWbol3iPQyfJGnl3X7TfP3yhnjwoZBVY81V/Bj /4rtG9BwCdjtl/raYR72vtVu6zXn+IeMc3IvdmkjztajD5CpIqnGH3HWyP8JbpIp ZFgXYibsAZPJG01AMP7/g== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1672291815; x= 1672378215; bh=LZQmgbwDcpKr9IztEIOfeJw0O3qCcf74sTNpf+LXgos=; b=G p2GOSGJs7uMlZYlVicY5yUAHZCwX11Hf22bOCPmXdMFi0TcaNoPu9fNPAowTBy8D u80wu7jKSdw1UQfb874xR5VsBI0ld7Su3lGkf18PDsTlWWjufYivjg5DFJks5aek D1oABkLWRk6rhWiobDyHj8zQ3mUgfEUZiMNe3sSVllaD3rucOvHWYKro5qkCJ1S6 q1ikDodA0eL0AnECP1zepahBk4oq3DwutLxPDR91FkvSBH3XDn9zoAbYOgk1/jKT hNtbtIW1R/Pkyo5UEVApB4BnbJoKB0FXoYB8B30y6WvMB3DXS58PwRa5qCe//6ce UXZudapmiWDtqHT/kaiAg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrieefgdekhecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefkffggfgfuvfevfhfhjggtgfesthekredttdefjeenucfhrhhomhepufgrmhhu vghlucfjohhllhgrnhguuceoshgrmhhuvghlsehshhholhhlrghnugdrohhrgheqnecugg ftrfgrthhtvghrnhepgfdtgfelffekveelvdeuteetfefgleelhfejteeiuefhheetueef fefgheefveefnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrh homhepshgrmhhuvghlsehshhholhhlrghnugdrohhrgh X-ME-Proxy: Feedback-ID: i0ad843c9:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 29 Dec 2022 00:30:14 -0500 (EST) Message-ID: <81ec4472-1aa8-deb4-d060-0b6b340103ab@sholland.org> Date: Wed, 28 Dec 2022 23:30:14 -0600 Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux ppc64le; rv:102.0) Gecko/20100101 Thunderbird/102.3.3 Subject: Re: [PATCH] clk: sunxi-ng: h3/h5: Model H3 CLK_DRAM as a fixed clock Content-Language: en-US To: Icenowy Zheng , Chen-Yu Tsai , Jernej Skrabec Cc: Michael Turquette , Stephen Boyd , linux-arm-kernel@lists.infradead.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, linux-sunxi@lists.linux.dev References: <20221229042230.24532-1-samuel@sholland.org> <58b64e74466a572d472a13515dd481600dd2c63d.camel@icenowy.me> From: Samuel Holland In-Reply-To: <58b64e74466a572d472a13515dd481600dd2c63d.camel@icenowy.me> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On 12/28/22 23:22, Icenowy Zheng wrote: > 在 2022-12-28星期三的 22:22 -0600,Samuel Holland写道: >> The DRAM controller clock is only allowed to change frequency while >> the >> DRAM chips are in self-refresh. To support this, changes to the >> CLK_DRAM >> mux and divider have no effect until acknowledged by the memory >> dynamic >> frequency scaling (MDFS) hardware inside the DRAM controller. (There >> is >> a SDRCLK_UPD bit in DRAM_CFG_REG which should serve a similar >> purpose, >> but this bit actually does nothing.) >> >> However, the MDFS hardware in H3 appears to be broken. Triggering a >> frequency change using the procedure from similar SoCs (A64/H5) hangs >> the hardware. Additionally, the vendor BSP specifically avoids using >> the >> MDFS hardware on H3, instead performing all DRAM PHY parameter >> updates >> and resets in software. >> >> Thus, it is effectively impossible to change the CLK_DRAM >> mux/divider, >> so those features should not be modeled. Add CLK_SET_RATE_PARENT so >> frequency changes apply to PLL_DDR instead. >> >> Signed-off-by: Samuel Holland >> --- >> >>  drivers/clk/sunxi-ng/ccu-sun8i-h3.c | 15 ++++++++++----- >>  1 file changed, 10 insertions(+), 5 deletions(-) >> >> diff --git a/drivers/clk/sunxi-ng/ccu-sun8i-h3.c b/drivers/clk/sunxi- >> ng/ccu-sun8i-h3.c >> index d3fcb983c17c..bfebe8dbbe65 100644 >> --- a/drivers/clk/sunxi-ng/ccu-sun8i-h3.c >> +++ b/drivers/clk/sunxi-ng/ccu-sun8i-h3.c >> @@ -434,8 +434,13 @@ static SUNXI_CCU_GATE(usb_ohci2_clk,       "usb- >> ohci2",    "osc24M", >>  static SUNXI_CCU_GATE(usb_ohci3_clk,   "usb-ohci3",    "osc24M", >>                       0x0cc, BIT(19), 0); >>   >> -static const char * const dram_parents[] = { "pll-ddr", "pll- >> periph0-2x" }; >> -static SUNXI_CCU_M_WITH_MUX(dram_clk, "dram", dram_parents, >> +/* H3 has broken MDFS hardware, so the mux/divider cannot be >> changed. */ >> +static CLK_FIXED_FACTOR_HW(h3_dram_clk, "dram", >> +                          &pll_ddr_clk.common.hw, >> +                          1, 1, CLK_SET_RATE_PARENT | >> CLK_IS_CRITICAL); > > Should we do some sanity check on the values when probing CCU? It is not necessary, because the register value is ignored. The register is interpreted as if it contains 0x80000000, regardless of what you write to it. So the parent/divider listed here will always be correct. Regards, Samuel 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 66474C4332F for ; Thu, 29 Dec 2022 05:31:55 +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:In-Reply-To:From:References:Cc:To: Subject:MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=gGaRydt1CTuGIjwrvP4hR3kvnFvNxQj99Jk/3D0ElHw=; b=uIfGp5XDjSn4TA RjF3mOn0T0aO9AbN7eH6dTji+dgu2eV1LgcA/PfVeiFQ228w3aOgZPXcQ6p9ASus+1+8OpIwG9PlH 4179ZZQiCyAy2N0y6C41oawxLiW44vJib2XQygKh9OYqb3HJn4JS0AMrLiGh8aMjRh8x4bZls1HU7 u9z3XpOGk13bcE4cKTkuPKE14AHf3Yb/VP9Z5tLfM/qG5sV1UEHyLQynFLwQz4UJbgJ8/FxC/EGFo O8EYPg2VZSBDCu87uFvzlfQ9EB1FunTfOshhP7gPfEt2YJKN35we/h3aE8tBcB9jCuDqHVOluwZcs u3HJTiQ7j1xsDOEh3jJA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1pAlUu-00CJKM-9C; Thu, 29 Dec 2022 05:30:32 +0000 Received: from out5-smtp.messagingengine.com ([66.111.4.29]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1pAlUg-00CJEU-UX for linux-arm-kernel@lists.infradead.org; Thu, 29 Dec 2022 05:30:21 +0000 Received: from compute2.internal (compute2.nyi.internal [10.202.2.46]) by mailout.nyi.internal (Postfix) with ESMTP id 14FD15C008D; Thu, 29 Dec 2022 00:30:15 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute2.internal (MEProxy); Thu, 29 Dec 2022 00:30:15 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sholland.org; h= cc:cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm3; t=1672291815; x= 1672378215; bh=LZQmgbwDcpKr9IztEIOfeJw0O3qCcf74sTNpf+LXgos=; b=Z Ep9fH6QEx3q3eh1kAPLaG7WOCUmUSj4djncvkt6t7TzdAA7PI7bBi+j9/Se4Yihg k69nhBofuttI/ccLbplcLL4fBcit6uy3bqgk8gxB9ehDDBzTa8dcUZ8wKXsR6j6G 8z/cwlt+K5ktdSTP3b89OAB7VgINTJTRtlkjfnlg+X5wmuUNxSy9z4+tEqx3gQrZ 1/lWcZpKKRqlb/TU1uEzsxeZs8rWbol3iPQyfJGnl3X7TfP3yhnjwoZBVY81V/Bj /4rtG9BwCdjtl/raYR72vtVu6zXn+IeMc3IvdmkjztajD5CpIqnGH3HWyP8JbpIp ZFgXYibsAZPJG01AMP7/g== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1672291815; x= 1672378215; bh=LZQmgbwDcpKr9IztEIOfeJw0O3qCcf74sTNpf+LXgos=; b=G p2GOSGJs7uMlZYlVicY5yUAHZCwX11Hf22bOCPmXdMFi0TcaNoPu9fNPAowTBy8D u80wu7jKSdw1UQfb874xR5VsBI0ld7Su3lGkf18PDsTlWWjufYivjg5DFJks5aek D1oABkLWRk6rhWiobDyHj8zQ3mUgfEUZiMNe3sSVllaD3rucOvHWYKro5qkCJ1S6 q1ikDodA0eL0AnECP1zepahBk4oq3DwutLxPDR91FkvSBH3XDn9zoAbYOgk1/jKT hNtbtIW1R/Pkyo5UEVApB4BnbJoKB0FXoYB8B30y6WvMB3DXS58PwRa5qCe//6ce UXZudapmiWDtqHT/kaiAg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrieefgdekhecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefkffggfgfuvfevfhfhjggtgfesthekredttdefjeenucfhrhhomhepufgrmhhu vghlucfjohhllhgrnhguuceoshgrmhhuvghlsehshhholhhlrghnugdrohhrgheqnecugg ftrfgrthhtvghrnhepgfdtgfelffekveelvdeuteetfefgleelhfejteeiuefhheetueef fefgheefveefnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrh homhepshgrmhhuvghlsehshhholhhlrghnugdrohhrgh X-ME-Proxy: Feedback-ID: i0ad843c9:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 29 Dec 2022 00:30:14 -0500 (EST) Message-ID: <81ec4472-1aa8-deb4-d060-0b6b340103ab@sholland.org> Date: Wed, 28 Dec 2022 23:30:14 -0600 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux ppc64le; rv:102.0) Gecko/20100101 Thunderbird/102.3.3 Subject: Re: [PATCH] clk: sunxi-ng: h3/h5: Model H3 CLK_DRAM as a fixed clock Content-Language: en-US To: Icenowy Zheng , Chen-Yu Tsai , Jernej Skrabec Cc: Michael Turquette , Stephen Boyd , linux-arm-kernel@lists.infradead.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, linux-sunxi@lists.linux.dev References: <20221229042230.24532-1-samuel@sholland.org> <58b64e74466a572d472a13515dd481600dd2c63d.camel@icenowy.me> From: Samuel Holland In-Reply-To: <58b64e74466a572d472a13515dd481600dd2c63d.camel@icenowy.me> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20221228_213019_572224_8CB7DDCF X-CRM114-Status: GOOD ( 17.30 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gMTIvMjgvMjIgMjM6MjIsIEljZW5vd3kgWmhlbmcgd3JvdGU6Cj4g5ZyoIDIwMjItMTItMjjm mJ/mnJ/kuInnmoQgMjI6MjIgLTA2MDDvvIxTYW11ZWwgSG9sbGFuZOWGmemBk++8mgo+PiBUaGUg RFJBTSBjb250cm9sbGVyIGNsb2NrIGlzIG9ubHkgYWxsb3dlZCB0byBjaGFuZ2UgZnJlcXVlbmN5 IHdoaWxlCj4+IHRoZQo+PiBEUkFNIGNoaXBzIGFyZSBpbiBzZWxmLXJlZnJlc2guIFRvIHN1cHBv cnQgdGhpcywgY2hhbmdlcyB0byB0aGUKPj4gQ0xLX0RSQU0KPj4gbXV4IGFuZCBkaXZpZGVyIGhh dmUgbm8gZWZmZWN0IHVudGlsIGFja25vd2xlZGdlZCBieSB0aGUgbWVtb3J5Cj4+IGR5bmFtaWMK Pj4gZnJlcXVlbmN5IHNjYWxpbmcgKE1ERlMpIGhhcmR3YXJlIGluc2lkZSB0aGUgRFJBTSBjb250 cm9sbGVyLiAoVGhlcmUKPj4gaXMKPj4gYSBTRFJDTEtfVVBEIGJpdCBpbiBEUkFNX0NGR19SRUcg d2hpY2ggc2hvdWxkIHNlcnZlIGEgc2ltaWxhcgo+PiBwdXJwb3NlLAo+PiBidXQgdGhpcyBiaXQg YWN0dWFsbHkgZG9lcyBub3RoaW5nLikKPj4KPj4gSG93ZXZlciwgdGhlIE1ERlMgaGFyZHdhcmUg aW4gSDMgYXBwZWFycyB0byBiZSBicm9rZW4uIFRyaWdnZXJpbmcgYQo+PiBmcmVxdWVuY3kgY2hh bmdlIHVzaW5nIHRoZSBwcm9jZWR1cmUgZnJvbSBzaW1pbGFyIFNvQ3MgKEE2NC9INSkgaGFuZ3MK Pj4gdGhlIGhhcmR3YXJlLiBBZGRpdGlvbmFsbHksIHRoZSB2ZW5kb3IgQlNQIHNwZWNpZmljYWxs eSBhdm9pZHMgdXNpbmcKPj4gdGhlCj4+IE1ERlMgaGFyZHdhcmUgb24gSDMsIGluc3RlYWQgcGVy Zm9ybWluZyBhbGwgRFJBTSBQSFkgcGFyYW1ldGVyCj4+IHVwZGF0ZXMKPj4gYW5kIHJlc2V0cyBp biBzb2Z0d2FyZS4KPj4KPj4gVGh1cywgaXQgaXMgZWZmZWN0aXZlbHkgaW1wb3NzaWJsZSB0byBj aGFuZ2UgdGhlIENMS19EUkFNCj4+IG11eC9kaXZpZGVyLAo+PiBzbyB0aG9zZSBmZWF0dXJlcyBz aG91bGQgbm90IGJlIG1vZGVsZWQuIEFkZCBDTEtfU0VUX1JBVEVfUEFSRU5UIHNvCj4+IGZyZXF1 ZW5jeSBjaGFuZ2VzIGFwcGx5IHRvIFBMTF9ERFIgaW5zdGVhZC4KPj4KPj4gU2lnbmVkLW9mZi1i eTogU2FtdWVsIEhvbGxhbmQgPHNhbXVlbEBzaG9sbGFuZC5vcmc+Cj4+IC0tLQo+Pgo+PiDCoGRy aXZlcnMvY2xrL3N1bnhpLW5nL2NjdS1zdW44aS1oMy5jIHwgMTUgKysrKysrKysrKy0tLS0tCj4+ IMKgMSBmaWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCj4+Cj4+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2Nsay9zdW54aS1uZy9jY3Utc3VuOGktaDMuYyBiL2RyaXZl cnMvY2xrL3N1bnhpLQo+PiBuZy9jY3Utc3VuOGktaDMuYwo+PiBpbmRleCBkM2ZjYjk4M2MxN2Mu LmJmZWJlOGRiYmU2NSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9jbGsvc3VueGktbmcvY2N1LXN1 bjhpLWgzLmMKPj4gKysrIGIvZHJpdmVycy9jbGsvc3VueGktbmcvY2N1LXN1bjhpLWgzLmMKPj4g QEAgLTQzNCw4ICs0MzQsMTMgQEAgc3RhdGljIFNVTlhJX0NDVV9HQVRFKHVzYl9vaGNpMl9jbGss wqDCoMKgwqDCoMKgwqAidXNiLQo+PiBvaGNpMiIswqDCoMKgwqAib3NjMjRNIiwKPj4gwqBzdGF0 aWMgU1VOWElfQ0NVX0dBVEUodXNiX29oY2kzX2NsayzCoMKgwqAidXNiLW9oY2kzIizCoMKgwqDC oCJvc2MyNE0iLAo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg MHgwY2MsIEJJVCgxOSksIDApOwo+PiDCoAo+PiAtc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBk cmFtX3BhcmVudHNbXSA9IHsgInBsbC1kZHIiLCAicGxsLQo+PiBwZXJpcGgwLTJ4IiB9Owo+PiAt c3RhdGljIFNVTlhJX0NDVV9NX1dJVEhfTVVYKGRyYW1fY2xrLCAiZHJhbSIsIGRyYW1fcGFyZW50 cywKPj4gKy8qIEgzIGhhcyBicm9rZW4gTURGUyBoYXJkd2FyZSwgc28gdGhlIG11eC9kaXZpZGVy IGNhbm5vdCBiZQo+PiBjaGFuZ2VkLiAqLwo+PiArc3RhdGljIENMS19GSVhFRF9GQUNUT1JfSFco aDNfZHJhbV9jbGssICJkcmFtIiwKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgICZwbGxfZGRyX2Nsay5jb21tb24uaHcsCj4+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAxLCAxLCBDTEtfU0VUX1JB VEVfUEFSRU5UIHwKPj4gQ0xLX0lTX0NSSVRJQ0FMKTsKPiAKPiBTaG91bGQgd2UgZG8gc29tZSBz YW5pdHkgY2hlY2sgb24gdGhlIHZhbHVlcyB3aGVuIHByb2JpbmcgQ0NVPwoKSXQgaXMgbm90IG5l Y2Vzc2FyeSwgYmVjYXVzZSB0aGUgcmVnaXN0ZXIgdmFsdWUgaXMgaWdub3JlZC4gVGhlIHJlZ2lz dGVyCmlzIGludGVycHJldGVkIGFzIGlmIGl0IGNvbnRhaW5zIDB4ODAwMDAwMDAsIHJlZ2FyZGxl c3Mgb2Ygd2hhdCB5b3UKd3JpdGUgdG8gaXQuIFNvIHRoZSBwYXJlbnQvZGl2aWRlciBsaXN0ZWQg aGVyZSB3aWxsIGFsd2F5cyBiZSBjb3JyZWN0LgoKUmVnYXJkcywKU2FtdWVsCgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBt YWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9s aXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=