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=-8.8 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_PASS,USER_AGENT_NEOMUTT 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 83D82C10F13 for ; Mon, 8 Apr 2019 12:29:46 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 3A9A12063F for ; Mon, 8 Apr 2019 12:29:46 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=verge.net.au header.i=@verge.net.au header.b="WTD7KpyA" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726497AbfDHM3p (ORCPT ); Mon, 8 Apr 2019 08:29:45 -0400 Received: from kirsty.vergenet.net ([202.4.237.240]:52008 "EHLO kirsty.vergenet.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726343AbfDHM3p (ORCPT ); Mon, 8 Apr 2019 08:29:45 -0400 Received: from reginn.horms.nl (watermunt.horms.nl [80.127.179.77]) by kirsty.vergenet.net (Postfix) with ESMTPA id 5B0B925B820; Mon, 8 Apr 2019 22:29:43 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=verge.net.au; s=mail; t=1554726583; bh=BviNhspWnbX6108qQjlhMizpJVkrTBdP43sFJyReaNk=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=WTD7KpyAh9TMRphrNAldBXAbdUSuCIu8DZB0EGykPiPHgeMKj8N5Feh8XSsiKQ1Mx +LJoXrWPF9FfJKEmG661xNTZEa6YVb+lKiRzKgGSorvgv3i10njyuVg3r49BXD5FYK h+GyF72vxhZRA7gks+bYL4/oQDeO14NkHcDMHlfA= Received: by reginn.horms.nl (Postfix, from userid 7100) id 9417794069B; Mon, 8 Apr 2019 14:29:41 +0200 (CEST) Date: Mon, 8 Apr 2019 14:29:41 +0200 From: Simon Horman To: Niklas =?utf-8?Q?S=C3=B6derlund?= Cc: Yoshihiro Kaneko , linux-renesas-soc@vger.kernel.org, Geert Uytterhoeven , Magnus Damm , linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH/RFT] arm64: dts: renesas: r8a7795: Create thermal zone to support IPA Message-ID: <20190408122941.wziujh5ibgwy5cdp@verge.net.au> References: <1545338982-19466-1-git-send-email-ykaneko0929@gmail.com> <20190110163356.GF24252@bigcity.dyn.berto.se> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20190110163356.GF24252@bigcity.dyn.berto.se> Organisation: Horms Solutions BV User-Agent: NeoMutt/20170113 (1.7.2) Sender: linux-renesas-soc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-renesas-soc@vger.kernel.org On Thu, Jan 10, 2019 at 05:33:57PM +0100, Niklas Söderlund wrote: > Hi Keneko-san, > > Thanks for your work. > > Comments to this patch applies to all patches in this series. > > On 2018-12-21 05:49:39 +0900, Yoshihiro Kaneko wrote: > > From: Dien Pham > > > > [dien.pham.ry: arm64: dts: r8a7795: Add support IPA for CA53 core] > > > > Setup a thermal zone driven by SoC temperature sensor. > > Create passive trip points and bind them to CPUFreq cooling > > device that supports power extension. > > > > In R-Car Gen3, IPA is supportted for only one channel > > (on H3/M3/M3N board, it is channel THS3). Reason: > > Currently, IPA controls base on only CPU temperature. > > And only one thermal channel is assembled closest > > CPU cores is selected as target of IPA. > > If other channels are used, IPA controlling is not properly. > > > > Signed-off-by: Keita Kobayashi > > [gaku.inami.xw: fix the trip temperature for cooling-device] > > [gaku.inami.xw: fix the power coefficient] > > Signed-off-by: Gaku Inami > > Signed-off-by: Hien Dang > > Signed-off-by: An Huynh > > [takeshi.kihara.df: fix W=1 dtc unit_address_vs_reg warnings] > > Signed-off-by: Takeshi Kihara > > Signed-off-by: Yoshihiro Kaneko > > --- > > > > This patch is based on the devel branch of Simon Horman's renesas tree. > > > > arch/arm64/boot/dts/renesas/r8a7795.dtsi | 64 ++++++++++++++------------------ > > 1 file changed, 27 insertions(+), 37 deletions(-) > > > > diff --git a/arch/arm64/boot/dts/renesas/r8a7795.dtsi b/arch/arm64/boot/dts/renesas/r8a7795.dtsi > > index af9605d..dd52b50 100644 > > --- a/arch/arm64/boot/dts/renesas/r8a7795.dtsi > > +++ b/arch/arm64/boot/dts/renesas/r8a7795.dtsi > > @@ -155,6 +155,9 @@ > > power-domains = <&sysc R8A7795_PD_CA57_CPU0>; > > next-level-cache = <&L2_CA57>; > > enable-method = "psci"; > > + dynamic-power-coefficient = <854>; > > + cooling-min-level = <0>; > > + cooling-max-level = <2>; > > I can't find any documentation or code which makes use of the > cooling-min-level and cooling-max-level properties on v5.0-rc1. What is > the intended usage for these properties? It looks like these properties were removed in v4.17-rc1 by bbcf071969b2 ("cpufreq: cpu0: rename driver and internals to 'cpufreq_dt'") and should be dropped from this and similar patches. > > > clocks = <&cpg CPG_CORE R8A7795_CLK_Z>; > > operating-points-v2 = <&cluster0_opp>; > > capacity-dmips-mhz = <1024>; > > @@ -207,6 +210,10 @@ > > power-domains = <&sysc R8A7795_PD_CA53_CPU0>; > > next-level-cache = <&L2_CA53>; > > enable-method = "psci"; > > + #cooling-cells = <2>; > > + dynamic-power-coefficient = <277>; > > + cooling-min-level = <0>; > > + cooling-max-level = <2>; > > clocks = <&cpg CPG_CORE R8A7795_CLK_Z2>; > > operating-points-v2 = <&cluster1_opp>; > > capacity-dmips-mhz = <535>; > > @@ -3098,58 +3105,30 @@ > > polling-delay-passive = <250>; > > polling-delay = <1000>; > > thermal-sensors = <&tsc 0>; > > + sustainable-power = <6313>; > > > > trips { > > - sensor1_passive: sensor1-passive { > > - temperature = <95000>; > > - hysteresis = <1000>; > > - type = "passive"; > > - }; > > sensor1_crit: sensor1-crit { > > temperature = <120000>; > > hysteresis = <1000>; > > type = "critical"; > > }; > > }; > > - > > - cooling-maps { > > - map0 { > > - trip = <&sensor1_passive>; > > - cooling-device = <&a57_0 4 4>, > > - <&a57_1 4 4>, > > - <&a57_2 4 4>, > > - <&a57_3 4 4>; > > - }; > > - }; > > }; > > > > sensor_thermal2: sensor-thermal2 { > > polling-delay-passive = <250>; > > polling-delay = <1000>; > > thermal-sensors = <&tsc 1>; > > + sustainable-power = <6313>; > > > > trips { > > - sensor2_passive: sensor2-passive { > > - temperature = <95000>; > > - hysteresis = <1000>; > > - type = "passive"; > > - }; > > sensor2_crit: sensor2-crit { > > temperature = <120000>; > > hysteresis = <1000>; > > type = "critical"; > > }; > > }; > > - > > - cooling-maps { > > - map0 { > > - trip = <&sensor2_passive>; > > - cooling-device = <&a57_0 4 4>, > > - <&a57_1 4 4>, > > - <&a57_2 4 4>, > > - <&a57_3 4 4>; > > - }; > > - }; > > }; > > > > sensor_thermal3: sensor-thermal3 { > > @@ -3158,11 +3137,18 @@ > > thermal-sensors = <&tsc 2>; > > > > trips { > > - sensor3_passive: sensor3-passive { > > - temperature = <95000>; > > + threshold: trip-point0 { > > + temperature = <90000>; > > + hysteresis = <1000>; > > + type = "passive"; > > + }; > > What is the usage of trip-point0? The label threshold is never > referenced anywhere, or am I missing something? Good point. Given this patch in its current form I think trip-point0 should be dropped. > > > + > > + target: trip-point1 { > > + temperature = <100000>; > > hysteresis = <1000>; > > type = "passive"; > > }; > > + > > sensor3_crit: sensor3-crit { > > temperature = <120000>; > > hysteresis = <1000>; > > @@ -3172,11 +3158,15 @@ > > > > cooling-maps { > > map0 { > > - trip = <&sensor3_passive>; > > - cooling-device = <&a57_0 4 4>, > > - <&a57_1 4 4>, > > - <&a57_2 4 4>, > > - <&a57_3 4 4>; > > + trip = <&target>; > > + cooling-device = <&a57_0 0 2>; > > We have 5 (0-4) cooling states for the A57s on this SoC. Out of > curiosity why allow states 0-2 here and not force it do more cooling or > keep the to max cooling (4) as before this change as this is set to a > trip point with a rather large temperature? Not saying this is wrong > only curious :-) This I do not know. Do you think it would be worth following-up on internally? > > + contribution = <1024>; > > + }; > > + > > + map1 { > > + trip = <&target>; > > + cooling-device = <&a53_0 0 2>; > > + contribution = <1024>; > > }; > > }; > > }; > > -- > > 1.9.1 > > > > -- > Regards, > Niklas Söderlund > 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=-9.0 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED,USER_AGENT_NEOMUTT 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 D4EDEC10F13 for ; Mon, 8 Apr 2019 12:29:59 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id A69742063F for ; Mon, 8 Apr 2019 12:29:59 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="PHKP4a8Y"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=verge.net.au header.i=@verge.net.au header.b="WTD7KpyA" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A69742063F Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=verge.net.au Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=hzWJ2cR7wmXm7G7Xaf0E/0TDOtEZklR5ren6PfmsD3w=; b=PHKP4a8Y/YnbDF S9Pq5mw7vcog5X3EuJYfMentN1g75FOElInYLOoTvbtAT+s1ylapft6ENx4xUA5Be77JoHKxRFK7T to8zgGV7ctbv8SMHp6ihdbYrGITnrFPF3auSDtNsJbU2nhGeZSc4uAboS0LHOzqnximOs7QaekWKK Yzqmh98Kid0DbVxm4QNCjsyURy1dG/2qRNL0337KU9Zuyx8QuL6m1dBwh0ZUoAg2Q1kt0SH3quiFp JDV3p5ERMs0UQm9nMICxHhIYW/UTcPtxczrcOLpgWPjrognHOxXaQUZARVEFYGXtLahKp1YzBbINR Nk6w4Dl7/BdKTbWG55/g==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1hDTPO-0005TI-Cp; Mon, 08 Apr 2019 12:29:54 +0000 Received: from kirsty.vergenet.net ([202.4.237.240]) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1hDTPG-0005St-K9 for linux-arm-kernel@lists.infradead.org; Mon, 08 Apr 2019 12:29:53 +0000 Received: from reginn.horms.nl (watermunt.horms.nl [80.127.179.77]) by kirsty.vergenet.net (Postfix) with ESMTPA id 5B0B925B820; Mon, 8 Apr 2019 22:29:43 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=verge.net.au; s=mail; t=1554726583; bh=BviNhspWnbX6108qQjlhMizpJVkrTBdP43sFJyReaNk=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=WTD7KpyAh9TMRphrNAldBXAbdUSuCIu8DZB0EGykPiPHgeMKj8N5Feh8XSsiKQ1Mx +LJoXrWPF9FfJKEmG661xNTZEa6YVb+lKiRzKgGSorvgv3i10njyuVg3r49BXD5FYK h+GyF72vxhZRA7gks+bYL4/oQDeO14NkHcDMHlfA= Received: by reginn.horms.nl (Postfix, from userid 7100) id 9417794069B; Mon, 8 Apr 2019 14:29:41 +0200 (CEST) Date: Mon, 8 Apr 2019 14:29:41 +0200 From: Simon Horman To: Niklas =?utf-8?Q?S=C3=B6derlund?= Subject: Re: [PATCH/RFT] arm64: dts: renesas: r8a7795: Create thermal zone to support IPA Message-ID: <20190408122941.wziujh5ibgwy5cdp@verge.net.au> References: <1545338982-19466-1-git-send-email-ykaneko0929@gmail.com> <20190110163356.GF24252@bigcity.dyn.berto.se> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20190110163356.GF24252@bigcity.dyn.berto.se> Organisation: Horms Solutions BV User-Agent: NeoMutt/20170113 (1.7.2) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190408_052951_473283_AC84D074 X-CRM114-Status: GOOD ( 26.80 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-renesas-soc@vger.kernel.org, Geert Uytterhoeven , Magnus Damm , Yoshihiro Kaneko , linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gVGh1LCBKYW4gMTAsIDIwMTkgYXQgMDU6MzM6NTdQTSArMDEwMCwgTmlrbGFzIFPDtmRlcmx1 bmQgd3JvdGU6Cj4gSGkgS2VuZWtvLXNhbiwKPiAKPiBUaGFua3MgZm9yIHlvdXIgd29yay4KPiAK PiBDb21tZW50cyB0byB0aGlzIHBhdGNoIGFwcGxpZXMgdG8gYWxsIHBhdGNoZXMgaW4gdGhpcyBz ZXJpZXMuCj4gCj4gT24gMjAxOC0xMi0yMSAwNTo0OTozOSArMDkwMCwgWW9zaGloaXJvIEthbmVr byB3cm90ZToKPiA+IEZyb206IERpZW4gUGhhbSA8ZGllbi5waGFtLnJ5QHJlbmVzYXMuY29tPgo+ ID4gCj4gPiBbZGllbi5waGFtLnJ5OiBhcm02NDogZHRzOiByOGE3Nzk1OiBBZGQgc3VwcG9ydCBJ UEEgZm9yIENBNTMgY29yZV0KPiA+IAo+ID4gU2V0dXAgYSB0aGVybWFsIHpvbmUgZHJpdmVuIGJ5 IFNvQyB0ZW1wZXJhdHVyZSBzZW5zb3IuCj4gPiBDcmVhdGUgcGFzc2l2ZSB0cmlwIHBvaW50cyBh bmQgYmluZCB0aGVtIHRvIENQVUZyZXEgY29vbGluZwo+ID4gZGV2aWNlIHRoYXQgc3VwcG9ydHMg cG93ZXIgZXh0ZW5zaW9uLgo+ID4gCj4gPiBJbiBSLUNhciBHZW4zLCBJUEEgaXMgc3VwcG9ydHRl ZCBmb3Igb25seSBvbmUgY2hhbm5lbAo+ID4gIChvbiBIMy9NMy9NM04gYm9hcmQsIGl0IGlzIGNo YW5uZWwgVEhTMykuIFJlYXNvbjoKPiA+ICAgQ3VycmVudGx5LCBJUEEgY29udHJvbHMgYmFzZSBv biBvbmx5IENQVSB0ZW1wZXJhdHVyZS4KPiA+ICAgQW5kIG9ubHkgb25lIHRoZXJtYWwgY2hhbm5l bCBpcyBhc3NlbWJsZWQgY2xvc2VzdAo+ID4gICBDUFUgY29yZXMgaXMgc2VsZWN0ZWQgYXMgdGFy Z2V0IG9mIElQQS4KPiA+ICAgSWYgb3RoZXIgY2hhbm5lbHMgYXJlIHVzZWQsIElQQSBjb250cm9s bGluZyBpcyBub3QgcHJvcGVybHkuCj4gPiAKPiA+IFNpZ25lZC1vZmYtYnk6IEtlaXRhIEtvYmF5 YXNoaSA8a2VpdGEua29iYXlhc2hpLnltQHJlbmVzYXMuY29tPgo+ID4gW2dha3UuaW5hbWkueHc6 IGZpeCB0aGUgdHJpcCB0ZW1wZXJhdHVyZSBmb3IgY29vbGluZy1kZXZpY2VdCj4gPiBbZ2FrdS5p bmFtaS54dzogZml4IHRoZSBwb3dlciBjb2VmZmljaWVudF0KPiA+IFNpZ25lZC1vZmYtYnk6IEdh a3UgSW5hbWkgPGdha3UuaW5hbWkueHdAYnAucmVuZXNhcy5jb20+Cj4gPiBTaWduZWQtb2ZmLWJ5 OiBIaWVuIERhbmcgPGhpZW4uZGFuZy5lYkBydmMucmVuZXNhcy5jb20+Cj4gPiBTaWduZWQtb2Zm LWJ5OiBBbiBIdXluaCA8YW4uaHV5bmgudWpAcnZjLnJlbmVzYXMuY29tPgo+ID4gW3Rha2VzaGku a2loYXJhLmRmOiBmaXggVz0xIGR0YyB1bml0X2FkZHJlc3NfdnNfcmVnIHdhcm5pbmdzXQo+ID4g U2lnbmVkLW9mZi1ieTogVGFrZXNoaSBLaWhhcmEgPHRha2VzaGkua2loYXJhLmRmQHJlbmVzYXMu Y29tPgo+ID4gU2lnbmVkLW9mZi1ieTogWW9zaGloaXJvIEthbmVrbyA8eWthbmVrbzA5MjlAZ21h aWwuY29tPgo+ID4gLS0tCj4gPiAKPiA+IFRoaXMgcGF0Y2ggaXMgYmFzZWQgb24gdGhlIGRldmVs IGJyYW5jaCBvZiBTaW1vbiBIb3JtYW4ncyByZW5lc2FzIHRyZWUuCj4gPiAKPiA+ICBhcmNoL2Fy bTY0L2Jvb3QvZHRzL3JlbmVzYXMvcjhhNzc5NS5kdHNpIHwgNjQgKysrKysrKysrKysrKystLS0t LS0tLS0tLS0tLS0tLS0KPiA+ICAxIGZpbGUgY2hhbmdlZCwgMjcgaW5zZXJ0aW9ucygrKSwgMzcg ZGVsZXRpb25zKC0pCj4gPiAKPiA+IGRpZmYgLS1naXQgYS9hcmNoL2FybTY0L2Jvb3QvZHRzL3Jl bmVzYXMvcjhhNzc5NS5kdHNpIGIvYXJjaC9hcm02NC9ib290L2R0cy9yZW5lc2FzL3I4YTc3OTUu ZHRzaQo+ID4gaW5kZXggYWY5NjA1ZC4uZGQ1MmI1MCAxMDA2NDQKPiA+IC0tLSBhL2FyY2gvYXJt NjQvYm9vdC9kdHMvcmVuZXNhcy9yOGE3Nzk1LmR0c2kKPiA+ICsrKyBiL2FyY2gvYXJtNjQvYm9v dC9kdHMvcmVuZXNhcy9yOGE3Nzk1LmR0c2kKPiA+IEBAIC0xNTUsNiArMTU1LDkgQEAKPiA+ICAJ CQlwb3dlci1kb21haW5zID0gPCZzeXNjIFI4QTc3OTVfUERfQ0E1N19DUFUwPjsKPiA+ICAJCQlu ZXh0LWxldmVsLWNhY2hlID0gPCZMMl9DQTU3PjsKPiA+ICAJCQllbmFibGUtbWV0aG9kID0gInBz Y2kiOwo+ID4gKwkJCWR5bmFtaWMtcG93ZXItY29lZmZpY2llbnQgPSA8ODU0PjsKPiA+ICsJCQlj b29saW5nLW1pbi1sZXZlbCA9IDwwPjsKPiA+ICsJCQljb29saW5nLW1heC1sZXZlbCA9IDwyPjsK PiAKPiBJIGNhbid0IGZpbmQgYW55IGRvY3VtZW50YXRpb24gb3IgY29kZSB3aGljaCBtYWtlcyB1 c2Ugb2YgdGhlIAo+IGNvb2xpbmctbWluLWxldmVsIGFuZCBjb29saW5nLW1heC1sZXZlbCBwcm9w ZXJ0aWVzIG9uIHY1LjAtcmMxLiBXaGF0IGlzIAo+IHRoZSBpbnRlbmRlZCB1c2FnZSBmb3IgdGhl c2UgcHJvcGVydGllcz8KCkl0IGxvb2tzIGxpa2UgdGhlc2UgcHJvcGVydGllcyB3ZXJlIHJlbW92 ZWQgaW4gdjQuMTctcmMxIGJ5CmJiY2YwNzE5NjliMiAoImNwdWZyZXE6IGNwdTA6IHJlbmFtZSBk cml2ZXIgYW5kIGludGVybmFscyB0byAnY3B1ZnJlcV9kdCciKQphbmQgc2hvdWxkIGJlIGRyb3Bw ZWQgZnJvbSB0aGlzIGFuZCBzaW1pbGFyIHBhdGNoZXMuCgo+IAo+ID4gIAkJCWNsb2NrcyA9IDwm Y3BnIENQR19DT1JFIFI4QTc3OTVfQ0xLX1o+Owo+ID4gIAkJCW9wZXJhdGluZy1wb2ludHMtdjIg PSA8JmNsdXN0ZXIwX29wcD47Cj4gPiAgCQkJY2FwYWNpdHktZG1pcHMtbWh6ID0gPDEwMjQ+Owo+ ID4gQEAgLTIwNyw2ICsyMTAsMTAgQEAKPiA+ICAJCQlwb3dlci1kb21haW5zID0gPCZzeXNjIFI4 QTc3OTVfUERfQ0E1M19DUFUwPjsKPiA+ICAJCQluZXh0LWxldmVsLWNhY2hlID0gPCZMMl9DQTUz PjsKPiA+ICAJCQllbmFibGUtbWV0aG9kID0gInBzY2kiOwo+ID4gKwkJCSNjb29saW5nLWNlbGxz ID0gPDI+Owo+ID4gKwkJCWR5bmFtaWMtcG93ZXItY29lZmZpY2llbnQgPSA8Mjc3PjsKPiA+ICsJ CQljb29saW5nLW1pbi1sZXZlbCA9IDwwPjsKPiA+ICsJCQljb29saW5nLW1heC1sZXZlbCA9IDwy PjsKPiA+ICAJCQljbG9ja3MgPSA8JmNwZyBDUEdfQ09SRSBSOEE3Nzk1X0NMS19aMj47Cj4gPiAg CQkJb3BlcmF0aW5nLXBvaW50cy12MiA9IDwmY2x1c3RlcjFfb3BwPjsKPiA+ICAJCQljYXBhY2l0 eS1kbWlwcy1taHogPSA8NTM1PjsKPiA+IEBAIC0zMDk4LDU4ICszMTA1LDMwIEBACj4gPiAgCQkJ cG9sbGluZy1kZWxheS1wYXNzaXZlID0gPDI1MD47Cj4gPiAgCQkJcG9sbGluZy1kZWxheSA9IDwx MDAwPjsKPiA+ICAJCQl0aGVybWFsLXNlbnNvcnMgPSA8JnRzYyAwPjsKPiA+ICsJCQlzdXN0YWlu YWJsZS1wb3dlciA9IDw2MzEzPjsKPiA+ICAKPiA+ICAJCQl0cmlwcyB7Cj4gPiAtCQkJCXNlbnNv cjFfcGFzc2l2ZTogc2Vuc29yMS1wYXNzaXZlIHsKPiA+IC0JCQkJCXRlbXBlcmF0dXJlID0gPDk1 MDAwPjsKPiA+IC0JCQkJCWh5c3RlcmVzaXMgPSA8MTAwMD47Cj4gPiAtCQkJCQl0eXBlID0gInBh c3NpdmUiOwo+ID4gLQkJCQl9Owo+ID4gIAkJCQlzZW5zb3IxX2NyaXQ6IHNlbnNvcjEtY3JpdCB7 Cj4gPiAgCQkJCQl0ZW1wZXJhdHVyZSA9IDwxMjAwMDA+Owo+ID4gIAkJCQkJaHlzdGVyZXNpcyA9 IDwxMDAwPjsKPiA+ICAJCQkJCXR5cGUgPSAiY3JpdGljYWwiOwo+ID4gIAkJCQl9Owo+ID4gIAkJ CX07Cj4gPiAtCj4gPiAtCQkJY29vbGluZy1tYXBzIHsKPiA+IC0JCQkJbWFwMCB7Cj4gPiAtCQkJ CQl0cmlwID0gPCZzZW5zb3IxX3Bhc3NpdmU+Owo+ID4gLQkJCQkJY29vbGluZy1kZXZpY2UgPSA8 JmE1N18wIDQgND4sCj4gPiAtCQkJCQkJCSA8JmE1N18xIDQgND4sCj4gPiAtCQkJCQkJCSA8JmE1 N18yIDQgND4sCj4gPiAtCQkJCQkJCSA8JmE1N18zIDQgND47Cj4gPiAtCQkJCX07Cj4gPiAtCQkJ fTsKPiA+ICAJCX07Cj4gPiAgCj4gPiAgCQlzZW5zb3JfdGhlcm1hbDI6IHNlbnNvci10aGVybWFs MiB7Cj4gPiAgCQkJcG9sbGluZy1kZWxheS1wYXNzaXZlID0gPDI1MD47Cj4gPiAgCQkJcG9sbGlu Zy1kZWxheSA9IDwxMDAwPjsKPiA+ICAJCQl0aGVybWFsLXNlbnNvcnMgPSA8JnRzYyAxPjsKPiA+ ICsJCQlzdXN0YWluYWJsZS1wb3dlciA9IDw2MzEzPjsKPiA+ICAKPiA+ICAJCQl0cmlwcyB7Cj4g PiAtCQkJCXNlbnNvcjJfcGFzc2l2ZTogc2Vuc29yMi1wYXNzaXZlIHsKPiA+IC0JCQkJCXRlbXBl cmF0dXJlID0gPDk1MDAwPjsKPiA+IC0JCQkJCWh5c3RlcmVzaXMgPSA8MTAwMD47Cj4gPiAtCQkJ CQl0eXBlID0gInBhc3NpdmUiOwo+ID4gLQkJCQl9Owo+ID4gIAkJCQlzZW5zb3IyX2NyaXQ6IHNl bnNvcjItY3JpdCB7Cj4gPiAgCQkJCQl0ZW1wZXJhdHVyZSA9IDwxMjAwMDA+Owo+ID4gIAkJCQkJ aHlzdGVyZXNpcyA9IDwxMDAwPjsKPiA+ICAJCQkJCXR5cGUgPSAiY3JpdGljYWwiOwo+ID4gIAkJ CQl9Owo+ID4gIAkJCX07Cj4gPiAtCj4gPiAtCQkJY29vbGluZy1tYXBzIHsKPiA+IC0JCQkJbWFw MCB7Cj4gPiAtCQkJCQl0cmlwID0gPCZzZW5zb3IyX3Bhc3NpdmU+Owo+ID4gLQkJCQkJY29vbGlu Zy1kZXZpY2UgPSA8JmE1N18wIDQgND4sCj4gPiAtCQkJCQkJCSA8JmE1N18xIDQgND4sCj4gPiAt CQkJCQkJCSA8JmE1N18yIDQgND4sCj4gPiAtCQkJCQkJCSA8JmE1N18zIDQgND47Cj4gPiAtCQkJ CX07Cj4gPiAtCQkJfTsKPiA+ICAJCX07Cj4gPiAgCj4gPiAgCQlzZW5zb3JfdGhlcm1hbDM6IHNl bnNvci10aGVybWFsMyB7Cj4gPiBAQCAtMzE1OCwxMSArMzEzNywxOCBAQAo+ID4gIAkJCXRoZXJt YWwtc2Vuc29ycyA9IDwmdHNjIDI+Owo+ID4gIAo+ID4gIAkJCXRyaXBzIHsKPiA+IC0JCQkJc2Vu c29yM19wYXNzaXZlOiBzZW5zb3IzLXBhc3NpdmUgewo+ID4gLQkJCQkJdGVtcGVyYXR1cmUgPSA8 OTUwMDA+Owo+ID4gKwkJCQl0aHJlc2hvbGQ6IHRyaXAtcG9pbnQwIHsKPiA+ICsJCQkJCXRlbXBl cmF0dXJlID0gPDkwMDAwPjsKPiA+ICsJCQkJCWh5c3RlcmVzaXMgPSA8MTAwMD47Cj4gPiArCQkJ CQl0eXBlID0gInBhc3NpdmUiOwo+ID4gKwkJCQl9Owo+IAo+IFdoYXQgaXMgdGhlIHVzYWdlIG9m IHRyaXAtcG9pbnQwPyBUaGUgbGFiZWwgdGhyZXNob2xkIGlzIG5ldmVyIAo+IHJlZmVyZW5jZWQg YW55d2hlcmUsIG9yIGFtIEkgbWlzc2luZyBzb21ldGhpbmc/CgpHb29kIHBvaW50LiBHaXZlbiB0 aGlzIHBhdGNoIGluIGl0cyBjdXJyZW50IGZvcm0gSSB0aGluayB0cmlwLXBvaW50MApzaG91bGQg YmUgZHJvcHBlZC4KCj4gCj4gPiArCj4gPiArCQkJCXRhcmdldDogdHJpcC1wb2ludDEgewo+ID4g KwkJCQkJdGVtcGVyYXR1cmUgPSA8MTAwMDAwPjsKPiA+ICAJCQkJCWh5c3RlcmVzaXMgPSA8MTAw MD47Cj4gPiAgCQkJCQl0eXBlID0gInBhc3NpdmUiOwo+ID4gIAkJCQl9Owo+ID4gKwo+ID4gIAkJ CQlzZW5zb3IzX2NyaXQ6IHNlbnNvcjMtY3JpdCB7Cj4gPiAgCQkJCQl0ZW1wZXJhdHVyZSA9IDwx MjAwMDA+Owo+ID4gIAkJCQkJaHlzdGVyZXNpcyA9IDwxMDAwPjsKPiA+IEBAIC0zMTcyLDExICsz MTU4LDE1IEBACj4gPiAgCj4gPiAgCQkJY29vbGluZy1tYXBzIHsKPiA+ICAJCQkJbWFwMCB7Cj4g PiAtCQkJCQl0cmlwID0gPCZzZW5zb3IzX3Bhc3NpdmU+Owo+ID4gLQkJCQkJY29vbGluZy1kZXZp Y2UgPSA8JmE1N18wIDQgND4sCj4gPiAtCQkJCQkJCSA8JmE1N18xIDQgND4sCj4gPiAtCQkJCQkJ CSA8JmE1N18yIDQgND4sCj4gPiAtCQkJCQkJCSA8JmE1N18zIDQgND47Cj4gPiArCQkJCQl0cmlw ID0gPCZ0YXJnZXQ+Owo+ID4gKwkJCQkJY29vbGluZy1kZXZpY2UgPSA8JmE1N18wIDAgMj47Cj4g Cj4gV2UgaGF2ZSA1ICgwLTQpIGNvb2xpbmcgc3RhdGVzIGZvciB0aGUgQTU3cyBvbiB0aGlzIFNv Qy4gT3V0IG9mIAo+IGN1cmlvc2l0eSB3aHkgYWxsb3cgc3RhdGVzIDAtMiBoZXJlIGFuZCBub3Qg Zm9yY2UgaXQgZG8gbW9yZSBjb29saW5nIG9yIAo+IGtlZXAgdGhlIHRvIG1heCBjb29saW5nICg0 KSBhcyBiZWZvcmUgdGhpcyBjaGFuZ2UgYXMgdGhpcyBpcyBzZXQgdG8gYSAKPiB0cmlwIHBvaW50 IHdpdGggYSByYXRoZXIgbGFyZ2UgdGVtcGVyYXR1cmU/IE5vdCBzYXlpbmcgdGhpcyBpcyB3cm9u ZyAKPiBvbmx5IGN1cmlvdXMgOi0pCgpUaGlzIEkgZG8gbm90IGtub3cuIERvIHlvdSB0aGluayBp dCB3b3VsZCBiZSB3b3J0aCBmb2xsb3dpbmctdXAgb24KaW50ZXJuYWxseT8KCj4gPiArCQkJCQlj b250cmlidXRpb24gPSA8MTAyND47Cj4gPiArCQkJCX07Cj4gPiArCj4gPiArCQkJCW1hcDEgewo+ ID4gKwkJCQkJdHJpcCA9IDwmdGFyZ2V0PjsKPiA+ICsJCQkJCWNvb2xpbmctZGV2aWNlID0gPCZh NTNfMCAwIDI+Owo+ID4gKwkJCQkJY29udHJpYnV0aW9uID0gPDEwMjQ+Owo+ID4gIAkJCQl9Owo+ ID4gIAkJCX07Cj4gPiAgCQl9Owo+ID4gLS0gCj4gPiAxLjkuMQo+ID4gCj4gCj4gLS0gCj4gUmVn YXJkcywKPiBOaWtsYXMgU8O2ZGVybHVuZAo+IAoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgt YXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3Jn L21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=