Received: by 2002:ad5:4acb:0:0:0:0:0 with SMTP id n11csp3387370imw; Mon, 11 Jul 2022 07:45:25 -0700 (PDT) X-Google-Smtp-Source: AGRyM1tmNN7e/6/NtL5ERlE5mApmZSMkA903msUPfS04I6Z31uq1v8x1z3mvIObMv/ufEEzIegeR X-Received: by 2002:a05:6402:3202:b0:43a:86f5:a930 with SMTP id g2-20020a056402320200b0043a86f5a930mr24973599eda.389.1657550724833; Mon, 11 Jul 2022 07:45:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1657550724; cv=none; d=google.com; s=arc-20160816; b=Bveg9V31YZlOwmAWR5T84V/92C1h0lf1d4kIBpPMm1mv8/y1LMrT861fPXIl1z90ps o3lsjjDgaw4FHT4lv7esyGH++c0sRm6+4B3495swLEQVoUHUzcd3gjr33aFnEvJSj0gm EiHVw9T98iXPH1CfNXFsDCoqI8CieoNrPGtDD/CttumGSQKKPTXyO7+Koa+/L2KoUgVT kIXF+D2pxAJPoCf0ifJf7z0rSSFRKfmhVNbz3GJ4GxrzQKSU9YZRct0Z7JtVvlpDcJV5 i9zJhkBppadI9L/iPCnyO8yjHRw7OZFXzVXTtcTgTgUuGVffjy4ybemV2lJVHccfmDuF wgOw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=7XItuS7mxG3PZJmkt2lhJ3OfdyNaqBYJhSMEwOH7X7w=; b=OHk5QSxYKwHxzfU1LiYgc6ulWxWDdROGo0zQA+pwtvLyG+aG21/wS1c9fRw4jP7M2b wSJf2v0RCFfCPCOrg44pZrlRgpi5X35P+QamylAjuN3T51UnsadxAfdPRf7MjnsOEdRH U7fPO892pQG6dY2b4tusQiDBxusPFGG6faf2qcxs4vBBVqQIM7GnjA4TEoUrnpmzMlUb fTTCab9VHBGlw/O9kZ3JHMoYrfW/0O7KOGEvWqAUIgyxueLjP1U9g6Fb3vw9U+eZoVAJ gC35AgQQjgwCzoEZPbxrInMvjTaQSHmQiPI9WwUJldST4+klprgMbzBtZqPwfIWnfiwl 2p+Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=PGyjfvKc; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id gs31-20020a1709072d1f00b0072b40db0091si9180957ejc.901.2022.07.11.07.44.59; Mon, 11 Jul 2022 07:45:24 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=PGyjfvKc; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231518AbiGKOjX (ORCPT + 99 others); Mon, 11 Jul 2022 10:39:23 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59670 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231424AbiGKOi6 (ORCPT ); Mon, 11 Jul 2022 10:38:58 -0400 Received: from mail-qk1-x736.google.com (mail-qk1-x736.google.com [IPv6:2607:f8b0:4864:20::736]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7126625298 for ; Mon, 11 Jul 2022 07:38:57 -0700 (PDT) Received: by mail-qk1-x736.google.com with SMTP id z11so2482751qkz.13 for ; Mon, 11 Jul 2022 07:38:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=7XItuS7mxG3PZJmkt2lhJ3OfdyNaqBYJhSMEwOH7X7w=; b=PGyjfvKcWdQwelKW6M8EqUThfSKyzL47vHKiHrDemhJsneuC3ixvwPZpeXfEyG1cyR 8KPrFdjBv/Zo/II3/JPlKy7mGsa/Q39PbpljtC0/8lm35MvZ59axYT/uPaRIMgX9amIJ 29LaT0QCehH9Gf75ZQ8XofHL0rVkoyfgT6kbmYyLplJ+ehLCi7JEgTL1PUAkKsne9olR 57KCROb94QPPQ0c5q70I3lEHA3Bg024JIZk74fnO2fy/HCGafLSK6XsKQLJpcd84ExE3 YZKXT6W3Ajosz5UBCZitdo0YHcT8u+cFy+WCGW2YlQr9to7dOQd96GGGA54qbzgrtpXh lB/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=7XItuS7mxG3PZJmkt2lhJ3OfdyNaqBYJhSMEwOH7X7w=; b=3CEmzlHVTwRuIcQXwWXyq7h1etgfTZPs1Q7s5ZpH5Mr6wsxpEdg9rB7rvdB9uB8oKL xFFhk2Sdb+XV2YPFycYHmhIPfxzXf3z6D2hvW6bpk42zmbWDRdnn72YkFAE9HJ5XEqrK /EIIsl4KzeZRs9mogW9g6tvJRfsLV4D5iUFBLHccrElBzh3hDOzExOKPCWqEBCHxSV4b f3CYRQ30XjjmTcbjWRSO2JgCVwdvHTI+pcvvN4KAN+JER5aljRQt8DMAt6tEPrqrDumQ 6CkXOSEMFdw2WBPTvQcHail/DwJwq8LR4cFmVpglTRr3YmX6fRoKI0/y4heuPnpAS2Xf FxRw== X-Gm-Message-State: AJIora9N/JnM4xVJdEmejOH+FZsgiiJGypT6H3+qaQbddT5pXABqIUdV 2MsbECnjlh8cwKkdbKhmintS3bn/hWErrNKOytVhpg== X-Received: by 2002:a05:620a:d5b:b0:6b5:660b:2939 with SMTP id o27-20020a05620a0d5b00b006b5660b2939mr10691619qkl.30.1657550336362; Mon, 11 Jul 2022 07:38:56 -0700 (PDT) MIME-Version: 1.0 References: <20220711104719.40939-1-robimarko@gmail.com> In-Reply-To: <20220711104719.40939-1-robimarko@gmail.com> From: Dmitry Baryshkov Date: Mon, 11 Jul 2022 17:38:45 +0300 Message-ID: Subject: Re: [PATCH 1/6] clk: qcom: clk-rcg2: add rcg2 mux ops To: Robert Marko Cc: bjorn.andersson@linaro.org, agross@kernel.org, konrad.dybcio@somainline.org, mturquette@baylibre.com, sboyd@kernel.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, sivaprak@codeaurora.org, linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Christian Marangi Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 11 Jul 2022 at 14:22, Robert Marko wrote: > > From: Christian Marangi > > An RCG may act as a mux that switch between 2 parents. > This is the case on IPQ6018 and IPQ8074 where the APCS core clk that feeds > the CPU cluster clock just switches between XO and the PLL that feeds it. > > Add the required ops to add support for this special configuration and use > the generic mux function to determine the rate. > > This way we dont have to keep a essentially dummy frequency table to use > RCG2 as a mux. > > Signed-off-by: Christian Marangi > Signed-off-by: Robert Marko Reviewed-by: Dmitry Baryshkov > --- > drivers/clk/qcom/clk-rcg.h | 1 + > drivers/clk/qcom/clk-rcg2.c | 7 +++++++ > 2 files changed, 8 insertions(+) > > diff --git a/drivers/clk/qcom/clk-rcg.h b/drivers/clk/qcom/clk-rcg.h > index 012e745794fd..01581f4d2c39 100644 > --- a/drivers/clk/qcom/clk-rcg.h > +++ b/drivers/clk/qcom/clk-rcg.h > @@ -167,6 +167,7 @@ struct clk_rcg2_gfx3d { > > extern const struct clk_ops clk_rcg2_ops; > extern const struct clk_ops clk_rcg2_floor_ops; > +extern const struct clk_ops clk_rcg2_mux_closest_ops; > extern const struct clk_ops clk_edp_pixel_ops; > extern const struct clk_ops clk_byte_ops; > extern const struct clk_ops clk_byte2_ops; > diff --git a/drivers/clk/qcom/clk-rcg2.c b/drivers/clk/qcom/clk-rcg2.c > index 28019edd2a50..609c10f8d0d9 100644 > --- a/drivers/clk/qcom/clk-rcg2.c > +++ b/drivers/clk/qcom/clk-rcg2.c > @@ -509,6 +509,13 @@ const struct clk_ops clk_rcg2_floor_ops = { > }; > EXPORT_SYMBOL_GPL(clk_rcg2_floor_ops); > > +const struct clk_ops clk_rcg2_mux_closest_ops = { > + .determine_rate = __clk_mux_determine_rate_closest, > + .get_parent = clk_rcg2_get_parent, > + .set_parent = clk_rcg2_set_parent, > +}; > +EXPORT_SYMBOL_GPL(clk_rcg2_mux_closest_ops); > + > struct frac_entry { > int num; > int den; > -- > 2.36.1 > -- With best wishes Dmitry