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 mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 85399C433F5 for ; Thu, 14 Oct 2021 09:55:56 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 53F8D6101E for ; Thu, 14 Oct 2021 09:55:56 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230172AbhJNJ57 (ORCPT ); Thu, 14 Oct 2021 05:57:59 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33390 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230026AbhJNJ55 (ORCPT ); Thu, 14 Oct 2021 05:57:57 -0400 Received: from mail-ed1-x531.google.com (mail-ed1-x531.google.com [IPv6:2a00:1450:4864:20::531]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8EE09C061570; Thu, 14 Oct 2021 02:55:52 -0700 (PDT) Received: by mail-ed1-x531.google.com with SMTP id ec8so21927502edb.6; Thu, 14 Oct 2021 02:55:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding:content-language; bh=74OxFDQINVP0t2Tym9riIimusp8CKNtXPfS58HmDiLw=; b=BS3g7dZGSS+szT6wf9qurt+RBfc0UoAM3kDnpqYZBSvbGq3ebU1UZHUSXwn5DYagOn uvm22zri7XDVR2V/BNROSi7XPrguJodp/U0OLusEP8WUYZM+MWa9tRwKsHewBYskDx0b ChgmNr7tWfYhfi1vP5HCChHcHD8thT9sQN5kEz8IMfjOq+buxwnn99DTB9VZp2xExb7o GCOSEI9mnnzWM1YyNbMQHBF6X0VGQ692z1THXDHoDfi9mVWTs4pLhXV5TbrOdnCKOrXX dPj3JQ0MxFCafqrhIxqWYQhRJRE60pjnDFRWYJa5Y+kqr/3ZmF5UD6dALujoXlx01dSk u/ew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=74OxFDQINVP0t2Tym9riIimusp8CKNtXPfS58HmDiLw=; b=IU+//E9QpNe1jAJNB5UnDteA53co3O4SZlgu4qXJKY+CYcjvBJ/4eQfZpO05vyTCIE 1UKptOO+2vkOm1rjHQV3QB/1w/MYMoDuhx0EUjAYE3A/v5qk9BLeX8S7PdJjXV+rHf4w BdZdXNbYNiZ8vqnRkLsZg5HC08rSIb3IpCe1R+xdBIyqMdh/XicmAPe+gb3qbE+0Cy2I gfo4HWJrEZ0MQJl8RLBTO7ZF9d1CqA1Q3Wctp+MgnQx/+jCqe7OlSYACX+S7tTXDPGzL JH5H5akyG0orKxW5yh+nfqGZXKKMZLa2UdkpHvTn5AaAWx07iou/GL+YL4rxd+ZCUkyd hoYw== X-Gm-Message-State: AOAM531GUKPMRnztVvlWiAYeXtf3Y2UEFqZjVC0h7Z7k+hyODVChHK51 yh2B/s3QfBiz67EBQ0XQ9w== X-Google-Smtp-Source: ABdhPJwBHbs0l+qwtXWx6kiyM/z9QoRTuUFdwCI8NaqkcTZIJ9KfqxmcIMU5Y2fSgZC1yz6FzYc58g== X-Received: by 2002:a17:906:a382:: with SMTP id k2mr2543789ejz.454.1634205351095; Thu, 14 Oct 2021 02:55:51 -0700 (PDT) Received: from ?IPv6:2a02:810b:f40:4200:e1d9:2e2e:532d:87df? ([2a02:810b:f40:4200:e1d9:2e2e:532d:87df]) by smtp.gmail.com with ESMTPSA id h18sm1513410ejt.29.2021.10.14.02.55.50 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 14 Oct 2021 02:55:50 -0700 (PDT) Subject: Re: [PATCH v1 1/6] clk: divider: Implement and wire up .determine_rate by default To: Martin Blumenstingl , linux-clk@vger.kernel.org, sboyd@kernel.org Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, =?UTF-8?Q?Heiko_St=c3=bcbner?= , linux-rockchip@lists.infradead.org References: <20210702225145.2643303-1-martin.blumenstingl@googlemail.com> <20210702225145.2643303-2-martin.blumenstingl@googlemail.com> From: Alex Bee Message-ID: <4eb964ac-4fff-b59d-2660-2f84d8af5901@gmail.com> Date: Thu, 14 Oct 2021 11:55:49 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0 MIME-Version: 1.0 In-Reply-To: <20210702225145.2643303-2-martin.blumenstingl@googlemail.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US Precedence: bulk List-ID: X-Mailing-List: linux-clk@vger.kernel.org Hi, Am 03.07.21 um 00:51 schrieb Martin Blumenstingl: > .determine_rate is meant to replace .round_rate. The former comes with a > benefit which is especially relevant on 32-bit systems: since > .determine_rate uses an "unsigned long" (compared to a "signed long" > which is used by .round_rate) the maximum value on 32-bit systems > increases from 2^31 (or approx. 2.14GHz) to 2^32 (or approx. 4.29GHz). > > Implement .determine_rate in addition to .round_rate so drivers that are > using clk_divider_{ro_,}ops can benefit from this by default. Keep the > .round_rate callback for now since some drivers rely on > clk_divider_ops.round_rate being implemented. > > Signed-off-by: Martin Blumenstingl This commit  breaks composite clocks with multiple parents, since it adds a  determine_rate callback, which is preferred over clock_round_rate in  clk_composite_determine_rate in clk-composite.c and the "best-parent"-determination  is only done for clock_round_rate-op there. There is no "best-parent"-determination  in determine_rate in clk-divider which clk-compsite seems to expect - nor any multiple parents handling at all.  That means that the composite will always stay at the same/initial parent  clock (from the mux), without ever changing it (even if necessary). This breaks lot of clocks for Rockchip which intensively uses composites,  i.e. those clocks will always stay at the initial parent, which in some cases  is the XTAL clock and I strongly guess it is the same for other platforms,  which use composite clocks having more than one parent (e.g. mediatek, ti ...) Example (RK3399) clk_sdio is set (initialized) with XTAL (24 MHz) as parent in u-boot.  It will always stay at this parent, even if the mmc driver sets a rate of  200 MHz (fails, as the nature of things), which should switch it to any of its possible parent PLLs defined in mux_pll_src_cpll_gpll_npll_ppll_upll_24m_p (see clk-rk3399.c)  - which never happens. Reverting this commit makes it work again: Unless there is a quick and obvious fix for that, I guess this should be done for 5.15 - even if the real issue is somewhere else. Alex > --- > drivers/clk/clk-divider.c | 23 +++++++++++++++++++++++ > 1 file changed, 23 insertions(+) > > diff --git a/drivers/clk/clk-divider.c b/drivers/clk/clk-divider.c > index 87ba4966b0e8..f6b2bf558486 100644 > --- a/drivers/clk/clk-divider.c > +++ b/drivers/clk/clk-divider.c > @@ -446,6 +446,27 @@ static long clk_divider_round_rate(struct clk_hw *hw, unsigned long rate, > divider->width, divider->flags); > } > > +static int clk_divider_determine_rate(struct clk_hw *hw, > + struct clk_rate_request *req) > +{ > + struct clk_divider *divider = to_clk_divider(hw); > + > + /* if read only, just return current value */ > + if (divider->flags & CLK_DIVIDER_READ_ONLY) { > + u32 val; > + > + val = clk_div_readl(divider) >> divider->shift; > + val &= clk_div_mask(divider->width); > + > + return divider_ro_determine_rate(hw, req, divider->table, > + divider->width, > + divider->flags, val); > + } > + > + return divider_determine_rate(hw, req, divider->table, divider->width, > + divider->flags); > +} > + > int divider_get_val(unsigned long rate, unsigned long parent_rate, > const struct clk_div_table *table, u8 width, > unsigned long flags) > @@ -501,6 +522,7 @@ static int clk_divider_set_rate(struct clk_hw *hw, unsigned long rate, > const struct clk_ops clk_divider_ops = { > .recalc_rate = clk_divider_recalc_rate, > .round_rate = clk_divider_round_rate, > + .determine_rate = clk_divider_determine_rate, > .set_rate = clk_divider_set_rate, > }; > EXPORT_SYMBOL_GPL(clk_divider_ops); > @@ -508,6 +530,7 @@ EXPORT_SYMBOL_GPL(clk_divider_ops); > const struct clk_ops clk_divider_ro_ops = { > .recalc_rate = clk_divider_recalc_rate, > .round_rate = clk_divider_round_rate, > + .determine_rate = clk_divider_determine_rate, > }; > EXPORT_SYMBOL_GPL(clk_divider_ro_ops); > 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 mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A364CC433FE for ; Thu, 14 Oct 2021 09:56:02 +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 6092F610E6 for ; Thu, 14 Oct 2021 09:56:02 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 6092F610E6 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From: References:Cc:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=y1vbXXoeWJIFu7BcbyTrq4e1VMfsQm6ELv2Zk5JksD0=; b=fpqlELX/zvL57vfXRGQDI9rnpV y66RF5c0Y7xLrzHB+ARlL4DTq1lDZGReCYNamXqv3YjYS3T316qCR6sByVMyvIkCsXKImGfyR0DDj Pz1Cpp8/VflKb4jBew3Ppqs/iNyDBJsAFJQvTWakyOMoF+l8zWu8+cYA6p31tfL+Xjq8uu/le0r+3 qQp3gcqiG0ve7MVxmqdt28G9UN8ciUnl5Pyn3l4Ix3e5xY3jk0XXtsBHa9T5wAo3n4HeqGekoc/Vg IukVceb8eOatLOAsN02auHcBvC09ojm/K+aIoleBUwpzcv9+yLtK8L63ozT9WHqiEJ0r2QZGzOuCP iTsYvMjg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1maxSv-002T4J-1X; Thu, 14 Oct 2021 09:55:57 +0000 Received: from mail-ed1-x536.google.com ([2a00:1450:4864:20::536]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1maxSr-002T3H-Qa; Thu, 14 Oct 2021 09:55:55 +0000 Received: by mail-ed1-x536.google.com with SMTP id w14so21814589edv.11; Thu, 14 Oct 2021 02:55:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding:content-language; bh=74OxFDQINVP0t2Tym9riIimusp8CKNtXPfS58HmDiLw=; b=BS3g7dZGSS+szT6wf9qurt+RBfc0UoAM3kDnpqYZBSvbGq3ebU1UZHUSXwn5DYagOn uvm22zri7XDVR2V/BNROSi7XPrguJodp/U0OLusEP8WUYZM+MWa9tRwKsHewBYskDx0b ChgmNr7tWfYhfi1vP5HCChHcHD8thT9sQN5kEz8IMfjOq+buxwnn99DTB9VZp2xExb7o GCOSEI9mnnzWM1YyNbMQHBF6X0VGQ692z1THXDHoDfi9mVWTs4pLhXV5TbrOdnCKOrXX dPj3JQ0MxFCafqrhIxqWYQhRJRE60pjnDFRWYJa5Y+kqr/3ZmF5UD6dALujoXlx01dSk u/ew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=74OxFDQINVP0t2Tym9riIimusp8CKNtXPfS58HmDiLw=; b=gsfn2CvAxTS1Fy0Cza+oywZtJC4cc56exbs1BticF47SYvE8hrRINyHU3FhYxQfbMI yLt8ZdVT/EcDXweZCWqNmGEd1UW/C/oLuj808oG2NzudDDBFQmW3GTIYv/InpjGZPfJ+ XSXQ4omC2DUW6iksTf0XNhQJfXCO2GUD0YcCIe1tvb7JzfruPEhbK38YAtXI6L9sTQjv 7oMnRrkhN4zDi2ZthVTaLke3507aDrI4ahYXJ6fJKaAl2kyYAdJ+C83BMjrFYk4iTCyj eSsj78EAVMphm9APqkAqxIJIssUKX3WDR41oQqdCK/ErvwO0XBI8rszEC+LvwsEapKyL dBpg== X-Gm-Message-State: AOAM5312Q60h22QXWGTfQPEkv+Jkp3SgqIYa9VP/RaQuD+pQcZsbP3hd Z7OBKPuziq3ja9X1zCcfsE1VtuOyfeoW X-Google-Smtp-Source: ABdhPJwBHbs0l+qwtXWx6kiyM/z9QoRTuUFdwCI8NaqkcTZIJ9KfqxmcIMU5Y2fSgZC1yz6FzYc58g== X-Received: by 2002:a17:906:a382:: with SMTP id k2mr2543789ejz.454.1634205351095; Thu, 14 Oct 2021 02:55:51 -0700 (PDT) Received: from ?IPv6:2a02:810b:f40:4200:e1d9:2e2e:532d:87df? ([2a02:810b:f40:4200:e1d9:2e2e:532d:87df]) by smtp.gmail.com with ESMTPSA id h18sm1513410ejt.29.2021.10.14.02.55.50 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 14 Oct 2021 02:55:50 -0700 (PDT) Subject: Re: [PATCH v1 1/6] clk: divider: Implement and wire up .determine_rate by default To: Martin Blumenstingl , linux-clk@vger.kernel.org, sboyd@kernel.org Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, =?UTF-8?Q?Heiko_St=c3=bcbner?= , linux-rockchip@lists.infradead.org References: <20210702225145.2643303-1-martin.blumenstingl@googlemail.com> <20210702225145.2643303-2-martin.blumenstingl@googlemail.com> From: Alex Bee Message-ID: <4eb964ac-4fff-b59d-2660-2f84d8af5901@gmail.com> Date: Thu, 14 Oct 2021 11:55:49 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0 MIME-Version: 1.0 In-Reply-To: <20210702225145.2643303-2-martin.blumenstingl@googlemail.com> Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211014_025553_894457_6C76F0ED X-CRM114-Status: GOOD ( 28.75 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org SGksCgpBbSAwMy4wNy4yMSB1bSAwMDo1MSBzY2hyaWViIE1hcnRpbiBCbHVtZW5zdGluZ2w6Cj4g LmRldGVybWluZV9yYXRlIGlzIG1lYW50IHRvIHJlcGxhY2UgLnJvdW5kX3JhdGUuIFRoZSBmb3Jt ZXIgY29tZXMgd2l0aCBhCj4gYmVuZWZpdCB3aGljaCBpcyBlc3BlY2lhbGx5IHJlbGV2YW50IG9u IDMyLWJpdCBzeXN0ZW1zOiBzaW5jZQo+IC5kZXRlcm1pbmVfcmF0ZSB1c2VzIGFuICJ1bnNpZ25l ZCBsb25nIiAoY29tcGFyZWQgdG8gYSAic2lnbmVkIGxvbmciCj4gd2hpY2ggaXMgdXNlZCBieSAu cm91bmRfcmF0ZSkgdGhlIG1heGltdW0gdmFsdWUgb24gMzItYml0IHN5c3RlbXMKPiBpbmNyZWFz ZXMgZnJvbSAyXjMxIChvciBhcHByb3guIDIuMTRHSHopIHRvIDJeMzIgKG9yIGFwcHJveC4gNC4y OUdIeikuCj4KPiBJbXBsZW1lbnQgLmRldGVybWluZV9yYXRlIGluIGFkZGl0aW9uIHRvIC5yb3Vu ZF9yYXRlIHNvIGRyaXZlcnMgdGhhdCBhcmUKPiB1c2luZyBjbGtfZGl2aWRlcl97cm9fLH1vcHMg Y2FuIGJlbmVmaXQgZnJvbSB0aGlzIGJ5IGRlZmF1bHQuIEtlZXAgdGhlCj4gLnJvdW5kX3JhdGUg Y2FsbGJhY2sgZm9yIG5vdyBzaW5jZSBzb21lIGRyaXZlcnMgcmVseSBvbgo+IGNsa19kaXZpZGVy X29wcy5yb3VuZF9yYXRlIGJlaW5nIGltcGxlbWVudGVkLgo+Cj4gU2lnbmVkLW9mZi1ieTogTWFy dGluIEJsdW1lbnN0aW5nbCA8bWFydGluLmJsdW1lbnN0aW5nbEBnb29nbGVtYWlsLmNvbT4KVGhp cyBjb21taXTCoCBicmVha3MgY29tcG9zaXRlIGNsb2NrcyB3aXRoIG11bHRpcGxlIHBhcmVudHMs IHNpbmNlIGl0IAphZGRzIGHCoCBkZXRlcm1pbmVfcmF0ZSBjYWxsYmFjaywgd2hpY2ggaXMgcHJl ZmVycmVkIG92ZXIgCmNsb2NrX3JvdW5kX3JhdGUgaW7CoCBjbGtfY29tcG9zaXRlX2RldGVybWlu ZV9yYXRlIGluIGNsay1jb21wb3NpdGUuYyBhbmQgCnRoZSAiYmVzdC1wYXJlbnQiLWRldGVybWlu YXRpb27CoCBpcyBvbmx5IGRvbmUgZm9yIGNsb2NrX3JvdW5kX3JhdGUtb3AgCnRoZXJlLgpUaGVy ZSBpcyBubyAiYmVzdC1wYXJlbnQiLWRldGVybWluYXRpb27CoCBpbiBkZXRlcm1pbmVfcmF0ZSBp biAKY2xrLWRpdmlkZXIgd2hpY2ggY2xrLWNvbXBzaXRlIHNlZW1zIHRvIGV4cGVjdCAtIG5vciBh bnkgbXVsdGlwbGUgCnBhcmVudHMgaGFuZGxpbmcgYXQgYWxsLsKgIFRoYXQgbWVhbnMgdGhhdCB0 aGUgY29tcG9zaXRlIHdpbGwgYWx3YXlzIHN0YXkgCmF0IHRoZSBzYW1lL2luaXRpYWwgcGFyZW50 wqAgY2xvY2sgKGZyb20gdGhlIG11eCksIHdpdGhvdXQgZXZlciBjaGFuZ2luZyAKaXQgKGV2ZW4g aWYgbmVjZXNzYXJ5KS4KClRoaXMgYnJlYWtzIGxvdCBvZiBjbG9ja3MgZm9yIFJvY2tjaGlwIHdo aWNoIGludGVuc2l2ZWx5IHVzZXMgCmNvbXBvc2l0ZXMswqAgaS5lLiB0aG9zZSBjbG9ja3Mgd2ls bCBhbHdheXMgc3RheSBhdCB0aGUgaW5pdGlhbCBwYXJlbnQsIAp3aGljaCBpbiBzb21lIGNhc2Vz wqAgaXMgdGhlIFhUQUwgY2xvY2sgYW5kIEkgc3Ryb25nbHkgZ3Vlc3MgaXQgaXMgdGhlIApzYW1l IGZvciBvdGhlciBwbGF0Zm9ybXMswqAgd2hpY2ggdXNlIGNvbXBvc2l0ZSBjbG9ja3MgaGF2aW5n IG1vcmUgdGhhbiAKb25lIHBhcmVudCAoZS5nLiBtZWRpYXRlaywgdGkgLi4uKQoKRXhhbXBsZSAo UkszMzk5KQpjbGtfc2RpbyBpcyBzZXQgKGluaXRpYWxpemVkKSB3aXRoIFhUQUwgKDI0IE1Ieikg YXMgcGFyZW50IGluIHUtYm9vdC7CoCAKSXQgd2lsbCBhbHdheXMgc3RheSBhdCB0aGlzIHBhcmVu dCwgZXZlbiBpZiB0aGUgbW1jIGRyaXZlciBzZXRzIGEgcmF0ZSAKb2bCoCAyMDAgTUh6IChmYWls cywgYXMgdGhlIG5hdHVyZSBvZiB0aGluZ3MpLCB3aGljaCBzaG91bGQgc3dpdGNoIGl0IHRvIAph bnkgb2YgaXRzIHBvc3NpYmxlIHBhcmVudCBQTExzIGRlZmluZWQgaW4gCm11eF9wbGxfc3JjX2Nw bGxfZ3BsbF9ucGxsX3BwbGxfdXBsbF8yNG1fcCAoc2VlIGNsay1yazMzOTkuYynCoCAtIHdoaWNo IApuZXZlciBoYXBwZW5zLgoKUmV2ZXJ0aW5nIHRoaXMgY29tbWl0IG1ha2VzIGl0IHdvcmsgYWdh aW46IFVubGVzcyB0aGVyZSBpcyBhIHF1aWNrIGFuZCAKb2J2aW91cyBmaXggZm9yIHRoYXQsIEkg Z3Vlc3MgdGhpcyBzaG91bGQgYmUgZG9uZSBmb3IgNS4xNSAtIGV2ZW4gaWYgdGhlIApyZWFsIGlz c3VlIGlzIHNvbWV3aGVyZSBlbHNlLgoKQWxleAoKPiAtLS0KPiAgIGRyaXZlcnMvY2xrL2Nsay1k aXZpZGVyLmMgfCAyMyArKysrKysrKysrKysrKysrKysrKysrKwo+ICAgMSBmaWxlIGNoYW5nZWQs IDIzIGluc2VydGlvbnMoKykKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2Nsay9jbGstZGl2aWRl ci5jIGIvZHJpdmVycy9jbGsvY2xrLWRpdmlkZXIuYwo+IGluZGV4IDg3YmE0OTY2YjBlOC4uZjZi MmJmNTU4NDg2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvY2xrL2Nsay1kaXZpZGVyLmMKPiArKysg Yi9kcml2ZXJzL2Nsay9jbGstZGl2aWRlci5jCj4gQEAgLTQ0Niw2ICs0NDYsMjcgQEAgc3RhdGlj IGxvbmcgY2xrX2RpdmlkZXJfcm91bmRfcmF0ZShzdHJ1Y3QgY2xrX2h3ICpodywgdW5zaWduZWQg bG9uZyByYXRlLAo+ICAgCQkJCSAgZGl2aWRlci0+d2lkdGgsIGRpdmlkZXItPmZsYWdzKTsKPiAg IH0KPiAgIAo+ICtzdGF0aWMgaW50IGNsa19kaXZpZGVyX2RldGVybWluZV9yYXRlKHN0cnVjdCBj bGtfaHcgKmh3LAo+ICsJCQkJICAgICAgc3RydWN0IGNsa19yYXRlX3JlcXVlc3QgKnJlcSkKPiAr ewo+ICsJc3RydWN0IGNsa19kaXZpZGVyICpkaXZpZGVyID0gdG9fY2xrX2RpdmlkZXIoaHcpOwo+ ICsKPiArCS8qIGlmIHJlYWQgb25seSwganVzdCByZXR1cm4gY3VycmVudCB2YWx1ZSAqLwo+ICsJ aWYgKGRpdmlkZXItPmZsYWdzICYgQ0xLX0RJVklERVJfUkVBRF9PTkxZKSB7Cj4gKwkJdTMyIHZh bDsKPiArCj4gKwkJdmFsID0gY2xrX2Rpdl9yZWFkbChkaXZpZGVyKSA+PiBkaXZpZGVyLT5zaGlm dDsKPiArCQl2YWwgJj0gY2xrX2Rpdl9tYXNrKGRpdmlkZXItPndpZHRoKTsKPiArCj4gKwkJcmV0 dXJuIGRpdmlkZXJfcm9fZGV0ZXJtaW5lX3JhdGUoaHcsIHJlcSwgZGl2aWRlci0+dGFibGUsCj4g KwkJCQkJCSBkaXZpZGVyLT53aWR0aCwKPiArCQkJCQkJIGRpdmlkZXItPmZsYWdzLCB2YWwpOwo+ ICsJfQo+ICsKPiArCXJldHVybiBkaXZpZGVyX2RldGVybWluZV9yYXRlKGh3LCByZXEsIGRpdmlk ZXItPnRhYmxlLCBkaXZpZGVyLT53aWR0aCwKPiArCQkJCSAgICAgIGRpdmlkZXItPmZsYWdzKTsK PiArfQo+ICsKPiAgIGludCBkaXZpZGVyX2dldF92YWwodW5zaWduZWQgbG9uZyByYXRlLCB1bnNp Z25lZCBsb25nIHBhcmVudF9yYXRlLAo+ICAgCQkgICAgY29uc3Qgc3RydWN0IGNsa19kaXZfdGFi bGUgKnRhYmxlLCB1OCB3aWR0aCwKPiAgIAkJICAgIHVuc2lnbmVkIGxvbmcgZmxhZ3MpCj4gQEAg LTUwMSw2ICs1MjIsNyBAQCBzdGF0aWMgaW50IGNsa19kaXZpZGVyX3NldF9yYXRlKHN0cnVjdCBj bGtfaHcgKmh3LCB1bnNpZ25lZCBsb25nIHJhdGUsCj4gICBjb25zdCBzdHJ1Y3QgY2xrX29wcyBj bGtfZGl2aWRlcl9vcHMgPSB7Cj4gICAJLnJlY2FsY19yYXRlID0gY2xrX2RpdmlkZXJfcmVjYWxj X3JhdGUsCj4gICAJLnJvdW5kX3JhdGUgPSBjbGtfZGl2aWRlcl9yb3VuZF9yYXRlLAo+ICsJLmRl dGVybWluZV9yYXRlID0gY2xrX2RpdmlkZXJfZGV0ZXJtaW5lX3JhdGUsCj4gICAJLnNldF9yYXRl ID0gY2xrX2RpdmlkZXJfc2V0X3JhdGUsCj4gICB9Owo+ICAgRVhQT1JUX1NZTUJPTF9HUEwoY2xr X2RpdmlkZXJfb3BzKTsKPiBAQCAtNTA4LDYgKzUzMCw3IEBAIEVYUE9SVF9TWU1CT0xfR1BMKGNs a19kaXZpZGVyX29wcyk7Cj4gICBjb25zdCBzdHJ1Y3QgY2xrX29wcyBjbGtfZGl2aWRlcl9yb19v cHMgPSB7Cj4gICAJLnJlY2FsY19yYXRlID0gY2xrX2RpdmlkZXJfcmVjYWxjX3JhdGUsCj4gICAJ LnJvdW5kX3JhdGUgPSBjbGtfZGl2aWRlcl9yb3VuZF9yYXRlLAo+ICsJLmRldGVybWluZV9yYXRl ID0gY2xrX2RpdmlkZXJfZGV0ZXJtaW5lX3JhdGUsCj4gICB9Owo+ICAgRVhQT1JUX1NZTUJPTF9H UEwoY2xrX2RpdmlkZXJfcm9fb3BzKTsKPiAgIAoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KTGludXgtcm9ja2NoaXAgbWFpbGluZyBsaXN0CkxpbnV4LXJv Y2tjaGlwQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFp bG1hbi9saXN0aW5mby9saW51eC1yb2NrY2hpcAo= 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 mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 346DEC433EF for ; Thu, 14 Oct 2021 09:58:10 +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 E72036109E for ; Thu, 14 Oct 2021 09:58:09 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org E72036109E Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From: References:Cc:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=JrKjJRwLyu6bToqcQRh6xY6U4S/csD62x1lP9p2YN7g=; b=E1F8MiPwM/6MCiu4CJvTlUOLht dfHnXG3+ZtZQkT8ZqdXeejQZiAwbvZ70IEtIRa5zsoLw35Dwmij2gBWrMNkH3AYH2P4DgbWg5e17a bYYd5wQIp52WXxrxnxE01zcZQHRqWKYctDYcsgf6Qrb31sicOWrRn2If1y9hpw2baBF+v4JK+iY9A kEeddCIDHbzfiIyQl+h0db4NBePOPpH1WB3JQ6fMrZDYj+asLDJm+9zb+O/23WxXlKOjnnKwOkTgt pCe9n3Rl+pQqhBC1mzG6SHVF159ebap/fa/GbyP3XBIQXFUKMsSXuA3g/xsj6L1QOFzOiWdwy9KHl S6aDuP8Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1maxSw-002T4k-R5; Thu, 14 Oct 2021 09:55:59 +0000 Received: from mail-ed1-x536.google.com ([2a00:1450:4864:20::536]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1maxSr-002T3H-Qa; Thu, 14 Oct 2021 09:55:55 +0000 Received: by mail-ed1-x536.google.com with SMTP id w14so21814589edv.11; Thu, 14 Oct 2021 02:55:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding:content-language; bh=74OxFDQINVP0t2Tym9riIimusp8CKNtXPfS58HmDiLw=; b=BS3g7dZGSS+szT6wf9qurt+RBfc0UoAM3kDnpqYZBSvbGq3ebU1UZHUSXwn5DYagOn uvm22zri7XDVR2V/BNROSi7XPrguJodp/U0OLusEP8WUYZM+MWa9tRwKsHewBYskDx0b ChgmNr7tWfYhfi1vP5HCChHcHD8thT9sQN5kEz8IMfjOq+buxwnn99DTB9VZp2xExb7o GCOSEI9mnnzWM1YyNbMQHBF6X0VGQ692z1THXDHoDfi9mVWTs4pLhXV5TbrOdnCKOrXX dPj3JQ0MxFCafqrhIxqWYQhRJRE60pjnDFRWYJa5Y+kqr/3ZmF5UD6dALujoXlx01dSk u/ew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=74OxFDQINVP0t2Tym9riIimusp8CKNtXPfS58HmDiLw=; b=gsfn2CvAxTS1Fy0Cza+oywZtJC4cc56exbs1BticF47SYvE8hrRINyHU3FhYxQfbMI yLt8ZdVT/EcDXweZCWqNmGEd1UW/C/oLuj808oG2NzudDDBFQmW3GTIYv/InpjGZPfJ+ XSXQ4omC2DUW6iksTf0XNhQJfXCO2GUD0YcCIe1tvb7JzfruPEhbK38YAtXI6L9sTQjv 7oMnRrkhN4zDi2ZthVTaLke3507aDrI4ahYXJ6fJKaAl2kyYAdJ+C83BMjrFYk4iTCyj eSsj78EAVMphm9APqkAqxIJIssUKX3WDR41oQqdCK/ErvwO0XBI8rszEC+LvwsEapKyL dBpg== X-Gm-Message-State: AOAM5312Q60h22QXWGTfQPEkv+Jkp3SgqIYa9VP/RaQuD+pQcZsbP3hd Z7OBKPuziq3ja9X1zCcfsE1VtuOyfeoW X-Google-Smtp-Source: ABdhPJwBHbs0l+qwtXWx6kiyM/z9QoRTuUFdwCI8NaqkcTZIJ9KfqxmcIMU5Y2fSgZC1yz6FzYc58g== X-Received: by 2002:a17:906:a382:: with SMTP id k2mr2543789ejz.454.1634205351095; Thu, 14 Oct 2021 02:55:51 -0700 (PDT) Received: from ?IPv6:2a02:810b:f40:4200:e1d9:2e2e:532d:87df? ([2a02:810b:f40:4200:e1d9:2e2e:532d:87df]) by smtp.gmail.com with ESMTPSA id h18sm1513410ejt.29.2021.10.14.02.55.50 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 14 Oct 2021 02:55:50 -0700 (PDT) Subject: Re: [PATCH v1 1/6] clk: divider: Implement and wire up .determine_rate by default To: Martin Blumenstingl , linux-clk@vger.kernel.org, sboyd@kernel.org Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, =?UTF-8?Q?Heiko_St=c3=bcbner?= , linux-rockchip@lists.infradead.org References: <20210702225145.2643303-1-martin.blumenstingl@googlemail.com> <20210702225145.2643303-2-martin.blumenstingl@googlemail.com> From: Alex Bee Message-ID: <4eb964ac-4fff-b59d-2660-2f84d8af5901@gmail.com> Date: Thu, 14 Oct 2021 11:55:49 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0 MIME-Version: 1.0 In-Reply-To: <20210702225145.2643303-2-martin.blumenstingl@googlemail.com> Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211014_025553_894457_6C76F0ED X-CRM114-Status: GOOD ( 28.75 ) 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGksCgpBbSAwMy4wNy4yMSB1bSAwMDo1MSBzY2hyaWViIE1hcnRpbiBCbHVtZW5zdGluZ2w6Cj4g LmRldGVybWluZV9yYXRlIGlzIG1lYW50IHRvIHJlcGxhY2UgLnJvdW5kX3JhdGUuIFRoZSBmb3Jt ZXIgY29tZXMgd2l0aCBhCj4gYmVuZWZpdCB3aGljaCBpcyBlc3BlY2lhbGx5IHJlbGV2YW50IG9u IDMyLWJpdCBzeXN0ZW1zOiBzaW5jZQo+IC5kZXRlcm1pbmVfcmF0ZSB1c2VzIGFuICJ1bnNpZ25l ZCBsb25nIiAoY29tcGFyZWQgdG8gYSAic2lnbmVkIGxvbmciCj4gd2hpY2ggaXMgdXNlZCBieSAu cm91bmRfcmF0ZSkgdGhlIG1heGltdW0gdmFsdWUgb24gMzItYml0IHN5c3RlbXMKPiBpbmNyZWFz ZXMgZnJvbSAyXjMxIChvciBhcHByb3guIDIuMTRHSHopIHRvIDJeMzIgKG9yIGFwcHJveC4gNC4y OUdIeikuCj4KPiBJbXBsZW1lbnQgLmRldGVybWluZV9yYXRlIGluIGFkZGl0aW9uIHRvIC5yb3Vu ZF9yYXRlIHNvIGRyaXZlcnMgdGhhdCBhcmUKPiB1c2luZyBjbGtfZGl2aWRlcl97cm9fLH1vcHMg Y2FuIGJlbmVmaXQgZnJvbSB0aGlzIGJ5IGRlZmF1bHQuIEtlZXAgdGhlCj4gLnJvdW5kX3JhdGUg Y2FsbGJhY2sgZm9yIG5vdyBzaW5jZSBzb21lIGRyaXZlcnMgcmVseSBvbgo+IGNsa19kaXZpZGVy X29wcy5yb3VuZF9yYXRlIGJlaW5nIGltcGxlbWVudGVkLgo+Cj4gU2lnbmVkLW9mZi1ieTogTWFy dGluIEJsdW1lbnN0aW5nbCA8bWFydGluLmJsdW1lbnN0aW5nbEBnb29nbGVtYWlsLmNvbT4KVGhp cyBjb21taXTCoCBicmVha3MgY29tcG9zaXRlIGNsb2NrcyB3aXRoIG11bHRpcGxlIHBhcmVudHMs IHNpbmNlIGl0IAphZGRzIGHCoCBkZXRlcm1pbmVfcmF0ZSBjYWxsYmFjaywgd2hpY2ggaXMgcHJl ZmVycmVkIG92ZXIgCmNsb2NrX3JvdW5kX3JhdGUgaW7CoCBjbGtfY29tcG9zaXRlX2RldGVybWlu ZV9yYXRlIGluIGNsay1jb21wb3NpdGUuYyBhbmQgCnRoZSAiYmVzdC1wYXJlbnQiLWRldGVybWlu YXRpb27CoCBpcyBvbmx5IGRvbmUgZm9yIGNsb2NrX3JvdW5kX3JhdGUtb3AgCnRoZXJlLgpUaGVy ZSBpcyBubyAiYmVzdC1wYXJlbnQiLWRldGVybWluYXRpb27CoCBpbiBkZXRlcm1pbmVfcmF0ZSBp biAKY2xrLWRpdmlkZXIgd2hpY2ggY2xrLWNvbXBzaXRlIHNlZW1zIHRvIGV4cGVjdCAtIG5vciBh bnkgbXVsdGlwbGUgCnBhcmVudHMgaGFuZGxpbmcgYXQgYWxsLsKgIFRoYXQgbWVhbnMgdGhhdCB0 aGUgY29tcG9zaXRlIHdpbGwgYWx3YXlzIHN0YXkgCmF0IHRoZSBzYW1lL2luaXRpYWwgcGFyZW50 wqAgY2xvY2sgKGZyb20gdGhlIG11eCksIHdpdGhvdXQgZXZlciBjaGFuZ2luZyAKaXQgKGV2ZW4g aWYgbmVjZXNzYXJ5KS4KClRoaXMgYnJlYWtzIGxvdCBvZiBjbG9ja3MgZm9yIFJvY2tjaGlwIHdo aWNoIGludGVuc2l2ZWx5IHVzZXMgCmNvbXBvc2l0ZXMswqAgaS5lLiB0aG9zZSBjbG9ja3Mgd2ls bCBhbHdheXMgc3RheSBhdCB0aGUgaW5pdGlhbCBwYXJlbnQsIAp3aGljaCBpbiBzb21lIGNhc2Vz wqAgaXMgdGhlIFhUQUwgY2xvY2sgYW5kIEkgc3Ryb25nbHkgZ3Vlc3MgaXQgaXMgdGhlIApzYW1l IGZvciBvdGhlciBwbGF0Zm9ybXMswqAgd2hpY2ggdXNlIGNvbXBvc2l0ZSBjbG9ja3MgaGF2aW5n IG1vcmUgdGhhbiAKb25lIHBhcmVudCAoZS5nLiBtZWRpYXRlaywgdGkgLi4uKQoKRXhhbXBsZSAo UkszMzk5KQpjbGtfc2RpbyBpcyBzZXQgKGluaXRpYWxpemVkKSB3aXRoIFhUQUwgKDI0IE1Ieikg YXMgcGFyZW50IGluIHUtYm9vdC7CoCAKSXQgd2lsbCBhbHdheXMgc3RheSBhdCB0aGlzIHBhcmVu dCwgZXZlbiBpZiB0aGUgbW1jIGRyaXZlciBzZXRzIGEgcmF0ZSAKb2bCoCAyMDAgTUh6IChmYWls cywgYXMgdGhlIG5hdHVyZSBvZiB0aGluZ3MpLCB3aGljaCBzaG91bGQgc3dpdGNoIGl0IHRvIAph bnkgb2YgaXRzIHBvc3NpYmxlIHBhcmVudCBQTExzIGRlZmluZWQgaW4gCm11eF9wbGxfc3JjX2Nw bGxfZ3BsbF9ucGxsX3BwbGxfdXBsbF8yNG1fcCAoc2VlIGNsay1yazMzOTkuYynCoCAtIHdoaWNo IApuZXZlciBoYXBwZW5zLgoKUmV2ZXJ0aW5nIHRoaXMgY29tbWl0IG1ha2VzIGl0IHdvcmsgYWdh aW46IFVubGVzcyB0aGVyZSBpcyBhIHF1aWNrIGFuZCAKb2J2aW91cyBmaXggZm9yIHRoYXQsIEkg Z3Vlc3MgdGhpcyBzaG91bGQgYmUgZG9uZSBmb3IgNS4xNSAtIGV2ZW4gaWYgdGhlIApyZWFsIGlz c3VlIGlzIHNvbWV3aGVyZSBlbHNlLgoKQWxleAoKPiAtLS0KPiAgIGRyaXZlcnMvY2xrL2Nsay1k aXZpZGVyLmMgfCAyMyArKysrKysrKysrKysrKysrKysrKysrKwo+ICAgMSBmaWxlIGNoYW5nZWQs IDIzIGluc2VydGlvbnMoKykKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2Nsay9jbGstZGl2aWRl ci5jIGIvZHJpdmVycy9jbGsvY2xrLWRpdmlkZXIuYwo+IGluZGV4IDg3YmE0OTY2YjBlOC4uZjZi MmJmNTU4NDg2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvY2xrL2Nsay1kaXZpZGVyLmMKPiArKysg Yi9kcml2ZXJzL2Nsay9jbGstZGl2aWRlci5jCj4gQEAgLTQ0Niw2ICs0NDYsMjcgQEAgc3RhdGlj IGxvbmcgY2xrX2RpdmlkZXJfcm91bmRfcmF0ZShzdHJ1Y3QgY2xrX2h3ICpodywgdW5zaWduZWQg bG9uZyByYXRlLAo+ICAgCQkJCSAgZGl2aWRlci0+d2lkdGgsIGRpdmlkZXItPmZsYWdzKTsKPiAg IH0KPiAgIAo+ICtzdGF0aWMgaW50IGNsa19kaXZpZGVyX2RldGVybWluZV9yYXRlKHN0cnVjdCBj bGtfaHcgKmh3LAo+ICsJCQkJICAgICAgc3RydWN0IGNsa19yYXRlX3JlcXVlc3QgKnJlcSkKPiAr ewo+ICsJc3RydWN0IGNsa19kaXZpZGVyICpkaXZpZGVyID0gdG9fY2xrX2RpdmlkZXIoaHcpOwo+ ICsKPiArCS8qIGlmIHJlYWQgb25seSwganVzdCByZXR1cm4gY3VycmVudCB2YWx1ZSAqLwo+ICsJ aWYgKGRpdmlkZXItPmZsYWdzICYgQ0xLX0RJVklERVJfUkVBRF9PTkxZKSB7Cj4gKwkJdTMyIHZh bDsKPiArCj4gKwkJdmFsID0gY2xrX2Rpdl9yZWFkbChkaXZpZGVyKSA+PiBkaXZpZGVyLT5zaGlm dDsKPiArCQl2YWwgJj0gY2xrX2Rpdl9tYXNrKGRpdmlkZXItPndpZHRoKTsKPiArCj4gKwkJcmV0 dXJuIGRpdmlkZXJfcm9fZGV0ZXJtaW5lX3JhdGUoaHcsIHJlcSwgZGl2aWRlci0+dGFibGUsCj4g KwkJCQkJCSBkaXZpZGVyLT53aWR0aCwKPiArCQkJCQkJIGRpdmlkZXItPmZsYWdzLCB2YWwpOwo+ ICsJfQo+ICsKPiArCXJldHVybiBkaXZpZGVyX2RldGVybWluZV9yYXRlKGh3LCByZXEsIGRpdmlk ZXItPnRhYmxlLCBkaXZpZGVyLT53aWR0aCwKPiArCQkJCSAgICAgIGRpdmlkZXItPmZsYWdzKTsK PiArfQo+ICsKPiAgIGludCBkaXZpZGVyX2dldF92YWwodW5zaWduZWQgbG9uZyByYXRlLCB1bnNp Z25lZCBsb25nIHBhcmVudF9yYXRlLAo+ICAgCQkgICAgY29uc3Qgc3RydWN0IGNsa19kaXZfdGFi bGUgKnRhYmxlLCB1OCB3aWR0aCwKPiAgIAkJICAgIHVuc2lnbmVkIGxvbmcgZmxhZ3MpCj4gQEAg LTUwMSw2ICs1MjIsNyBAQCBzdGF0aWMgaW50IGNsa19kaXZpZGVyX3NldF9yYXRlKHN0cnVjdCBj bGtfaHcgKmh3LCB1bnNpZ25lZCBsb25nIHJhdGUsCj4gICBjb25zdCBzdHJ1Y3QgY2xrX29wcyBj bGtfZGl2aWRlcl9vcHMgPSB7Cj4gICAJLnJlY2FsY19yYXRlID0gY2xrX2RpdmlkZXJfcmVjYWxj X3JhdGUsCj4gICAJLnJvdW5kX3JhdGUgPSBjbGtfZGl2aWRlcl9yb3VuZF9yYXRlLAo+ICsJLmRl dGVybWluZV9yYXRlID0gY2xrX2RpdmlkZXJfZGV0ZXJtaW5lX3JhdGUsCj4gICAJLnNldF9yYXRl ID0gY2xrX2RpdmlkZXJfc2V0X3JhdGUsCj4gICB9Owo+ICAgRVhQT1JUX1NZTUJPTF9HUEwoY2xr X2RpdmlkZXJfb3BzKTsKPiBAQCAtNTA4LDYgKzUzMCw3IEBAIEVYUE9SVF9TWU1CT0xfR1BMKGNs a19kaXZpZGVyX29wcyk7Cj4gICBjb25zdCBzdHJ1Y3QgY2xrX29wcyBjbGtfZGl2aWRlcl9yb19v cHMgPSB7Cj4gICAJLnJlY2FsY19yYXRlID0gY2xrX2RpdmlkZXJfcmVjYWxjX3JhdGUsCj4gICAJ LnJvdW5kX3JhdGUgPSBjbGtfZGl2aWRlcl9yb3VuZF9yYXRlLAo+ICsJLmRldGVybWluZV9yYXRl ID0gY2xrX2RpdmlkZXJfZGV0ZXJtaW5lX3JhdGUsCj4gICB9Owo+ICAgRVhQT1JUX1NZTUJPTF9H UEwoY2xrX2RpdmlkZXJfcm9fb3BzKTsKPiAgIAoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgt YXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3Jn L21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=