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=-13.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED 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 22A7AC433DB for ; Thu, 25 Feb 2021 09:11:23 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id CA11764EDB for ; Thu, 25 Feb 2021 09:11:22 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235812AbhBYJKq convert rfc822-to-8bit (ORCPT ); Thu, 25 Feb 2021 04:10:46 -0500 Received: from gloria.sntech.de ([185.11.138.130]:39722 "EHLO gloria.sntech.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236089AbhBYJIj (ORCPT ); Thu, 25 Feb 2021 04:08:39 -0500 Received: from [95.90.166.74] (helo=diego.localnet) by gloria.sntech.de with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lFCcS-0000It-Tw; Thu, 25 Feb 2021 10:07:36 +0100 From: Heiko =?ISO-8859-1?Q?St=FCbner?= To: sboyd@kernel.org, "elaine.zhang" Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, cl@rock-chips.com, huangtao@rock-chips.com, kever.yang@rock-chips.com, tony.xie@rock-chips.com, finley.xiao@rock-chips.com Subject: Re: [PATCH v1 3/4] clk: rockchip: support more core div setting Date: Thu, 25 Feb 2021 10:07:36 +0100 Message-ID: <3100125.44csPzL39Z@diego> In-Reply-To: <6759a56c-56d1-da63-5299-0d76966329df@rock-chips.com> References: <20210223095352.11544-1-zhangqing@rock-chips.com> <5312231.BaHzMo0RvP@diego> <6759a56c-56d1-da63-5299-0d76966329df@rock-chips.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8BIT Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-clk@vger.kernel.org Hi Elaine, Am Donnerstag, 25. Februar 2021, 03:59:32 CET schrieb elaine.zhang: > 在 2021/2/23 下午6:22, Heiko Stübner 写道: > > Am Dienstag, 23. Februar 2021, 10:53:51 CET schrieb Elaine Zhang: > >> A55 supports each core to work at different frequencies, and each core > >> has an independent divider control. > >> > >> Signed-off-by: Elaine Zhang > >> --- > >> drivers/clk/rockchip/clk-cpu.c | 25 +++++++++++++++++++++++++ > >> drivers/clk/rockchip/clk.h | 17 ++++++++++++++++- > >> 2 files changed, 41 insertions(+), 1 deletion(-) > >> > >> diff --git a/drivers/clk/rockchip/clk-cpu.c b/drivers/clk/rockchip/clk-cpu.c > >> index fa9027fb1920..cac06f4f7573 100644 > >> --- a/drivers/clk/rockchip/clk-cpu.c > >> +++ b/drivers/clk/rockchip/clk-cpu.c > >> @@ -164,6 +164,18 @@ static int rockchip_cpuclk_pre_rate_change(struct rockchip_cpuclk *cpuclk, > >> reg_data->mux_core_mask, > >> reg_data->mux_core_shift), > >> cpuclk->reg_base + reg_data->core_reg); > >> + if (reg_data->core1_reg) > >> + writel(HIWORD_UPDATE(alt_div, reg_data->div_core1_mask, > >> + reg_data->div_core1_shift), > >> + cpuclk->reg_base + reg_data->core1_reg); > >> + if (reg_data->core2_reg) > >> + writel(HIWORD_UPDATE(alt_div, reg_data->div_core2_mask, > >> + reg_data->div_core2_shift), > >> + cpuclk->reg_base + reg_data->core2_reg); > >> + if (reg_data->core3_reg) > >> + writel(HIWORD_UPDATE(alt_div, reg_data->div_core3_mask, > >> + reg_data->div_core3_shift), > >> + cpuclk->reg_base + reg_data->core3_reg); > > for (i = 0; i < reg_data->num_cores; i++) > > writel(...) > > > >> } else { > >> /* select alternate parent */ > >> writel(HIWORD_UPDATE(reg_data->mux_core_alt, > >> @@ -209,6 +221,19 @@ static int rockchip_cpuclk_post_rate_change(struct rockchip_cpuclk *cpuclk, > >> reg_data->mux_core_shift), > >> cpuclk->reg_base + reg_data->core_reg); > >> > >> + if (reg_data->core1_reg) > >> + writel(HIWORD_UPDATE(0, reg_data->div_core1_mask, > >> + reg_data->div_core1_shift), > >> + cpuclk->reg_base + reg_data->core1_reg); > >> + if (reg_data->core2_reg) > >> + writel(HIWORD_UPDATE(0, reg_data->div_core2_mask, > >> + reg_data->div_core2_shift), > >> + cpuclk->reg_base + reg_data->core2_reg); > >> + if (reg_data->core3_reg) > >> + writel(HIWORD_UPDATE(0, reg_data->div_core3_mask, > >> + reg_data->div_core3_shift), > >> + cpuclk->reg_base + reg_data->core3_reg); > >> + > > for (i = 0; i < reg_data->num_cores; i++) > > writel(...) > > > >> if (ndata->old_rate > ndata->new_rate) > >> rockchip_cpuclk_set_dividers(cpuclk, rate); > >> > >> diff --git a/drivers/clk/rockchip/clk.h b/drivers/clk/rockchip/clk.h > >> index 2271a84124b0..b46c93fd0cb5 100644 > >> --- a/drivers/clk/rockchip/clk.h > >> +++ b/drivers/clk/rockchip/clk.h > >> @@ -322,7 +322,7 @@ struct rockchip_cpuclk_clksel { > >> u32 val; > >> }; > >> > >> -#define ROCKCHIP_CPUCLK_NUM_DIVIDERS 2 > >> +#define ROCKCHIP_CPUCLK_NUM_DIVIDERS 5 > > please move this into a separate patch, as yes the rk3568 needs more > > dividers but that isn't related to adding separate core divider controls. > > > > [...] > > add > > > > #define ROCKCHIP_CPUCLK_MAX_CORES 4 > > > >> struct rockchip_cpuclk_rate_table { > >> unsigned long prate; > >> struct rockchip_cpuclk_clksel divs[ROCKCHIP_CPUCLK_NUM_DIVIDERS]; > >> @@ -333,6 +333,12 @@ struct rockchip_cpuclk_rate_table { > >> * @core_reg: register offset of the core settings register > >> * @div_core_shift: core divider offset used to divide the pll value > >> * @div_core_mask: core divider mask > >> + * @div_core1_shift: core1 divider offset used to divide the pll value > >> + * @div_core1_mask: core1 divider mask > >> + * @div_core2_shift: core2 divider offset used to divide the pll value > >> + * @div_core2_mask: core2 divider mask > >> + * @div_core3_shift: core3 divider offset used to divide the pll value > >> + * @div_core3_mask: core3 divider mask > >> * @mux_core_alt: mux value to select alternate parent > >> * @mux_core_main: mux value to select main parent of core > >> * @mux_core_shift: offset of the core multiplexer > >> @@ -342,6 +348,15 @@ struct rockchip_cpuclk_reg_data { > >> int core_reg; > >> u8 div_core_shift; > >> u32 div_core_mask; > >> + int core1_reg; > >> + u8 div_core1_shift; > >> + u32 div_core1_mask; > >> + int core2_reg; > >> + u8 div_core2_shift; > >> + u32 div_core2_mask; > >> + int core3_reg; > >> + u8 div_core3_shift; > >> + u32 div_core3_mask; > > please make this instead like: > > > > int core_reg[ROCKCHIP_CPUCLK_MAX_CORES]; > > u8 div_core_shift[ROCKCHIP_CPUCLK_MAX_CORES]; > > u32 div_core_mask[ROCKCHIP_CPUCLK_MAX_CORES]; > > int num_cores; > > This is also my original intention, but with such modification, other > SOCs of RK need to be modified, otherwise they cannot be compatible with > the old SOC. That is actually no problem, especially as the diff should be just a simple static const struct rockchip_cpuclk_reg_data px30_cpuclk_data = { - .core_reg = PX30_CLKSEL_CON(0), - .div_core_shift = 0, - .div_core_mask = 0xf, + .core_reg[0] = PX30_CLKSEL_CON(0), + .div_core_shift[0] = 0, + .div_core_mask[0] = 0xf, + .num_cores = 1, .mux_core_alt = 1, .mux_core_main = 0, .mux_core_shift = 7, .mux_core_mask = 0x1, }; So please go the clean way :-) Thanks Heiko 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=-13.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED 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 B6E5CC433E0 for ; Thu, 25 Feb 2021 09:07:58 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (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 E5DE864F14 for ; Thu, 25 Feb 2021 09:07:57 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E5DE864F14 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=sntech.de Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-ID:Date: Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=j9Ui8c5X2wmivPqcFQYHzURsKwa7vkUDXal6VSCto2c=; b=V3JNZY77SYCTIGcumhu57+KC6 vC4yNrCLqjMrZkDqs5dliCkNyCkWv+6wvQAXFftZ4F2bl7DYzTU7w+lcGpgoEEPt2366UrORIYBVH irSlwe/GWRZ08l7FOa9CovWijVv6Ib8RHG46SfO4vZi0+j+nFwF0E1OXCg9DJQcwPbUcGZzISdH46 YFCnMYwi6ZyGp6uhFyarXBGe8/e7VdT4v6aR4IlPZIO489E2QdMs34+zSiX+mCUwgvLSSlISNI9x1 DDjt59pp1hMI6hVhu81SI1Wdmin9UhevcUDbDtXUHae3MdC0T74HZJXfEJiOyC0DhQnHlazKcEZP3 WvpJag/2g==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1lFCch-000400-E5; Thu, 25 Feb 2021 09:07:51 +0000 Received: from gloria.sntech.de ([185.11.138.130]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1lFCcc-0003xl-On; Thu, 25 Feb 2021 09:07:48 +0000 Received: from [95.90.166.74] (helo=diego.localnet) by gloria.sntech.de with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lFCcS-0000It-Tw; Thu, 25 Feb 2021 10:07:36 +0100 From: Heiko =?ISO-8859-1?Q?St=FCbner?= To: sboyd@kernel.org, "elaine.zhang" Subject: Re: [PATCH v1 3/4] clk: rockchip: support more core div setting Date: Thu, 25 Feb 2021 10:07:36 +0100 Message-ID: <3100125.44csPzL39Z@diego> In-Reply-To: <6759a56c-56d1-da63-5299-0d76966329df@rock-chips.com> References: <20210223095352.11544-1-zhangqing@rock-chips.com> <5312231.BaHzMo0RvP@diego> <6759a56c-56d1-da63-5299-0d76966329df@rock-chips.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210225_040746_861369_8F33BE12 X-CRM114-Status: GOOD ( 23.65 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: huangtao@rock-chips.com, linux-kernel@vger.kernel.org, kever.yang@rock-chips.com, linux-rockchip@lists.infradead.org, tony.xie@rock-chips.com, finley.xiao@rock-chips.com, linux-arm-kernel@lists.infradead.org, linux-clk@vger.kernel.org, cl@rock-chips.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org SGkgRWxhaW5lLAoKQW0gRG9ubmVyc3RhZywgMjUuIEZlYnJ1YXIgMjAyMSwgMDM6NTk6MzIgQ0VU IHNjaHJpZWIgZWxhaW5lLnpoYW5nOgo+IOWcqCAyMDIxLzIvMjMg5LiL5Y2INjoyMiwgSGVpa28g U3TDvGJuZXIg5YaZ6YGTOgo+ID4gQW0gRGllbnN0YWcsIDIzLiBGZWJydWFyIDIwMjEsIDEwOjUz OjUxIENFVCBzY2hyaWViIEVsYWluZSBaaGFuZzoKPiA+PiBBNTUgc3VwcG9ydHMgZWFjaCBjb3Jl IHRvIHdvcmsgYXQgZGlmZmVyZW50IGZyZXF1ZW5jaWVzLCBhbmQgZWFjaCBjb3JlCj4gPj4gaGFz IGFuIGluZGVwZW5kZW50IGRpdmlkZXIgY29udHJvbC4KPiA+Pgo+ID4+IFNpZ25lZC1vZmYtYnk6 IEVsYWluZSBaaGFuZyA8emhhbmdxaW5nQHJvY2stY2hpcHMuY29tPgo+ID4+IC0tLQo+ID4+ICAg ZHJpdmVycy9jbGsvcm9ja2NoaXAvY2xrLWNwdS5jIHwgMjUgKysrKysrKysrKysrKysrKysrKysr KysrKwo+ID4+ICAgZHJpdmVycy9jbGsvcm9ja2NoaXAvY2xrLmggICAgIHwgMTcgKysrKysrKysr KysrKysrKy0KPiA+PiAgIDIgZmlsZXMgY2hhbmdlZCwgNDEgaW5zZXJ0aW9ucygrKSwgMSBkZWxl dGlvbigtKQo+ID4+Cj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2xrL3JvY2tjaGlwL2Nsay1j cHUuYyBiL2RyaXZlcnMvY2xrL3JvY2tjaGlwL2Nsay1jcHUuYwo+ID4+IGluZGV4IGZhOTAyN2Zi MTkyMC4uY2FjMDZmNGY3NTczIDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvY2xrL3JvY2tjaGlw L2Nsay1jcHUuYwo+ID4+ICsrKyBiL2RyaXZlcnMvY2xrL3JvY2tjaGlwL2Nsay1jcHUuYwo+ID4+ IEBAIC0xNjQsNiArMTY0LDE4IEBAIHN0YXRpYyBpbnQgcm9ja2NoaXBfY3B1Y2xrX3ByZV9yYXRl X2NoYW5nZShzdHJ1Y3Qgcm9ja2NoaXBfY3B1Y2xrICpjcHVjbGssCj4gPj4gICAJCQkJICAgICBy ZWdfZGF0YS0+bXV4X2NvcmVfbWFzaywKPiA+PiAgIAkJCQkgICAgIHJlZ19kYXRhLT5tdXhfY29y ZV9zaGlmdCksCj4gPj4gICAJCSAgICAgICBjcHVjbGstPnJlZ19iYXNlICsgcmVnX2RhdGEtPmNv cmVfcmVnKTsKPiA+PiArCQlpZiAocmVnX2RhdGEtPmNvcmUxX3JlZykKPiA+PiArCQkJd3JpdGVs KEhJV09SRF9VUERBVEUoYWx0X2RpdiwgcmVnX2RhdGEtPmRpdl9jb3JlMV9tYXNrLAo+ID4+ICsJ CQkJCSAgICAgcmVnX2RhdGEtPmRpdl9jb3JlMV9zaGlmdCksCj4gPj4gKwkJCSAgICAgICBjcHVj bGstPnJlZ19iYXNlICsgcmVnX2RhdGEtPmNvcmUxX3JlZyk7Cj4gPj4gKwkJaWYgKHJlZ19kYXRh LT5jb3JlMl9yZWcpCj4gPj4gKwkJCXdyaXRlbChISVdPUkRfVVBEQVRFKGFsdF9kaXYsIHJlZ19k YXRhLT5kaXZfY29yZTJfbWFzaywKPiA+PiArCQkJCQkgICAgIHJlZ19kYXRhLT5kaXZfY29yZTJf c2hpZnQpLAo+ID4+ICsJCQkgICAgICAgY3B1Y2xrLT5yZWdfYmFzZSArIHJlZ19kYXRhLT5jb3Jl Ml9yZWcpOwo+ID4+ICsJCWlmIChyZWdfZGF0YS0+Y29yZTNfcmVnKQo+ID4+ICsJCQl3cml0ZWwo SElXT1JEX1VQREFURShhbHRfZGl2LCByZWdfZGF0YS0+ZGl2X2NvcmUzX21hc2ssCj4gPj4gKwkJ CQkJICAgICByZWdfZGF0YS0+ZGl2X2NvcmUzX3NoaWZ0KSwKPiA+PiArCQkJICAgICAgIGNwdWNs ay0+cmVnX2Jhc2UgKyByZWdfZGF0YS0+Y29yZTNfcmVnKTsKPiA+IGZvciAoaSA9IDA7IGkgPCBy ZWdfZGF0YS0+bnVtX2NvcmVzOyBpKyspCj4gPiAJd3JpdGVsKC4uLikKPiA+Cj4gPj4gICAJfSBl bHNlIHsKPiA+PiAgIAkJLyogc2VsZWN0IGFsdGVybmF0ZSBwYXJlbnQgKi8KPiA+PiAgIAkJd3Jp dGVsKEhJV09SRF9VUERBVEUocmVnX2RhdGEtPm11eF9jb3JlX2FsdCwKPiA+PiBAQCAtMjA5LDYg KzIyMSwxOSBAQCBzdGF0aWMgaW50IHJvY2tjaGlwX2NwdWNsa19wb3N0X3JhdGVfY2hhbmdlKHN0 cnVjdCByb2NrY2hpcF9jcHVjbGsgKmNwdWNsaywKPiA+PiAgIAkJCQlyZWdfZGF0YS0+bXV4X2Nv cmVfc2hpZnQpLAo+ID4+ICAgCSAgICAgICBjcHVjbGstPnJlZ19iYXNlICsgcmVnX2RhdGEtPmNv cmVfcmVnKTsKPiA+PiAgIAo+ID4+ICsJaWYgKHJlZ19kYXRhLT5jb3JlMV9yZWcpCj4gPj4gKwkJ d3JpdGVsKEhJV09SRF9VUERBVEUoMCwgcmVnX2RhdGEtPmRpdl9jb3JlMV9tYXNrLAo+ID4+ICsJ CQkJICAgICByZWdfZGF0YS0+ZGl2X2NvcmUxX3NoaWZ0KSwKPiA+PiArCQkgICAgICAgY3B1Y2xr LT5yZWdfYmFzZSArIHJlZ19kYXRhLT5jb3JlMV9yZWcpOwo+ID4+ICsJaWYgKHJlZ19kYXRhLT5j b3JlMl9yZWcpCj4gPj4gKwkJd3JpdGVsKEhJV09SRF9VUERBVEUoMCwgcmVnX2RhdGEtPmRpdl9j b3JlMl9tYXNrLAo+ID4+ICsJCQkJICAgICByZWdfZGF0YS0+ZGl2X2NvcmUyX3NoaWZ0KSwKPiA+ PiArCQkgICAgICAgY3B1Y2xrLT5yZWdfYmFzZSArIHJlZ19kYXRhLT5jb3JlMl9yZWcpOwo+ID4+ ICsJaWYgKHJlZ19kYXRhLT5jb3JlM19yZWcpCj4gPj4gKwkJd3JpdGVsKEhJV09SRF9VUERBVEUo MCwgcmVnX2RhdGEtPmRpdl9jb3JlM19tYXNrLAo+ID4+ICsJCQkJICAgICByZWdfZGF0YS0+ZGl2 X2NvcmUzX3NoaWZ0KSwKPiA+PiArCQkgICAgICAgY3B1Y2xrLT5yZWdfYmFzZSArIHJlZ19kYXRh LT5jb3JlM19yZWcpOwo+ID4+ICsKPiA+IGZvciAoaSA9IDA7IGkgPCByZWdfZGF0YS0+bnVtX2Nv cmVzOyBpKyspCj4gPiAJd3JpdGVsKC4uLikKPiA+Cj4gPj4gICAJaWYgKG5kYXRhLT5vbGRfcmF0 ZSA+IG5kYXRhLT5uZXdfcmF0ZSkKPiA+PiAgIAkJcm9ja2NoaXBfY3B1Y2xrX3NldF9kaXZpZGVy cyhjcHVjbGssIHJhdGUpOwo+ID4+ICAgCj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2xrL3Jv Y2tjaGlwL2Nsay5oIGIvZHJpdmVycy9jbGsvcm9ja2NoaXAvY2xrLmgKPiA+PiBpbmRleCAyMjcx YTg0MTI0YjAuLmI0NmM5M2ZkMGNiNSAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL2Nsay9yb2Nr Y2hpcC9jbGsuaAo+ID4+ICsrKyBiL2RyaXZlcnMvY2xrL3JvY2tjaGlwL2Nsay5oCj4gPj4gQEAg LTMyMiw3ICszMjIsNyBAQCBzdHJ1Y3Qgcm9ja2NoaXBfY3B1Y2xrX2Nsa3NlbCB7Cj4gPj4gICAJ dTMyIHZhbDsKPiA+PiAgIH07Cj4gPj4gICAKPiA+PiAtI2RlZmluZSBST0NLQ0hJUF9DUFVDTEtf TlVNX0RJVklERVJTCTIKPiA+PiArI2RlZmluZSBST0NLQ0hJUF9DUFVDTEtfTlVNX0RJVklERVJT CTUKPiA+IHBsZWFzZSBtb3ZlIHRoaXMgaW50byBhIHNlcGFyYXRlIHBhdGNoLCBhcyB5ZXMgdGhl IHJrMzU2OCBuZWVkcyBtb3JlCj4gPiBkaXZpZGVycyBidXQgdGhhdCBpc24ndCByZWxhdGVkIHRv IGFkZGluZyBzZXBhcmF0ZSBjb3JlIGRpdmlkZXIgY29udHJvbHMuCj4gPgo+ID4gWy4uLl0KPiA+ IGFkZAo+ID4KPiA+ICNkZWZpbmUgUk9DS0NISVBfQ1BVQ0xLX01BWF9DT1JFUwk0Cj4gPgo+ID4+ ICAgc3RydWN0IHJvY2tjaGlwX2NwdWNsa19yYXRlX3RhYmxlIHsKPiA+PiAgIAl1bnNpZ25lZCBs b25nIHByYXRlOwo+ID4+ICAgCXN0cnVjdCByb2NrY2hpcF9jcHVjbGtfY2xrc2VsIGRpdnNbUk9D S0NISVBfQ1BVQ0xLX05VTV9ESVZJREVSU107Cj4gPj4gQEAgLTMzMyw2ICszMzMsMTIgQEAgc3Ry dWN0IHJvY2tjaGlwX2NwdWNsa19yYXRlX3RhYmxlIHsKPiA+PiAgICAqIEBjb3JlX3JlZzoJCXJl Z2lzdGVyIG9mZnNldCBvZiB0aGUgY29yZSBzZXR0aW5ncyByZWdpc3Rlcgo+ID4+ICAgICogQGRp dl9jb3JlX3NoaWZ0Ogljb3JlIGRpdmlkZXIgb2Zmc2V0IHVzZWQgdG8gZGl2aWRlIHRoZSBwbGwg dmFsdWUKPiA+PiAgICAqIEBkaXZfY29yZV9tYXNrOgljb3JlIGRpdmlkZXIgbWFzawo+ID4+ICsg KiBAZGl2X2NvcmUxX3NoaWZ0Ogljb3JlMSBkaXZpZGVyIG9mZnNldCB1c2VkIHRvIGRpdmlkZSB0 aGUgcGxsIHZhbHVlCj4gPj4gKyAqIEBkaXZfY29yZTFfbWFzazoJY29yZTEgZGl2aWRlciBtYXNr Cj4gPj4gKyAqIEBkaXZfY29yZTJfc2hpZnQ6CWNvcmUyIGRpdmlkZXIgb2Zmc2V0IHVzZWQgdG8g ZGl2aWRlIHRoZSBwbGwgdmFsdWUKPiA+PiArICogQGRpdl9jb3JlMl9tYXNrOgljb3JlMiBkaXZp ZGVyIG1hc2sKPiA+PiArICogQGRpdl9jb3JlM19zaGlmdDoJY29yZTMgZGl2aWRlciBvZmZzZXQg dXNlZCB0byBkaXZpZGUgdGhlIHBsbCB2YWx1ZQo+ID4+ICsgKiBAZGl2X2NvcmUzX21hc2s6CWNv cmUzIGRpdmlkZXIgbWFzawo+ID4+ICAgICogQG11eF9jb3JlX2FsdDoJbXV4IHZhbHVlIHRvIHNl bGVjdCBhbHRlcm5hdGUgcGFyZW50Cj4gPj4gICAgKiBAbXV4X2NvcmVfbWFpbjoJbXV4IHZhbHVl IHRvIHNlbGVjdCBtYWluIHBhcmVudCBvZiBjb3JlCj4gPj4gICAgKiBAbXV4X2NvcmVfc2hpZnQ6 CW9mZnNldCBvZiB0aGUgY29yZSBtdWx0aXBsZXhlcgo+ID4+IEBAIC0zNDIsNiArMzQ4LDE1IEBA IHN0cnVjdCByb2NrY2hpcF9jcHVjbGtfcmVnX2RhdGEgewo+ID4+ICAgCWludAkJY29yZV9yZWc7 Cj4gPj4gICAJdTgJCWRpdl9jb3JlX3NoaWZ0Owo+ID4+ICAgCXUzMgkJZGl2X2NvcmVfbWFzazsK PiA+PiArCWludAkJY29yZTFfcmVnOwo+ID4+ICsJdTgJCWRpdl9jb3JlMV9zaGlmdDsKPiA+PiAr CXUzMgkJZGl2X2NvcmUxX21hc2s7Cj4gPj4gKwlpbnQJCWNvcmUyX3JlZzsKPiA+PiArCXU4CQlk aXZfY29yZTJfc2hpZnQ7Cj4gPj4gKwl1MzIJCWRpdl9jb3JlMl9tYXNrOwo+ID4+ICsJaW50CQlj b3JlM19yZWc7Cj4gPj4gKwl1OAkJZGl2X2NvcmUzX3NoaWZ0Owo+ID4+ICsJdTMyCQlkaXZfY29y ZTNfbWFzazsKPiA+IHBsZWFzZSBtYWtlIHRoaXMgaW5zdGVhZCBsaWtlOgo+ID4KPiA+IGludAlj b3JlX3JlZ1tST0NLQ0hJUF9DUFVDTEtfTUFYX0NPUkVTXTsKPiA+IHU4CWRpdl9jb3JlX3NoaWZ0 W1JPQ0tDSElQX0NQVUNMS19NQVhfQ09SRVNdOwo+ID4gdTMyCWRpdl9jb3JlX21hc2tbUk9DS0NI SVBfQ1BVQ0xLX01BWF9DT1JFU107Cj4gPiBpbnQJbnVtX2NvcmVzOwo+Cj4gVGhpcyBpcyBhbHNv IG15IG9yaWdpbmFsIGludGVudGlvbiwgYnV0IHdpdGggc3VjaCBtb2RpZmljYXRpb24sIG90aGVy IAo+IFNPQ3Mgb2YgUksgbmVlZCB0byBiZSBtb2RpZmllZCwgb3RoZXJ3aXNlIHRoZXkgY2Fubm90 IGJlIGNvbXBhdGlibGUgd2l0aCAKPiB0aGUgb2xkIFNPQy4KClRoYXQgaXMgYWN0dWFsbHkgbm8g cHJvYmxlbSwgZXNwZWNpYWxseSBhcyB0aGUgZGlmZiBzaG91bGQgYmUganVzdCBhIHNpbXBsZQoK c3RhdGljIGNvbnN0IHN0cnVjdCByb2NrY2hpcF9jcHVjbGtfcmVnX2RhdGEgcHgzMF9jcHVjbGtf ZGF0YSA9IHsKLQkuY29yZV9yZWcgPSBQWDMwX0NMS1NFTF9DT04oMCksCi0JLmRpdl9jb3JlX3No aWZ0ID0gMCwKLQkuZGl2X2NvcmVfbWFzayA9IDB4ZiwKKwkuY29yZV9yZWdbMF0gPSBQWDMwX0NM S1NFTF9DT04oMCksCisJLmRpdl9jb3JlX3NoaWZ0WzBdID0gMCwKKwkuZGl2X2NvcmVfbWFza1sw XSA9IDB4ZiwKKwkubnVtX2NvcmVzID0gMSwKCS5tdXhfY29yZV9hbHQgPSAxLAoJLm11eF9jb3Jl X21haW4gPSAwLAoJLm11eF9jb3JlX3NoaWZ0ID0gNywKCS5tdXhfY29yZV9tYXNrID0gMHgxLAp9 OwoKU28gcGxlYXNlIGdvIHRoZSBjbGVhbiB3YXkgOi0pIAoKVGhhbmtzCkhlaWtvCgoKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkxpbnV4LXJvY2tjaGlw IG1haWxpbmcgbGlzdApMaW51eC1yb2NrY2hpcEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9s aXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtcm9ja2NoaXAK 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=-13.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable 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 48E30C433DB for ; Thu, 25 Feb 2021 09:09:16 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (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 9F8D864E83 for ; Thu, 25 Feb 2021 09:09:15 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9F8D864E83 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=sntech.de Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+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=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-ID:Date: Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=y1fMmoere4wpD+Wx52PMu12zWN4AWmSejxBs47Vw9ys=; b=YaQtWUXI4eMHEzEBuj/5f/dom J0AXkeAZ4ux/4GnNlpt/VsEv3Jhmh+6hkscza4Uui60/xqiSSW1AYVk5zVR/W4d7TWBJxktnzWSjC Ix+bkZivTfWn42q9F7KX6uGUlgy8jFy9z4BUacQTvXc4kPJsSi0j4hsTFLd4pHEXWHz1Ptpo+Nctw nODwqZrsh3Pu8I/Pqd7pFS1+i0Rtb1QB0ynVDi5HAVclr77+bT+zLjQwaGWNDLO2w3I+wf5r9/8hJ 8OC1kRV7vMG9ru0Dnoctk6W9iEDrfYsb5sqpF+15sQGDTdioEX6xzGmFzahRwThz1LnR+BiDFAwqC nNXft9vUw==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1lFCcf-0003zK-Os; Thu, 25 Feb 2021 09:07:49 +0000 Received: from gloria.sntech.de ([185.11.138.130]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1lFCcc-0003xl-On; Thu, 25 Feb 2021 09:07:48 +0000 Received: from [95.90.166.74] (helo=diego.localnet) by gloria.sntech.de with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lFCcS-0000It-Tw; Thu, 25 Feb 2021 10:07:36 +0100 From: Heiko =?ISO-8859-1?Q?St=FCbner?= To: sboyd@kernel.org, "elaine.zhang" Subject: Re: [PATCH v1 3/4] clk: rockchip: support more core div setting Date: Thu, 25 Feb 2021 10:07:36 +0100 Message-ID: <3100125.44csPzL39Z@diego> In-Reply-To: <6759a56c-56d1-da63-5299-0d76966329df@rock-chips.com> References: <20210223095352.11544-1-zhangqing@rock-chips.com> <5312231.BaHzMo0RvP@diego> <6759a56c-56d1-da63-5299-0d76966329df@rock-chips.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210225_040746_861369_8F33BE12 X-CRM114-Status: GOOD ( 23.65 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: huangtao@rock-chips.com, linux-kernel@vger.kernel.org, kever.yang@rock-chips.com, linux-rockchip@lists.infradead.org, tony.xie@rock-chips.com, finley.xiao@rock-chips.com, linux-arm-kernel@lists.infradead.org, linux-clk@vger.kernel.org, cl@rock-chips.com 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 SGkgRWxhaW5lLAoKQW0gRG9ubmVyc3RhZywgMjUuIEZlYnJ1YXIgMjAyMSwgMDM6NTk6MzIgQ0VU IHNjaHJpZWIgZWxhaW5lLnpoYW5nOgo+IOWcqCAyMDIxLzIvMjMg5LiL5Y2INjoyMiwgSGVpa28g U3TDvGJuZXIg5YaZ6YGTOgo+ID4gQW0gRGllbnN0YWcsIDIzLiBGZWJydWFyIDIwMjEsIDEwOjUz OjUxIENFVCBzY2hyaWViIEVsYWluZSBaaGFuZzoKPiA+PiBBNTUgc3VwcG9ydHMgZWFjaCBjb3Jl IHRvIHdvcmsgYXQgZGlmZmVyZW50IGZyZXF1ZW5jaWVzLCBhbmQgZWFjaCBjb3JlCj4gPj4gaGFz IGFuIGluZGVwZW5kZW50IGRpdmlkZXIgY29udHJvbC4KPiA+Pgo+ID4+IFNpZ25lZC1vZmYtYnk6 IEVsYWluZSBaaGFuZyA8emhhbmdxaW5nQHJvY2stY2hpcHMuY29tPgo+ID4+IC0tLQo+ID4+ICAg ZHJpdmVycy9jbGsvcm9ja2NoaXAvY2xrLWNwdS5jIHwgMjUgKysrKysrKysrKysrKysrKysrKysr KysrKwo+ID4+ICAgZHJpdmVycy9jbGsvcm9ja2NoaXAvY2xrLmggICAgIHwgMTcgKysrKysrKysr KysrKysrKy0KPiA+PiAgIDIgZmlsZXMgY2hhbmdlZCwgNDEgaW5zZXJ0aW9ucygrKSwgMSBkZWxl dGlvbigtKQo+ID4+Cj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2xrL3JvY2tjaGlwL2Nsay1j cHUuYyBiL2RyaXZlcnMvY2xrL3JvY2tjaGlwL2Nsay1jcHUuYwo+ID4+IGluZGV4IGZhOTAyN2Zi MTkyMC4uY2FjMDZmNGY3NTczIDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvY2xrL3JvY2tjaGlw L2Nsay1jcHUuYwo+ID4+ICsrKyBiL2RyaXZlcnMvY2xrL3JvY2tjaGlwL2Nsay1jcHUuYwo+ID4+ IEBAIC0xNjQsNiArMTY0LDE4IEBAIHN0YXRpYyBpbnQgcm9ja2NoaXBfY3B1Y2xrX3ByZV9yYXRl X2NoYW5nZShzdHJ1Y3Qgcm9ja2NoaXBfY3B1Y2xrICpjcHVjbGssCj4gPj4gICAJCQkJICAgICBy ZWdfZGF0YS0+bXV4X2NvcmVfbWFzaywKPiA+PiAgIAkJCQkgICAgIHJlZ19kYXRhLT5tdXhfY29y ZV9zaGlmdCksCj4gPj4gICAJCSAgICAgICBjcHVjbGstPnJlZ19iYXNlICsgcmVnX2RhdGEtPmNv cmVfcmVnKTsKPiA+PiArCQlpZiAocmVnX2RhdGEtPmNvcmUxX3JlZykKPiA+PiArCQkJd3JpdGVs KEhJV09SRF9VUERBVEUoYWx0X2RpdiwgcmVnX2RhdGEtPmRpdl9jb3JlMV9tYXNrLAo+ID4+ICsJ CQkJCSAgICAgcmVnX2RhdGEtPmRpdl9jb3JlMV9zaGlmdCksCj4gPj4gKwkJCSAgICAgICBjcHVj bGstPnJlZ19iYXNlICsgcmVnX2RhdGEtPmNvcmUxX3JlZyk7Cj4gPj4gKwkJaWYgKHJlZ19kYXRh LT5jb3JlMl9yZWcpCj4gPj4gKwkJCXdyaXRlbChISVdPUkRfVVBEQVRFKGFsdF9kaXYsIHJlZ19k YXRhLT5kaXZfY29yZTJfbWFzaywKPiA+PiArCQkJCQkgICAgIHJlZ19kYXRhLT5kaXZfY29yZTJf c2hpZnQpLAo+ID4+ICsJCQkgICAgICAgY3B1Y2xrLT5yZWdfYmFzZSArIHJlZ19kYXRhLT5jb3Jl Ml9yZWcpOwo+ID4+ICsJCWlmIChyZWdfZGF0YS0+Y29yZTNfcmVnKQo+ID4+ICsJCQl3cml0ZWwo SElXT1JEX1VQREFURShhbHRfZGl2LCByZWdfZGF0YS0+ZGl2X2NvcmUzX21hc2ssCj4gPj4gKwkJ CQkJICAgICByZWdfZGF0YS0+ZGl2X2NvcmUzX3NoaWZ0KSwKPiA+PiArCQkJICAgICAgIGNwdWNs ay0+cmVnX2Jhc2UgKyByZWdfZGF0YS0+Y29yZTNfcmVnKTsKPiA+IGZvciAoaSA9IDA7IGkgPCBy ZWdfZGF0YS0+bnVtX2NvcmVzOyBpKyspCj4gPiAJd3JpdGVsKC4uLikKPiA+Cj4gPj4gICAJfSBl bHNlIHsKPiA+PiAgIAkJLyogc2VsZWN0IGFsdGVybmF0ZSBwYXJlbnQgKi8KPiA+PiAgIAkJd3Jp dGVsKEhJV09SRF9VUERBVEUocmVnX2RhdGEtPm11eF9jb3JlX2FsdCwKPiA+PiBAQCAtMjA5LDYg KzIyMSwxOSBAQCBzdGF0aWMgaW50IHJvY2tjaGlwX2NwdWNsa19wb3N0X3JhdGVfY2hhbmdlKHN0 cnVjdCByb2NrY2hpcF9jcHVjbGsgKmNwdWNsaywKPiA+PiAgIAkJCQlyZWdfZGF0YS0+bXV4X2Nv cmVfc2hpZnQpLAo+ID4+ICAgCSAgICAgICBjcHVjbGstPnJlZ19iYXNlICsgcmVnX2RhdGEtPmNv cmVfcmVnKTsKPiA+PiAgIAo+ID4+ICsJaWYgKHJlZ19kYXRhLT5jb3JlMV9yZWcpCj4gPj4gKwkJ d3JpdGVsKEhJV09SRF9VUERBVEUoMCwgcmVnX2RhdGEtPmRpdl9jb3JlMV9tYXNrLAo+ID4+ICsJ CQkJICAgICByZWdfZGF0YS0+ZGl2X2NvcmUxX3NoaWZ0KSwKPiA+PiArCQkgICAgICAgY3B1Y2xr LT5yZWdfYmFzZSArIHJlZ19kYXRhLT5jb3JlMV9yZWcpOwo+ID4+ICsJaWYgKHJlZ19kYXRhLT5j b3JlMl9yZWcpCj4gPj4gKwkJd3JpdGVsKEhJV09SRF9VUERBVEUoMCwgcmVnX2RhdGEtPmRpdl9j b3JlMl9tYXNrLAo+ID4+ICsJCQkJICAgICByZWdfZGF0YS0+ZGl2X2NvcmUyX3NoaWZ0KSwKPiA+ PiArCQkgICAgICAgY3B1Y2xrLT5yZWdfYmFzZSArIHJlZ19kYXRhLT5jb3JlMl9yZWcpOwo+ID4+ ICsJaWYgKHJlZ19kYXRhLT5jb3JlM19yZWcpCj4gPj4gKwkJd3JpdGVsKEhJV09SRF9VUERBVEUo MCwgcmVnX2RhdGEtPmRpdl9jb3JlM19tYXNrLAo+ID4+ICsJCQkJICAgICByZWdfZGF0YS0+ZGl2 X2NvcmUzX3NoaWZ0KSwKPiA+PiArCQkgICAgICAgY3B1Y2xrLT5yZWdfYmFzZSArIHJlZ19kYXRh LT5jb3JlM19yZWcpOwo+ID4+ICsKPiA+IGZvciAoaSA9IDA7IGkgPCByZWdfZGF0YS0+bnVtX2Nv cmVzOyBpKyspCj4gPiAJd3JpdGVsKC4uLikKPiA+Cj4gPj4gICAJaWYgKG5kYXRhLT5vbGRfcmF0 ZSA+IG5kYXRhLT5uZXdfcmF0ZSkKPiA+PiAgIAkJcm9ja2NoaXBfY3B1Y2xrX3NldF9kaXZpZGVy cyhjcHVjbGssIHJhdGUpOwo+ID4+ICAgCj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2xrL3Jv Y2tjaGlwL2Nsay5oIGIvZHJpdmVycy9jbGsvcm9ja2NoaXAvY2xrLmgKPiA+PiBpbmRleCAyMjcx YTg0MTI0YjAuLmI0NmM5M2ZkMGNiNSAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL2Nsay9yb2Nr Y2hpcC9jbGsuaAo+ID4+ICsrKyBiL2RyaXZlcnMvY2xrL3JvY2tjaGlwL2Nsay5oCj4gPj4gQEAg LTMyMiw3ICszMjIsNyBAQCBzdHJ1Y3Qgcm9ja2NoaXBfY3B1Y2xrX2Nsa3NlbCB7Cj4gPj4gICAJ dTMyIHZhbDsKPiA+PiAgIH07Cj4gPj4gICAKPiA+PiAtI2RlZmluZSBST0NLQ0hJUF9DUFVDTEtf TlVNX0RJVklERVJTCTIKPiA+PiArI2RlZmluZSBST0NLQ0hJUF9DUFVDTEtfTlVNX0RJVklERVJT CTUKPiA+IHBsZWFzZSBtb3ZlIHRoaXMgaW50byBhIHNlcGFyYXRlIHBhdGNoLCBhcyB5ZXMgdGhl IHJrMzU2OCBuZWVkcyBtb3JlCj4gPiBkaXZpZGVycyBidXQgdGhhdCBpc24ndCByZWxhdGVkIHRv IGFkZGluZyBzZXBhcmF0ZSBjb3JlIGRpdmlkZXIgY29udHJvbHMuCj4gPgo+ID4gWy4uLl0KPiA+ IGFkZAo+ID4KPiA+ICNkZWZpbmUgUk9DS0NISVBfQ1BVQ0xLX01BWF9DT1JFUwk0Cj4gPgo+ID4+ ICAgc3RydWN0IHJvY2tjaGlwX2NwdWNsa19yYXRlX3RhYmxlIHsKPiA+PiAgIAl1bnNpZ25lZCBs b25nIHByYXRlOwo+ID4+ICAgCXN0cnVjdCByb2NrY2hpcF9jcHVjbGtfY2xrc2VsIGRpdnNbUk9D S0NISVBfQ1BVQ0xLX05VTV9ESVZJREVSU107Cj4gPj4gQEAgLTMzMyw2ICszMzMsMTIgQEAgc3Ry dWN0IHJvY2tjaGlwX2NwdWNsa19yYXRlX3RhYmxlIHsKPiA+PiAgICAqIEBjb3JlX3JlZzoJCXJl Z2lzdGVyIG9mZnNldCBvZiB0aGUgY29yZSBzZXR0aW5ncyByZWdpc3Rlcgo+ID4+ICAgICogQGRp dl9jb3JlX3NoaWZ0Ogljb3JlIGRpdmlkZXIgb2Zmc2V0IHVzZWQgdG8gZGl2aWRlIHRoZSBwbGwg dmFsdWUKPiA+PiAgICAqIEBkaXZfY29yZV9tYXNrOgljb3JlIGRpdmlkZXIgbWFzawo+ID4+ICsg KiBAZGl2X2NvcmUxX3NoaWZ0Ogljb3JlMSBkaXZpZGVyIG9mZnNldCB1c2VkIHRvIGRpdmlkZSB0 aGUgcGxsIHZhbHVlCj4gPj4gKyAqIEBkaXZfY29yZTFfbWFzazoJY29yZTEgZGl2aWRlciBtYXNr Cj4gPj4gKyAqIEBkaXZfY29yZTJfc2hpZnQ6CWNvcmUyIGRpdmlkZXIgb2Zmc2V0IHVzZWQgdG8g ZGl2aWRlIHRoZSBwbGwgdmFsdWUKPiA+PiArICogQGRpdl9jb3JlMl9tYXNrOgljb3JlMiBkaXZp ZGVyIG1hc2sKPiA+PiArICogQGRpdl9jb3JlM19zaGlmdDoJY29yZTMgZGl2aWRlciBvZmZzZXQg dXNlZCB0byBkaXZpZGUgdGhlIHBsbCB2YWx1ZQo+ID4+ICsgKiBAZGl2X2NvcmUzX21hc2s6CWNv cmUzIGRpdmlkZXIgbWFzawo+ID4+ICAgICogQG11eF9jb3JlX2FsdDoJbXV4IHZhbHVlIHRvIHNl bGVjdCBhbHRlcm5hdGUgcGFyZW50Cj4gPj4gICAgKiBAbXV4X2NvcmVfbWFpbjoJbXV4IHZhbHVl IHRvIHNlbGVjdCBtYWluIHBhcmVudCBvZiBjb3JlCj4gPj4gICAgKiBAbXV4X2NvcmVfc2hpZnQ6 CW9mZnNldCBvZiB0aGUgY29yZSBtdWx0aXBsZXhlcgo+ID4+IEBAIC0zNDIsNiArMzQ4LDE1IEBA IHN0cnVjdCByb2NrY2hpcF9jcHVjbGtfcmVnX2RhdGEgewo+ID4+ICAgCWludAkJY29yZV9yZWc7 Cj4gPj4gICAJdTgJCWRpdl9jb3JlX3NoaWZ0Owo+ID4+ICAgCXUzMgkJZGl2X2NvcmVfbWFzazsK PiA+PiArCWludAkJY29yZTFfcmVnOwo+ID4+ICsJdTgJCWRpdl9jb3JlMV9zaGlmdDsKPiA+PiAr CXUzMgkJZGl2X2NvcmUxX21hc2s7Cj4gPj4gKwlpbnQJCWNvcmUyX3JlZzsKPiA+PiArCXU4CQlk aXZfY29yZTJfc2hpZnQ7Cj4gPj4gKwl1MzIJCWRpdl9jb3JlMl9tYXNrOwo+ID4+ICsJaW50CQlj b3JlM19yZWc7Cj4gPj4gKwl1OAkJZGl2X2NvcmUzX3NoaWZ0Owo+ID4+ICsJdTMyCQlkaXZfY29y ZTNfbWFzazsKPiA+IHBsZWFzZSBtYWtlIHRoaXMgaW5zdGVhZCBsaWtlOgo+ID4KPiA+IGludAlj b3JlX3JlZ1tST0NLQ0hJUF9DUFVDTEtfTUFYX0NPUkVTXTsKPiA+IHU4CWRpdl9jb3JlX3NoaWZ0 W1JPQ0tDSElQX0NQVUNMS19NQVhfQ09SRVNdOwo+ID4gdTMyCWRpdl9jb3JlX21hc2tbUk9DS0NI SVBfQ1BVQ0xLX01BWF9DT1JFU107Cj4gPiBpbnQJbnVtX2NvcmVzOwo+Cj4gVGhpcyBpcyBhbHNv IG15IG9yaWdpbmFsIGludGVudGlvbiwgYnV0IHdpdGggc3VjaCBtb2RpZmljYXRpb24sIG90aGVy IAo+IFNPQ3Mgb2YgUksgbmVlZCB0byBiZSBtb2RpZmllZCwgb3RoZXJ3aXNlIHRoZXkgY2Fubm90 IGJlIGNvbXBhdGlibGUgd2l0aCAKPiB0aGUgb2xkIFNPQy4KClRoYXQgaXMgYWN0dWFsbHkgbm8g cHJvYmxlbSwgZXNwZWNpYWxseSBhcyB0aGUgZGlmZiBzaG91bGQgYmUganVzdCBhIHNpbXBsZQoK c3RhdGljIGNvbnN0IHN0cnVjdCByb2NrY2hpcF9jcHVjbGtfcmVnX2RhdGEgcHgzMF9jcHVjbGtf ZGF0YSA9IHsKLQkuY29yZV9yZWcgPSBQWDMwX0NMS1NFTF9DT04oMCksCi0JLmRpdl9jb3JlX3No aWZ0ID0gMCwKLQkuZGl2X2NvcmVfbWFzayA9IDB4ZiwKKwkuY29yZV9yZWdbMF0gPSBQWDMwX0NM S1NFTF9DT04oMCksCisJLmRpdl9jb3JlX3NoaWZ0WzBdID0gMCwKKwkuZGl2X2NvcmVfbWFza1sw XSA9IDB4ZiwKKwkubnVtX2NvcmVzID0gMSwKCS5tdXhfY29yZV9hbHQgPSAxLAoJLm11eF9jb3Jl X21haW4gPSAwLAoJLm11eF9jb3JlX3NoaWZ0ID0gNywKCS5tdXhfY29yZV9tYXNrID0gMHgxLAp9 OwoKU28gcGxlYXNlIGdvIHRoZSBjbGVhbiB3YXkgOi0pIAoKVGhhbmtzCkhlaWtvCgoKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJu ZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRw Oi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK