From nobody Mon Jun 22 18:08:36 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 55334C433F5 for ; Sun, 20 Mar 2022 16:28:28 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S245512AbiCTQ3s (ORCPT ); Sun, 20 Mar 2022 12:29:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39832 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239460AbiCTQ3h (ORCPT ); Sun, 20 Mar 2022 12:29:37 -0400 Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com [IPv6:2a00:1450:4864:20::333]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 55773344FD; Sun, 20 Mar 2022 09:28:13 -0700 (PDT) Received: by mail-wm1-x333.google.com with SMTP id bg31-20020a05600c3c9f00b00381590dbb33so7222684wmb.3; Sun, 20 Mar 2022 09:28:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=oYnAnrWU13qc8rQ7MPOxKFwqoXsKN+1WmTS68IkDyt4=; b=duToya5GyaLrkMJnWO2Ls+N6vIz4sThEzI6BF9OYmhyrvl2ruxuAfIao2I+rTdaSxw vtKjV3zt1JeGbrLC3LH77YcdTpotON/o+N9hXrKbwXwsnp2eu9LZk55EKEdegcdJH8nc 9FopJPT3Ga9wLmX+fRy2UJ3xmZgsIXOCzwcoowAuU274HQGiJ2sPETOzW5adLwcxdN6J vwjj2m4+PMmLjCTRlMzvDM1i008MbYFC91MrF8TgYYm6XkH6XynhZbGfq3noMXWt9F9p wb86T2fp/y9DXDctCyM6lVPgW3qijB+nasEaHRHzoWSEULfQCAe96nPRxbdJjmMNQhaG /HCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=oYnAnrWU13qc8rQ7MPOxKFwqoXsKN+1WmTS68IkDyt4=; b=tO8yRoCZxVMsm+9C4JZJNoL6bG5toPHoEgBeZHJci/KhImNuZUUX4jdnjOjVq3W9kh qf9pWKg0PFn36ArL/c79RhIuEVe7zgJqp64jmluZsIe+Pwnsp9Oxju2QrdZZI1KHLzAr E+cdulUSJxo+gb25V8/+VZLnQoaVkfMOQBL3XpftFb8s+X6XqqteA+m0DL0StK/V/FQh VY6wELNxP/zL6o0QupUmmwuMXsu1gPkM4NLUuzQSAskjgTAnbiTrE/Kl5l32sQURnq2q 8PxHctC1GRRfj/vTkehnWWgQIW9IEf9Y82MSl3gNUnBR7t8tyZ8Q5SxvtIgPCfqhBj3+ MK+Q== X-Gm-Message-State: AOAM5303J64dTi7U/0WVPzRUNHjVdJD2hn+kTWEUqZM/5y4wpQKikBLv apHO2hSDnK8wAxyVzIco7DTOP+M8FJE= X-Google-Smtp-Source: ABdhPJzsF2L39vQVemrWbD2ydWVKnPPXKF1H8NNqmf5MZ1reKui8rBG7oZSXKiz9gJuAoFmP0qhQ/g== X-Received: by 2002:a05:600c:3d0e:b0:38c:9b5e:52c0 with SMTP id bh14-20020a05600c3d0e00b0038c9b5e52c0mr4428465wmb.3.1647793691696; Sun, 20 Mar 2022 09:28:11 -0700 (PDT) Received: from Ansuel-xps.localdomain (93-42-69-170.ip85.fastwebnet.it. [93.42.69.170]) by smtp.googlemail.com with ESMTPSA id y6-20020a05600015c600b00203fa70b4ebsm6760085wry.53.2022.03.20.09.28.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 20 Mar 2022 09:28:11 -0700 (PDT) From: Ansuel Smith To: Rob Herring , Andy Gross , Bjorn Andersson , Michael Turquette , Stephen Boyd , Ansuel Smith , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org Subject: [PATCH v3 01/18] clk: introduce clk_hw_get_index_of_parent new API Date: Sun, 20 Mar 2022 12:34:13 +0100 Message-Id: <20220320113430.26076-2-ansuelsmth@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220320113430.26076-1-ansuelsmth@gmail.com> References: <20220320113430.26076-1-ansuelsmth@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Clk can have multiple parents. Some clk may require to get the cached index of other parent that are not current associated with the clk. We have clk_hw_get_parent_index() that returns the index of the current parent but we can't get the index of other parents of the provided clk. Introduce clk_hw_get_index_of_parent() to get the cached index of the parent of the provided clk. This permits a direct access of the internal clk_fetch_parent_index(). Signed-off-by: Ansuel Smith --- drivers/clk/clk.c | 14 ++++++++++++++ include/linux/clk-provider.h | 1 + 2 files changed, 15 insertions(+) diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c index 8de6a22498e7..bdd70a88394c 100644 --- a/drivers/clk/clk.c +++ b/drivers/clk/clk.c @@ -1726,6 +1726,20 @@ int clk_hw_get_parent_index(struct clk_hw *hw) } EXPORT_SYMBOL_GPL(clk_hw_get_parent_index); =20 +/** + * clk_hw_get_index_of_parent - return the index of the parent clock + * @hw: clk_hw associated with the clk being consumed + * @parent: clk_hw of the parent to be fetched the index of + * + * Fetches and returns the index of parent clock provided. + * Returns -EINVAL if the given parent index can't be provided. + */ +int clk_hw_get_index_of_parent(struct clk_hw *hw, const struct clk_hw *par= ent) +{ + return clk_fetch_parent_index(hw->core, parent->core); +} +EXPORT_SYMBOL_GPL(clk_hw_get_index_of_parent); + /* * Update the orphan status of @core and all its children. */ diff --git a/include/linux/clk-provider.h b/include/linux/clk-provider.h index 2faa6f7aa8a8..5708c0b3ef1c 100644 --- a/include/linux/clk-provider.h +++ b/include/linux/clk-provider.h @@ -1198,6 +1198,7 @@ unsigned int clk_hw_get_num_parents(const struct clk_= hw *hw); struct clk_hw *clk_hw_get_parent(const struct clk_hw *hw); struct clk_hw *clk_hw_get_parent_by_index(const struct clk_hw *hw, unsigned int index); +int clk_hw_get_index_of_parent(struct clk_hw *hw, const struct clk_hw *par= ent); int clk_hw_get_parent_index(struct clk_hw *hw); int clk_hw_set_parent(struct clk_hw *hw, struct clk_hw *new_parent); unsigned int __clk_get_enable_count(struct clk *clk); --=20 2.34.1 From nobody Mon Jun 22 18:08:36 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id CD503C4332F for ; Sun, 20 Mar 2022 16:28:38 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S245545AbiCTQaA (ORCPT ); Sun, 20 Mar 2022 12:30:00 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39924 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S245469AbiCTQ3i (ORCPT ); Sun, 20 Mar 2022 12:29:38 -0400 Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com [IPv6:2a00:1450:4864:20::32a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 77EA034641; Sun, 20 Mar 2022 09:28:14 -0700 (PDT) Received: by mail-wm1-x32a.google.com with SMTP id o30-20020a05600c511e00b0038c9cfb79cbso459452wms.1; Sun, 20 Mar 2022 09:28:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=8P3wAYvgFlPve71dG0z5aPiI1G8WoaU4vYr3l4vmoOE=; b=SFtzoD64TaQzPSLPWXnXCW7cW+np83Bf6OQnuSus43XleVePiClweVC3y4JFv+jT9a bb7q9P/mkk0hjCT+w/RiFK/W4p29/Dq0+U0xLc3Qed9pU1O69bmIS4y4S8z08SmT20v7 c9uB9aEUZDlrteDwrhXJDyEbGcZ4sl0YhF4hXhK1QNOFTYiESAZzc1bgqcevu/ywnKYJ oQENVuC6L8Wo6p/++tNda2hoDQsDtOSMD+ItG3mgkLsh5qYHG46WAI4GN7kMe6ypybLv PYnZEpTWlBivOmnjsEO15ZIWXi6M6LOagKQI4iV98H8zK6qGZkd3bP9V1gEj89bQtCix TZIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=8P3wAYvgFlPve71dG0z5aPiI1G8WoaU4vYr3l4vmoOE=; b=qis2QJZJbzq/xr79XdpaJRRNfum7C1dM93majSw/tsI3YQQG74O2WdapnWfhJxUyZ/ 90z2+DfXa90za1std4AXmdFohWAy57HVbReMTiBMiQdW0jagaRqVkSfrN7ePW0mkGiad aPvITdTft99fRjXRA8JY+zxwFxDiYxrvizVNb3GVEXglngDWvudUsDCCt0VT+JqifeGt pi8hKCrtMHuI3lVb33xI2VdqObpv6EAcE8gC7ivba7DfeUG8nu8TcOGHIyTPWSpvlJQU Jkcu91AjeehQT4cUzoB+gsr6VPoophZPytSY+DUsMtzbql35HWu9Ab9stP710+uPChW+ Ntig== X-Gm-Message-State: AOAM532R+8yY0wKbJVWSnyM/W7FeDbseY+I7gY+WOA19E3ro5NaKrxkd bpToMLLaVKGOV76VM6iwjRjvppaHdeI= X-Google-Smtp-Source: ABdhPJz1GOmXaYQZUAA0skYDcx6omh1lEo3AeWkKPBF6mOQaprrVroYAY0T2KtU2owtV9IlwtGbYQg== X-Received: by 2002:a05:600c:a06:b0:37b:fdd8:4f8 with SMTP id z6-20020a05600c0a0600b0037bfdd804f8mr24304139wmp.41.1647793692871; Sun, 20 Mar 2022 09:28:12 -0700 (PDT) Received: from Ansuel-xps.localdomain (93-42-69-170.ip85.fastwebnet.it. [93.42.69.170]) by smtp.googlemail.com with ESMTPSA id y6-20020a05600015c600b00203fa70b4ebsm6760085wry.53.2022.03.20.09.28.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 20 Mar 2022 09:28:12 -0700 (PDT) From: Ansuel Smith To: Rob Herring , Andy Gross , Bjorn Andersson , Michael Turquette , Stephen Boyd , Ansuel Smith , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org Subject: [PATCH v3 02/18] clk: qcom: gcc-ipq806x: skip pxo/cxo fixed clk if already present Date: Sun, 20 Mar 2022 12:34:14 +0100 Message-Id: <20220320113430.26076-3-ansuelsmth@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220320113430.26076-1-ansuelsmth@gmail.com> References: <20220320113430.26076-1-ansuelsmth@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Skip pxo/cxo clock registration if they are already defined in DTS as fixed clock. Signed-off-by: Ansuel Smith --- drivers/clk/qcom/gcc-ipq806x.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/drivers/clk/qcom/gcc-ipq806x.c b/drivers/clk/qcom/gcc-ipq806x.c index d6b7adb4be38..27f6d7626abb 100644 --- a/drivers/clk/qcom/gcc-ipq806x.c +++ b/drivers/clk/qcom/gcc-ipq806x.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include @@ -3061,15 +3062,22 @@ static int gcc_ipq806x_probe(struct platform_device= *pdev) { struct device *dev =3D &pdev->dev; struct regmap *regmap; + struct clk *clk; int ret; =20 - ret =3D qcom_cc_register_board_clk(dev, "cxo_board", "cxo", 25000000); - if (ret) - return ret; + clk =3D clk_get(dev, "cxo"); + if (IS_ERR(clk)) { + ret =3D qcom_cc_register_board_clk(dev, "cxo_board", "cxo", 25000000); + if (ret) + return ret; + } =20 - ret =3D qcom_cc_register_board_clk(dev, "pxo_board", "pxo", 25000000); - if (ret) - return ret; + clk =3D clk_get(dev, "pxo"); + if (IS_ERR(clk)) { + ret =3D qcom_cc_register_board_clk(dev, "pxo_board", "pxo", 25000000); + if (ret) + return ret; + } =20 ret =3D qcom_cc_probe(pdev, &gcc_ipq806x_desc); if (ret) --=20 2.34.1 From nobody Mon Jun 22 18:08:36 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9F666C35294 for ; Sun, 20 Mar 2022 16:28:31 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S245535AbiCTQ3w (ORCPT ); Sun, 20 Mar 2022 12:29:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39926 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S245468AbiCTQ3i (ORCPT ); Sun, 20 Mar 2022 12:29:38 -0400 Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com [IPv6:2a00:1450:4864:20::333]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9C64F344DC; Sun, 20 Mar 2022 09:28:15 -0700 (PDT) Received: by mail-wm1-x333.google.com with SMTP id r190-20020a1c2bc7000000b0038a1013241dso7237256wmr.1; Sun, 20 Mar 2022 09:28:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=XhL5PcXPAVYZIaqVjbCyrF3IgCwpUk1BeN4L/hsgGTo=; b=lvVwhd3NFXJB1ApopmbOb4WGqxnI5aZIi/oFdTKyxa3QGvWs1vq+wc5nCJvXSoFl2a Z4PSWz7wFVt8r+ZyC+bPngeGL0ylzuB6AyokuE3XePfet6eHsNUMwicaV849FC/ONAzf gUcNNubL0r8iH21j8tPgUo1H/9XCVqS3kXCbE+kYbnG2VqpvKRfH7odqRpV1Ml6yL7dU Z2TgCYtbDbCSCQyEXE+z5E8t1RbtE7uw0c7TRnm+IK0DW++XGdJRVxCZyUtjVz4dVN6H seIdVDNlTjrgUD5Y8dmH/lZEeghG8H719NgaN27wnhNfC5HYclzxRb6PYX+TcVT0iw2O 5hgg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=XhL5PcXPAVYZIaqVjbCyrF3IgCwpUk1BeN4L/hsgGTo=; b=3bhU2mIqSHx6rNFqk25kLZspst7ERapvgvVGzRDk0tWgfwNGeKznw1I3Vmu+EUGx34 G+PTWsMDa3CeeHSurdiBTKsByGaasDaaxgIKw7ADTfAcLXRXP4c/ttZE5oFflpRkKU1V osrYo65ZTMU/jYwDxFFT7xIPHV5g5UOCkHjWcvFcWw4XhCxKgIGoHA0svPV8QxBaV90i DqjQ2u9d+Hjk7X2upgvcP0u60cE1rZobs5v3Zi5T+Rrf1CYo9A717rh1+WZuio3LITF4 zvIQMYTyo7VTC6Wd+ZCRcPqBHeEAAsYyzI0ohaGEVtwImwFcBLyQvE2jrnnHGLFOIWiS 1ufg== X-Gm-Message-State: AOAM53101NvWUXmHVpo2Q6nQFLYCBq5sMYqhSONWQSvmQ4tqFBkwG5AJ pF3SH70BfuH//+KLP36zOeL/H/mlPHo= X-Google-Smtp-Source: ABdhPJxKzWiavPeOkd3SpgHfRfE4hVaqD6LqknQUXwhrlb2Pg4Sr0Gzivp4d7/v+NX+Q9+ApYn68Ag== X-Received: by 2002:a05:600c:4e55:b0:38c:a453:d99a with SMTP id e21-20020a05600c4e5500b0038ca453d99amr1925787wmq.184.1647793694073; Sun, 20 Mar 2022 09:28:14 -0700 (PDT) Received: from Ansuel-xps.localdomain (93-42-69-170.ip85.fastwebnet.it. [93.42.69.170]) by smtp.googlemail.com with ESMTPSA id y6-20020a05600015c600b00203fa70b4ebsm6760085wry.53.2022.03.20.09.28.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 20 Mar 2022 09:28:13 -0700 (PDT) From: Ansuel Smith To: Rob Herring , Andy Gross , Bjorn Andersson , Michael Turquette , Stephen Boyd , Ansuel Smith , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org Subject: [PATCH v3 03/18] clk: qcom: gcc-ipq806x: add PXO_SRC in clk table Date: Sun, 20 Mar 2022 12:34:15 +0100 Message-Id: <20220320113430.26076-4-ansuelsmth@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220320113430.26076-1-ansuelsmth@gmail.com> References: <20220320113430.26076-1-ansuelsmth@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" PXO_SRC is currently defined in the gcc include and referenced in the ipq8064 DTSI. Correctly provide a clk after gcc probe to fix kernel panic if a driver starts to actually use it. Signed-off-by: Ansuel Smith --- drivers/clk/qcom/gcc-ipq806x.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/clk/qcom/gcc-ipq806x.c b/drivers/clk/qcom/gcc-ipq806x.c index 27f6d7626abb..7271d3afdc89 100644 --- a/drivers/clk/qcom/gcc-ipq806x.c +++ b/drivers/clk/qcom/gcc-ipq806x.c @@ -26,6 +26,8 @@ #include "clk-hfpll.h" #include "reset.h" =20 +static struct clk_regmap pxo =3D { }; + static struct clk_pll pll0 =3D { .l_reg =3D 0x30c4, .m_reg =3D 0x30c8, @@ -2754,6 +2756,7 @@ static struct clk_dyn_rcg ubi32_core2_src_clk =3D { }; =20 static struct clk_regmap *gcc_ipq806x_clks[] =3D { + [PXO_SRC] =3D NULL, [PLL0] =3D &pll0.clkr, [PLL0_VOTE] =3D &pll0_vote, [PLL3] =3D &pll3.clkr, @@ -3083,6 +3086,10 @@ static int gcc_ipq806x_probe(struct platform_device = *pdev) if (ret) return ret; =20 + clk =3D clk_get(dev, "pxo"); + pxo.hw =3D *__clk_get_hw(clk); + gcc_ipq806x_clks[PXO_SRC] =3D &pxo; + regmap =3D dev_get_regmap(dev, NULL); if (!regmap) return -ENODEV; --=20 2.34.1 From nobody Mon Jun 22 18:08:36 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id CD810C3527B for ; Sun, 20 Mar 2022 16:28:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S245560AbiCTQ3z (ORCPT ); Sun, 20 Mar 2022 12:29:55 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39992 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S245475AbiCTQ3k (ORCPT ); Sun, 20 Mar 2022 12:29:40 -0400 Received: from mail-wr1-x436.google.com (mail-wr1-x436.google.com [IPv6:2a00:1450:4864:20::436]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 05081344FD; Sun, 20 Mar 2022 09:28:17 -0700 (PDT) Received: by mail-wr1-x436.google.com with SMTP id d7so17849512wrb.7; Sun, 20 Mar 2022 09:28:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=8h0dp/sRCWnE/SzxqBhwWtp3OCJwunZ7486W2HMfBko=; b=B0atMPIder4N8TYzrHjKga4/7nhsneKYsEcoH6kos02/gg5Yn2wwVo/AA73vcSdScA 5+6kZJGk0GqaIWEuFkJeI2/yCIAH5X+FxabhJzXcedFjtZCcgSnU7nq6Qeeiod1cj85+ 26dN+n5uOgJOJNPJGDoOzxudbCnM7cpJlOt+nCMgRzsXBr689x7Llduc/k2f6i7Mqjzs U5Cs0O6e8/ewWfPwxqBFjsSxHhHoeqDm+Ug9duoj525HZZJZrI38MtdgcLip8mA5Jfgn HJcz1dNOM7zU3V/7xbvUBJ1TPTR31rDa580elBXgdYOUpe1hynwQM2v9NmPQLrCSRdUV 2ZRA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=8h0dp/sRCWnE/SzxqBhwWtp3OCJwunZ7486W2HMfBko=; b=H//iICjD7Lf55ewOUOF/c7KKA0/fHP8F1xy3wwVVw1Xx8KAYenPWKqWDFsEVdnLMC6 VhsM5ldaJrg7fX4HJWQ5hp/sFKK7IcWixDeI9nDcPaf6XqcEl+9AROM7oKQEbajJGsnu uHurP/79NMmSqDD04XjzpQb4bc5vfmzn4QZ11rNNrcWDg2JJ8Lom0R0d3fW2HgTRX2O7 Ll88PQMNuoAtANgc2Dp9doBg6xyDbcjXk1SEAq/q7le/S7bnb+lYhUnObUkRWfeHgrDo uxbSBeTs/rcVgnr6HVsgfOIxncOy67eed29ugDNh+n/jCcYv9CY8h1l/1n77e8eS8f9L V1UQ== X-Gm-Message-State: AOAM533RYuJAatKTk2rpvKo5R6fQCO/DEqQMPZ/jgfaNdHFHHmA86Z90 V2Yg5PjOfAunzQB3/nQ6WOE3dmFBeMo= X-Google-Smtp-Source: ABdhPJzVnwSL99bC9SXDX+khcfZLP0yrgqadr9Ahdtx3UDvRCpWSKetOLw+Ppv/JNS9xkqj+x1qA1g== X-Received: by 2002:adf:a4ce:0:b0:203:fce0:755e with SMTP id h14-20020adfa4ce000000b00203fce0755emr7469376wrb.510.1647793695282; Sun, 20 Mar 2022 09:28:15 -0700 (PDT) Received: from Ansuel-xps.localdomain (93-42-69-170.ip85.fastwebnet.it. [93.42.69.170]) by smtp.googlemail.com with ESMTPSA id y6-20020a05600015c600b00203fa70b4ebsm6760085wry.53.2022.03.20.09.28.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 20 Mar 2022 09:28:14 -0700 (PDT) From: Ansuel Smith To: Rob Herring , Andy Gross , Bjorn Andersson , Michael Turquette , Stephen Boyd , Ansuel Smith , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org Subject: [PATCH v3 04/18] clk: qcom: clk-hfpll: use poll_timeout macro Date: Sun, 20 Mar 2022 12:34:16 +0100 Message-Id: <20220320113430.26076-5-ansuelsmth@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220320113430.26076-1-ansuelsmth@gmail.com> References: <20220320113430.26076-1-ansuelsmth@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Use regmap_read_poll_timeout macro instead of do-while structure. Signed-off-by: Ansuel Smith --- drivers/clk/qcom/clk-hfpll.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/drivers/clk/qcom/clk-hfpll.c b/drivers/clk/qcom/clk-hfpll.c index e847d586a73a..a4e347eb4d4d 100644 --- a/drivers/clk/qcom/clk-hfpll.c +++ b/drivers/clk/qcom/clk-hfpll.c @@ -12,6 +12,8 @@ #include "clk-regmap.h" #include "clk-hfpll.h" =20 +#define HFPLL_BUSY_WAIT_TIMEOUT 100 + #define PLL_OUTCTRL BIT(0) #define PLL_BYPASSNL BIT(1) #define PLL_RESET_N BIT(2) @@ -72,13 +74,12 @@ static void __clk_hfpll_enable(struct clk_hw *hw) regmap_update_bits(regmap, hd->mode_reg, PLL_RESET_N, PLL_RESET_N); =20 /* Wait for PLL to lock. */ - if (hd->status_reg) { - do { - regmap_read(regmap, hd->status_reg, &val); - } while (!(val & BIT(hd->lock_bit))); - } else { + if (hd->status_reg) + regmap_read_poll_timeout(regmap, hd->status_reg, val, + !(val & BIT(hd->lock_bit)), USEC_PER_MSEC * 2, + HFPLL_BUSY_WAIT_TIMEOUT * USEC_PER_MSEC); + else udelay(60); - } =20 /* Enable PLL output. */ regmap_update_bits(regmap, hd->mode_reg, PLL_OUTCTRL, PLL_OUTCTRL); --=20 2.34.1 From nobody Mon Jun 22 18:08:36 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9CC81C433F5 for ; Sun, 20 Mar 2022 16:28:44 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S245558AbiCTQaG (ORCPT ); Sun, 20 Mar 2022 12:30:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40070 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S245479AbiCTQ3m (ORCPT ); Sun, 20 Mar 2022 12:29:42 -0400 Received: from mail-wr1-x430.google.com (mail-wr1-x430.google.com [IPv6:2a00:1450:4864:20::430]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3243C344DC; Sun, 20 Mar 2022 09:28:18 -0700 (PDT) Received: by mail-wr1-x430.google.com with SMTP id u16so16850496wru.4; Sun, 20 Mar 2022 09:28:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=KJy+bVD9Yq3kRrz9Gx7NWpfnxrb/beBV0JaHxbyWaTA=; b=cEoglGD+MtPj1LCuCCZuLMiLqdVULATaMu0uGt9BgJy8BBxAqnLp+KqyEDvgNd1Lq/ t2U9TbqbI1R9d+Gwm/fc1tEMl9/n+KanIP//vi/Il+HoJloMDxOxf0aJ/ffCY5zY0jVp DZz3MhFSdyuHrPj4p6XnfYpUVAjeQb7quikiu/AEZrsp2rHIJ6QIboUvdjw4lSCCdEzm c+N2PGnnfo5N6xqS6sxRDOaNR8CItuup4tKai+7el0Ty1rurZ5FEUpcNzwiYwufq62Wt F7YuNz6TH7FcqJ5oxvU2mBIzYG5P13yRhf00mtat3legkY7d7pV2pMIwwAkI+dFqlTKJ 2XZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=KJy+bVD9Yq3kRrz9Gx7NWpfnxrb/beBV0JaHxbyWaTA=; b=zYLtqLq3tpz3hERA9le0mWSPsYKfJm5wPXKFfo82ve8TzPVRJFeQ/KbacGGXIuIY5A M394n+ujwRJ0ISO9RJaXZUu1+LYP2gl8Tkyi5ub4WUDTMrKSCgybSKNCu2Iaz8XAouNJ LtSOYTeNnqiwwBfStRsP5HN3OeMV/0WZKqiE3UMiyZeohVkBNA5CLOdGT6uL6jMca04V iaerhT7NzQZueSh0tJ7jHZmnniJ8RNGBNHuZK2ldNpoertCa5VsSL4I9F9TDJ58lC04K VeekpooRk/s/NjpGhsr0OEm7UjDW41KopUBbsfAMCY7XD6ea/Pcys0cvXRl/ObIRs0ZX YwHQ== X-Gm-Message-State: AOAM5320ubd+JFGws/V7e2AERjbHH7ziO75cQZje0/ifP6Df5GZd/NPh 4iQcxK0Pn/3LY/mUS8LP5IzD1MYzLxM= X-Google-Smtp-Source: ABdhPJw2JIU7ooviqse14YqNA/qhNtEj6Knv7qKcUYq0tPlvtH8e24pjHNNqEE7r0N8gpygJxg96kA== X-Received: by 2002:a5d:584a:0:b0:203:97f6:5975 with SMTP id i10-20020a5d584a000000b0020397f65975mr15150068wrf.612.1647793696495; Sun, 20 Mar 2022 09:28:16 -0700 (PDT) Received: from Ansuel-xps.localdomain (93-42-69-170.ip85.fastwebnet.it. [93.42.69.170]) by smtp.googlemail.com with ESMTPSA id y6-20020a05600015c600b00203fa70b4ebsm6760085wry.53.2022.03.20.09.28.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 20 Mar 2022 09:28:16 -0700 (PDT) From: Ansuel Smith To: Rob Herring , Andy Gross , Bjorn Andersson , Michael Turquette , Stephen Boyd , Ansuel Smith , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org Subject: [PATCH v3 05/18] clk: qcom: kpss-xcc: convert to parent data API Date: Sun, 20 Mar 2022 12:34:17 +0100 Message-Id: <20220320113430.26076-6-ansuelsmth@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220320113430.26076-1-ansuelsmth@gmail.com> References: <20220320113430.26076-1-ansuelsmth@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Convert the driver to parent data API. From the Documentation pll8_vote and pxo should be declared in the DTS so fw_name can be used instead of parent_names. Name is still used to save regression on old definition. Signed-off-by: Ansuel Smith --- drivers/clk/qcom/kpss-xcc.c | 25 ++++++++----------------- 1 file changed, 8 insertions(+), 17 deletions(-) diff --git a/drivers/clk/qcom/kpss-xcc.c b/drivers/clk/qcom/kpss-xcc.c index 4fec1f9142b8..347f70e9f5fe 100644 --- a/drivers/clk/qcom/kpss-xcc.c +++ b/drivers/clk/qcom/kpss-xcc.c @@ -12,9 +12,9 @@ #include #include =20 -static const char *aux_parents[] =3D { - "pll8_vote", - "pxo", +static const struct clk_parent_data aux_parents[] =3D { + { .name =3D "pll8_vote", .fw_name =3D "pll8_vote" }, + { .name =3D "pxo", .fw_name =3D "pxo" }, }; =20 static unsigned int aux_parent_map[] =3D { @@ -32,8 +32,8 @@ MODULE_DEVICE_TABLE(of, kpss_xcc_match_table); static int kpss_xcc_driver_probe(struct platform_device *pdev) { const struct of_device_id *id; - struct clk *clk; void __iomem *base; + struct clk_hw *hw; const char *name; =20 id =3D of_match_device(kpss_xcc_match_table, &pdev->dev); @@ -55,24 +55,15 @@ static int kpss_xcc_driver_probe(struct platform_device= *pdev) base +=3D 0x28; } =20 - clk =3D clk_register_mux_table(&pdev->dev, name, aux_parents, - ARRAY_SIZE(aux_parents), 0, base, 0, 0x3, - 0, aux_parent_map, NULL); + hw =3D __devm_clk_hw_register_mux(&pdev->dev, NULL, name, ARRAY_SIZE(aux_= parents), + NULL, NULL, aux_parents, 0, base, 0, 0x3, + 0, aux_parent_map, NULL); =20 - platform_set_drvdata(pdev, clk); - - return PTR_ERR_OR_ZERO(clk); -} - -static int kpss_xcc_driver_remove(struct platform_device *pdev) -{ - clk_unregister_mux(platform_get_drvdata(pdev)); - return 0; + return PTR_ERR_OR_ZERO(hw); } =20 static struct platform_driver kpss_xcc_driver =3D { .probe =3D kpss_xcc_driver_probe, - .remove =3D kpss_xcc_driver_remove, .driver =3D { .name =3D "kpss-xcc", .of_match_table =3D kpss_xcc_match_table, --=20 2.34.1 From nobody Mon Jun 22 18:08:36 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9B25CC433F5 for ; Sun, 20 Mar 2022 16:28:41 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S245576AbiCTQaC (ORCPT ); Sun, 20 Mar 2022 12:30:02 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40072 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S245480AbiCTQ3m (ORCPT ); Sun, 20 Mar 2022 12:29:42 -0400 Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com [IPv6:2a00:1450:4864:20::432]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 376BA344FD; Sun, 20 Mar 2022 09:28:19 -0700 (PDT) Received: by mail-wr1-x432.google.com with SMTP id u16so16850530wru.4; Sun, 20 Mar 2022 09:28:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=fDLuIDyRCuRCH3Dc/gWWNAl91bj4g20Fwm4jwXMbE5A=; b=SjSggtGy7HEDnlnd7IWkNUi0E5N14R9aw4lHDSeYP6vaLkfUXqnYDswHK3Gj+ek+A7 mu3576fyQmbfhD7ks7apDJ/G77BxXAoHyMiS2/iI2Wmw+YeYH1H6k8vj/ML+cMwhn22r iU6Lhq4tS5YVynV+sh1CdWtiXWGSz/ynklBNOL7PliJ0EvnXuZokTjdEDfcBGjlI1XzH ha4APHmGXFrJodZ4lD/9z64I8AhDNXwN5mx29ZT9PS6Qp61DGljmsEhlUhjrs4jYlEYE FNPuclw6eADpcGO4d1klnVFLDE1c/rQ7m+7bcvKAdCWsn30oSIh8ic55iG6Po09ZOoN8 N+Wg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=fDLuIDyRCuRCH3Dc/gWWNAl91bj4g20Fwm4jwXMbE5A=; b=DpyZILraqlleTzOBSmvWs8291yCFFQmjLB4nhCxg6PIsLfJXb/TZIRP3hoSpCSNE3P vQKNyrGNn1L7IPHeiRfLo0jd5zcXhhRqtx2+an7jDaR42yC8SW59SWUWp5cgKShaC0Jm 6PqsfSikKLwI+z6ALhtYF9Nj4qmZj3RzciTMmdFSlL4eKBYMAm9TfoZ+ZxP6om6Irf2Q 5+0VwGWayb+0ax3U6AVJsCf4+rnvgc17sY6ImQsZQq/eE8RoK1EkdtLDel48kVE8DYnm KTxev1P81mE1sJtpSP3F7rEXzbe19p5nyzCpVIOD+YA4Asmc8IjTJZMiO3KkoS3exSzi SDjw== X-Gm-Message-State: AOAM530E0Veo5GBBwbe5fWw4vELoe1TzpbAlpq1TbIoe2VqY9oLiJn/r KiouqmtRHiiFMFhXx+X08iM= X-Google-Smtp-Source: ABdhPJy7vFcZe2XKWBUt0rtJ1+TXrD5KrcZwd0ZFlwZuzU9ATFYWmW1iscTu2Qyt9o7fEsXSJDwkrQ== X-Received: by 2002:adf:e2cb:0:b0:203:7564:1076 with SMTP id d11-20020adfe2cb000000b0020375641076mr15418628wrj.199.1647793697658; Sun, 20 Mar 2022 09:28:17 -0700 (PDT) Received: from Ansuel-xps.localdomain (93-42-69-170.ip85.fastwebnet.it. [93.42.69.170]) by smtp.googlemail.com with ESMTPSA id y6-20020a05600015c600b00203fa70b4ebsm6760085wry.53.2022.03.20.09.28.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 20 Mar 2022 09:28:17 -0700 (PDT) From: Ansuel Smith To: Rob Herring , Andy Gross , Bjorn Andersson , Michael Turquette , Stephen Boyd , Ansuel Smith , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org Subject: [PATCH v3 06/18] clk: qcom: clk-krait: unlock spin after mux completion Date: Sun, 20 Mar 2022 12:34:18 +0100 Message-Id: <20220320113430.26076-7-ansuelsmth@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220320113430.26076-1-ansuelsmth@gmail.com> References: <20220320113430.26076-1-ansuelsmth@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Unlock spinlock after the mux switch is completed to prevent any corner case of mux request while the switch still needs to be done. Signed-off-by: Ansuel Smith --- drivers/clk/qcom/clk-krait.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/clk/qcom/clk-krait.c b/drivers/clk/qcom/clk-krait.c index 59f1af415b58..e447fcc3806d 100644 --- a/drivers/clk/qcom/clk-krait.c +++ b/drivers/clk/qcom/clk-krait.c @@ -32,11 +32,12 @@ static void __krait_mux_set_sel(struct krait_mux_clk *m= ux, int sel) regval |=3D (sel & mux->mask) << (mux->shift + LPL_SHIFT); } krait_set_l2_indirect_reg(mux->offset, regval); - spin_unlock_irqrestore(&krait_clock_reg_lock, flags); =20 /* Wait for switch to complete. */ mb(); udelay(1); + + spin_unlock_irqrestore(&krait_clock_reg_lock, flags); } =20 static int krait_mux_set_parent(struct clk_hw *hw, u8 index) --=20 2.34.1 From nobody Mon Jun 22 18:08:36 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3FD03C4167D for ; Sun, 20 Mar 2022 16:28:47 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S245575AbiCTQaI (ORCPT ); Sun, 20 Mar 2022 12:30:08 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40190 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S245485AbiCTQ3n (ORCPT ); Sun, 20 Mar 2022 12:29:43 -0400 Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com [IPv6:2a00:1450:4864:20::42d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4DEC534641; Sun, 20 Mar 2022 09:28:20 -0700 (PDT) Received: by mail-wr1-x42d.google.com with SMTP id d7so17849601wrb.7; Sun, 20 Mar 2022 09:28:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=uKLqUE0HqMblkYxTDEoLkraH8fYkNKsZ80vlgdu8msQ=; b=iYJ6YcWR1OzNhEc8eDm1BETiXmNRH+94pt0UUNT/Ry8CxhnaVu8rLhxSVaanLbWAhm c/COTr9lXxlL1pPmfOYijokmyi1/fa3A+3kaqN7G6yT2jzZhZrjjxkjMZeT0y0VWcP9F /i4LzKY1TszdFnnaCFBvUmxk07Zm0j/R3Emfv0KBIO2wF/8JsARYoYj26Ffm2WLbpCT1 GZG48KRjifDaA+Ry5Zui+fOhJKAsIe0QSxwOWCmoB6Woaycbf5H7zbjnkRSI74VBFhcR cXryRr6JgCM6TKrDb5dyq8UPi4TKkIZdnF+j7S1rN1aT+7lP0IaJqg6IhMLXqS4xRxSH fzqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=uKLqUE0HqMblkYxTDEoLkraH8fYkNKsZ80vlgdu8msQ=; b=A5LUVz7t1Vm7leGhvflfryKETIf0E6kMn+EZD+vD3vSteOZWItYI2oRKpAjjou6D7V Tnnxw7u2/9rGnpGWnWFz1ghDJiEuz8iroD4kXLQ9gvK8AbP8+CXS06WdTDWA0FpmP8zN FPxeYrH0/6PSbPQAr3zzm41oefoWgvjwJoSbsLsOn93+cuiOvKEfe/4ghASVWipyc43N cl558zJI+kQQeeruAJOf7Jie+1Hr+uUUFqSwywgAyOvnahj2gL0pp4sBD1vfwucA408f 2R0E9U4Tod/9vGMYC4+QDfWjcnDENz5svLLHAo5HX3RIOWNq2M/jw0hJQjZ7jDEjXwgA kqxA== X-Gm-Message-State: AOAM533sCwGuYJWPXnzxfQlyrPLNzNERHAa+lDFuUCtMzThXXDkYA0wx O1xHfm791oE8iJtJOVxHNKk= X-Google-Smtp-Source: ABdhPJwEo0Ml4P5+engaF0NwKuix26puiUgZIE36D/s43jZyXKBC7gWtwdwHd0bHXX1D9M8rbE86gw== X-Received: by 2002:a5d:624c:0:b0:1f7:4b77:becb with SMTP id m12-20020a5d624c000000b001f74b77becbmr15134428wrv.594.1647793698760; Sun, 20 Mar 2022 09:28:18 -0700 (PDT) Received: from Ansuel-xps.localdomain (93-42-69-170.ip85.fastwebnet.it. [93.42.69.170]) by smtp.googlemail.com with ESMTPSA id y6-20020a05600015c600b00203fa70b4ebsm6760085wry.53.2022.03.20.09.28.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 20 Mar 2022 09:28:18 -0700 (PDT) From: Ansuel Smith To: Rob Herring , Andy Gross , Bjorn Andersson , Michael Turquette , Stephen Boyd , Ansuel Smith , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org Subject: [PATCH v3 07/18] clk: qcom: clk-krait: add hw_parent check for div2_round_rate Date: Sun, 20 Mar 2022 12:34:19 +0100 Message-Id: <20220320113430.26076-8-ansuelsmth@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220320113430.26076-1-ansuelsmth@gmail.com> References: <20220320113430.26076-1-ansuelsmth@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Check if hw_parent is present before calculating the round_rate to prevent kernel panic. On error -EINVAL is reported. Signed-off-by: Ansuel Smith --- drivers/clk/qcom/clk-krait.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/clk/qcom/clk-krait.c b/drivers/clk/qcom/clk-krait.c index e447fcc3806d..b6b7650dbf15 100644 --- a/drivers/clk/qcom/clk-krait.c +++ b/drivers/clk/qcom/clk-krait.c @@ -80,7 +80,12 @@ EXPORT_SYMBOL_GPL(krait_mux_clk_ops); static long krait_div2_round_rate(struct clk_hw *hw, unsigned long rate, unsigned long *parent_rate) { - *parent_rate =3D clk_hw_round_rate(clk_hw_get_parent(hw), rate * 2); + struct clk_hw *hw_parent =3D clk_hw_get_parent(hw); + + if (!hw_parent) + return -EINVAL; + + *parent_rate =3D clk_hw_round_rate(hw_parent, rate * 2); return DIV_ROUND_UP(*parent_rate, 2); } =20 --=20 2.34.1 From nobody Mon Jun 22 18:08:36 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id D8FE2C4332F for ; Sun, 20 Mar 2022 16:28:50 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S245582AbiCTQaL (ORCPT ); Sun, 20 Mar 2022 12:30:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40254 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S245490AbiCTQ3p (ORCPT ); Sun, 20 Mar 2022 12:29:45 -0400 Received: from mail-wr1-x42c.google.com (mail-wr1-x42c.google.com [IPv6:2a00:1450:4864:20::42c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9FECC344DC; Sun, 20 Mar 2022 09:28:21 -0700 (PDT) Received: by mail-wr1-x42c.google.com with SMTP id h23so17241625wrb.8; Sun, 20 Mar 2022 09:28:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=1tacB+H58ZcVKBVcWE3u+TMM2y65iIDEoWk8hI94hWs=; b=AoJChIRauwDPPpAs6BiYi9HrDAQ2laxo9Eb3ZRwqREkTz5ve1GJkKXg22/V/FVnu+4 yww94l2l7NSUS2FKRaFvQLvzN+T1Hedi7gkxwZE6k3saj4dDyieHQgF5Rsl4f/ZVCJes 3xXJHCSDQrF4owvkF/PPDjyQNwbRkMia3diLAKXI6OfgAiRTxiZ5KttN6+2jKNuCHTnW Iv/jomO74aw7OEPAiOqEkcx2WffHU5Uw2FwN5DKxWb6a+MWmFWO8OIZew7O0L7CNA8MA E8UXqS6pubEtsiAOTmF3mxZhsx/PncrWvuacjqxqBuCjurFKqcgtFSdKdhgZP8qg/93x 8bQw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=1tacB+H58ZcVKBVcWE3u+TMM2y65iIDEoWk8hI94hWs=; b=r7+mOkEvhCnnnh1Pb4l1BHZUcPUy0dMkXAYBSuR6/PjfMbCNEBR+D+34r36UDHpahX WU8RGbqfPh0Y2hHj6wMcNbaOoWqLtAGJLezAy1l8XtcQESAXVv9vjaGMtkIuhxIAEuXT nOcPKpBPmFHxtq84ep0q/QyXRxWcBI/Dwcpix4mxT9XH2CFRP8tbemQbklmSIqSCSiV/ QnrcftLd9DEsPqQCc+6b7jQ3mrbQKvwtZXF/RTt5uQZJ0yKuQBUZGlCWhP7Vzw2QcmJ6 cZzBFcF3pc4pecfbE6kLe6mdGxK4BJ+UGFdzcgYwqU/MuumraqIEsjFedWDMQ6fHO5Qz 8JQw== X-Gm-Message-State: AOAM5338aBeuBtnLeD9EmgaJoC93z0hLnqbhOj3xjC8KwZwsY9Ceb8Hs OKpqZAT3LNFEvx4EhtZs0RM= X-Google-Smtp-Source: ABdhPJyXnW1/YJCbKhn+tUEsw5gMm2PXKKFkecZeM9xTxn+kIAu2b2zkJ1X2aN49tKfwqoLhH6WKRw== X-Received: by 2002:a05:6000:18ae:b0:204:62a:20f4 with SMTP id b14-20020a05600018ae00b00204062a20f4mr4477530wri.640.1647793699956; Sun, 20 Mar 2022 09:28:19 -0700 (PDT) Received: from Ansuel-xps.localdomain (93-42-69-170.ip85.fastwebnet.it. [93.42.69.170]) by smtp.googlemail.com with ESMTPSA id y6-20020a05600015c600b00203fa70b4ebsm6760085wry.53.2022.03.20.09.28.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 20 Mar 2022 09:28:19 -0700 (PDT) From: Ansuel Smith To: Rob Herring , Andy Gross , Bjorn Andersson , Michael Turquette , Stephen Boyd , Ansuel Smith , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org Subject: [PATCH v3 08/18] clk: qcom: krait-cc: convert to parent_data API Date: Sun, 20 Mar 2022 12:34:20 +0100 Message-Id: <20220320113430.26076-9-ansuelsmth@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220320113430.26076-1-ansuelsmth@gmail.com> References: <20220320113430.26076-1-ansuelsmth@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Modernize the krait-cc driver to parent-data API and refactor to drop any use of clk_names. From Documentation all the required clocks should be declared in DTS so fw_name can be correctly used to get the parents for all the muxes. Name is also declared to save compatibility with old implementation. Also fix the parent order of the sec_mux that was wrong and incorrectly report the wrong safe parent if it's not hardcoded. Signed-off-by: Ansuel Smith --- drivers/clk/qcom/krait-cc.c | 126 +++++++++++++++++++----------------- 1 file changed, 66 insertions(+), 60 deletions(-) diff --git a/drivers/clk/qcom/krait-cc.c b/drivers/clk/qcom/krait-cc.c index 4d4b657d33c3..645ad9e8dd73 100644 --- a/drivers/clk/qcom/krait-cc.c +++ b/drivers/clk/qcom/krait-cc.c @@ -69,21 +69,22 @@ static int krait_notifier_register(struct device *dev, = struct clk *clk, return ret; } =20 -static int +static struct clk * krait_add_div(struct device *dev, int id, const char *s, unsigned int offs= et) { struct krait_div2_clk *div; + static struct clk_parent_data p_data[1]; struct clk_init_data init =3D { - .num_parents =3D 1, + .num_parents =3D ARRAY_SIZE(p_data), .ops =3D &krait_div2_clk_ops, .flags =3D CLK_SET_RATE_PARENT, }; - const char *p_names[1]; struct clk *clk; + char *parent_name; =20 div =3D devm_kzalloc(dev, sizeof(*div), GFP_KERNEL); if (!div) - return -ENOMEM; + return ERR_PTR(-ENOMEM); =20 div->width =3D 2; div->shift =3D 6; @@ -93,43 +94,49 @@ krait_add_div(struct device *dev, int id, const char *s= , unsigned int offset) =20 init.name =3D kasprintf(GFP_KERNEL, "hfpll%s_div", s); if (!init.name) - return -ENOMEM; + return ERR_PTR(-ENOMEM); =20 - init.parent_names =3D p_names; - p_names[0] =3D kasprintf(GFP_KERNEL, "hfpll%s", s); - if (!p_names[0]) { - kfree(init.name); - return -ENOMEM; + init.parent_data =3D p_data; + parent_name =3D kasprintf(GFP_KERNEL, "hfpll%s", s); + if (!parent_name) { + clk =3D ERR_PTR(-ENOMEM); + goto err_parent_name; } =20 + p_data[0].fw_name =3D parent_name; + p_data[0].name =3D parent_name; + clk =3D devm_clk_register(dev, &div->hw); - kfree(p_names[0]); + + kfree(parent_name); +err_parent_name: kfree(init.name); =20 - return PTR_ERR_OR_ZERO(clk); + return clk; } =20 -static int +static struct clk * krait_add_sec_mux(struct device *dev, int id, const char *s, unsigned int offset, bool unique_aux) { int ret; struct krait_mux_clk *mux; - static const char *sec_mux_list[] =3D { - "acpu_aux", - "qsb", + static struct clk_parent_data sec_mux_list[2] =3D { + { .name =3D "qsb", .fw_name =3D "qsb" }, + {}, }; struct clk_init_data init =3D { - .parent_names =3D sec_mux_list, + .parent_data =3D sec_mux_list, .num_parents =3D ARRAY_SIZE(sec_mux_list), .ops =3D &krait_mux_clk_ops, .flags =3D CLK_SET_RATE_PARENT, }; struct clk *clk; + char *parent_name; =20 mux =3D devm_kzalloc(dev, sizeof(*mux), GFP_KERNEL); if (!mux) - return -ENOMEM; + return ERR_PTR(-ENOMEM); =20 mux->offset =3D offset; mux->lpl =3D id >=3D 0; @@ -141,44 +148,51 @@ krait_add_sec_mux(struct device *dev, int id, const c= har *s, =20 init.name =3D kasprintf(GFP_KERNEL, "krait%s_sec_mux", s); if (!init.name) - return -ENOMEM; + return ERR_PTR(-ENOMEM); =20 if (unique_aux) { - sec_mux_list[0] =3D kasprintf(GFP_KERNEL, "acpu%s_aux", s); - if (!sec_mux_list[0]) { + parent_name =3D kasprintf(GFP_KERNEL, "acpu%s_aux", s); + if (!parent_name) { clk =3D ERR_PTR(-ENOMEM); goto err_aux; } + sec_mux_list[1].fw_name =3D parent_name; + sec_mux_list[1].name =3D parent_name; + } else { + sec_mux_list[1].name =3D "apu_aux"; } =20 clk =3D devm_clk_register(dev, &mux->hw); + if (IS_ERR(clk)) + goto err_clk; =20 ret =3D krait_notifier_register(dev, clk, mux); if (ret) - goto unique_aux; + clk =3D ERR_PTR(ret); =20 -unique_aux: +err_clk: if (unique_aux) - kfree(sec_mux_list[0]); + kfree(parent_name); err_aux: kfree(init.name); - return PTR_ERR_OR_ZERO(clk); + return clk; } =20 static struct clk * -krait_add_pri_mux(struct device *dev, int id, const char *s, - unsigned int offset) +krait_add_pri_mux(struct device *dev, struct clk *hfpll_div, struct clk *s= ec_mux, + int id, const char *s, unsigned int offset) { int ret; struct krait_mux_clk *mux; - const char *p_names[3]; + static struct clk_parent_data p_data[3]; struct clk_init_data init =3D { - .parent_names =3D p_names, - .num_parents =3D ARRAY_SIZE(p_names), + .parent_data =3D p_data, + .num_parents =3D ARRAY_SIZE(p_data), .ops =3D &krait_mux_clk_ops, .flags =3D CLK_SET_RATE_PARENT, }; struct clk *clk; + char *hfpll_name; =20 mux =3D devm_kzalloc(dev, sizeof(*mux), GFP_KERNEL); if (!mux) @@ -196,36 +210,29 @@ krait_add_pri_mux(struct device *dev, int id, const c= har *s, if (!init.name) return ERR_PTR(-ENOMEM); =20 - p_names[0] =3D kasprintf(GFP_KERNEL, "hfpll%s", s); - if (!p_names[0]) { + hfpll_name =3D kasprintf(GFP_KERNEL, "hfpll%s", s); + if (!hfpll_name) { clk =3D ERR_PTR(-ENOMEM); - goto err_p0; + goto err_hfpll; } =20 - p_names[1] =3D kasprintf(GFP_KERNEL, "hfpll%s_div", s); - if (!p_names[1]) { - clk =3D ERR_PTR(-ENOMEM); - goto err_p1; - } + p_data[0].fw_name =3D hfpll_name; + p_data[0].name =3D hfpll_name; =20 - p_names[2] =3D kasprintf(GFP_KERNEL, "krait%s_sec_mux", s); - if (!p_names[2]) { - clk =3D ERR_PTR(-ENOMEM); - goto err_p2; - } + p_data[1].hw =3D __clk_get_hw(hfpll_div); + p_data[2].hw =3D __clk_get_hw(sec_mux); =20 clk =3D devm_clk_register(dev, &mux->hw); + if (IS_ERR(clk)) + goto err_clk; =20 ret =3D krait_notifier_register(dev, clk, mux); if (ret) - goto err_p3; -err_p3: - kfree(p_names[2]); -err_p2: - kfree(p_names[1]); -err_p1: - kfree(p_names[0]); -err_p0: + clk =3D ERR_PTR(ret); + +err_clk: + kfree(hfpll_name); +err_hfpll: kfree(init.name); return clk; } @@ -233,11 +240,10 @@ krait_add_pri_mux(struct device *dev, int id, const c= har *s, /* id < 0 for L2, otherwise id =3D=3D physical CPU number */ static struct clk *krait_add_clks(struct device *dev, int id, bool unique_= aux) { - int ret; unsigned int offset; void *p =3D NULL; const char *s; - struct clk *clk; + struct clk *hfpll_div, *sec_mux, *clk; =20 if (id >=3D 0) { offset =3D 0x4501 + (0x1000 * id); @@ -249,19 +255,19 @@ static struct clk *krait_add_clks(struct device *dev,= int id, bool unique_aux) s =3D "_l2"; } =20 - ret =3D krait_add_div(dev, id, s, offset); - if (ret) { - clk =3D ERR_PTR(ret); + hfpll_div =3D krait_add_div(dev, id, s, offset); + if (IS_ERR(hfpll_div)) { + clk =3D hfpll_div; goto err; } =20 - ret =3D krait_add_sec_mux(dev, id, s, offset, unique_aux); - if (ret) { - clk =3D ERR_PTR(ret); + sec_mux =3D krait_add_sec_mux(dev, id, s, offset, unique_aux); + if (IS_ERR(sec_mux)) { + clk =3D sec_mux; goto err; } =20 - clk =3D krait_add_pri_mux(dev, id, s, offset); + clk =3D krait_add_pri_mux(dev, hfpll_div, sec_mux, id, s, offset); err: kfree(p); return clk; --=20 2.34.1 From nobody Mon Jun 22 18:08:37 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id D2B85C4332F for ; Sun, 20 Mar 2022 16:28:56 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S245562AbiCTQaS (ORCPT ); Sun, 20 Mar 2022 12:30:18 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40342 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S245495AbiCTQ3q (ORCPT ); Sun, 20 Mar 2022 12:29:46 -0400 Received: from mail-wm1-x32d.google.com (mail-wm1-x32d.google.com [IPv6:2a00:1450:4864:20::32d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A6DEE34656; Sun, 20 Mar 2022 09:28:22 -0700 (PDT) Received: by mail-wm1-x32d.google.com with SMTP id o30-20020a05600c511e00b0038c9cfb79cbso459518wms.1; Sun, 20 Mar 2022 09:28:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=YuacHx0JsXxYcT0I9GUMkZ9rOmfUJZlRqGllxjL2g6w=; b=eWFE4ObkZaO8EEYJkVeLQHWVjCylfQT5ul3qDz+SJnRyKID+ak07AnKQXwR29HXJpz iFKD5BOSpQJ1ifEwCzMTxLdR2GhDho0iKVT1Ty6Ct4JhTqWw0E5QMDG5Zg6dSvPJmjxN ppO0MEwBQcByrxK+d5mHL96rIlC3JfXDSaT7pOpR2R6ksxzdk6tshfoayATordUmvrEa +7UPxZlROnDeXml30WbXag37WVTRn9PHYKlxSgcqxx4mP4Z1uH/Sw8O959j4iwZACAuF qa4NOhiXFhj6/BX2BoyG2FAv9+2BAOK+hakK226Me2YehgPO8jFs1ZQdvBwVhYDIVOwT dbMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=YuacHx0JsXxYcT0I9GUMkZ9rOmfUJZlRqGllxjL2g6w=; b=zuLcTuualRcKU+bGtvuL61OdEEHmRTpjgdH00KeXGLXKv1D64DalLqjQRcFb/R2vI5 CI/AqQXdeShckh45P28jU3AWoNIvpFjPC83M4VmcRDUE0DMQPc/CSBtt3ID4LbngoUxA jwLqSxOECOIWd4nAi9gtu4RQG8pQKX4XObBfpD1J8eJmRPrZDub3JRnZ5q5ryFrt3yK4 qvttqFoNxtJ3gdBy3Yk7GbXwahWUT3TXvtMgSilztprpO1UDS1oOnAZi11XKr536f866 4zrzENKTQyyUK26xHB9RHN3Gxapb7ffLJo2kv14QOCupZTk+p1rhcT8J4Q4HnLXmyr8z 9wng== X-Gm-Message-State: AOAM532HwSWm47itO5e4XmAJ04AxnuiaiCcxTr6b2zY3GJL4DEpAUleo 4uFzgPeSwb04Y6qajvOJX4w= X-Google-Smtp-Source: ABdhPJwFNPxi31n7RiMY9yAhJ48j3uVzfhH3/crsYKX+EvU4Jbw4q2xUcH1qhFrrgmy805KX4rONsg== X-Received: by 2002:a05:600c:3556:b0:389:d214:baac with SMTP id i22-20020a05600c355600b00389d214baacmr23958541wmq.92.1647793701108; Sun, 20 Mar 2022 09:28:21 -0700 (PDT) Received: from Ansuel-xps.localdomain (93-42-69-170.ip85.fastwebnet.it. [93.42.69.170]) by smtp.googlemail.com with ESMTPSA id y6-20020a05600015c600b00203fa70b4ebsm6760085wry.53.2022.03.20.09.28.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 20 Mar 2022 09:28:20 -0700 (PDT) From: Ansuel Smith To: Rob Herring , Andy Gross , Bjorn Andersson , Michael Turquette , Stephen Boyd , Ansuel Smith , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org Subject: [PATCH v3 09/18] clk: qcom: krait-cc: drop pr_info and register qsb only if needed Date: Sun, 20 Mar 2022 12:34:21 +0100 Message-Id: <20220320113430.26076-10-ansuelsmth@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220320113430.26076-1-ansuelsmth@gmail.com> References: <20220320113430.26076-1-ansuelsmth@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Replace pr_info() with dev_info() to provide better diagnostics. Register qsb fixed clk only if it's not declared in DTS. Signed-off-by: Ansuel Smith --- drivers/clk/qcom/krait-cc.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/drivers/clk/qcom/krait-cc.c b/drivers/clk/qcom/krait-cc.c index 645ad9e8dd73..e9508e3104ea 100644 --- a/drivers/clk/qcom/krait-cc.c +++ b/drivers/clk/qcom/krait-cc.c @@ -308,7 +308,9 @@ static int krait_cc_probe(struct platform_device *pdev) return -ENODEV; =20 /* Rate is 1 because 0 causes problems for __clk_mux_determine_rate */ - clk =3D clk_register_fixed_rate(dev, "qsb", NULL, 0, 1); + if (IS_ERR(clk_get(dev, "qsb"))) + clk =3D clk_register_fixed_rate(dev, "qsb", NULL, 0, 1); + if (IS_ERR(clk)) return PTR_ERR(clk); =20 @@ -363,25 +365,25 @@ static int krait_cc_probe(struct platform_device *pde= v) cur_rate =3D clk_get_rate(l2_pri_mux_clk); aux_rate =3D 384000000; if (cur_rate =3D=3D 1) { - pr_info("L2 @ QSB rate. Forcing new rate.\n"); + dev_info(dev, "L2 @ QSB rate. Forcing new rate.\n"); cur_rate =3D aux_rate; } clk_set_rate(l2_pri_mux_clk, aux_rate); clk_set_rate(l2_pri_mux_clk, 2); clk_set_rate(l2_pri_mux_clk, cur_rate); - pr_info("L2 @ %lu KHz\n", clk_get_rate(l2_pri_mux_clk) / 1000); + dev_info(dev, "L2 @ %lu KHz\n", clk_get_rate(l2_pri_mux_clk) / 1000); for_each_possible_cpu(cpu) { clk =3D clks[cpu]; cur_rate =3D clk_get_rate(clk); if (cur_rate =3D=3D 1) { - pr_info("CPU%d @ QSB rate. Forcing new rate.\n", cpu); + dev_info(dev, "CPU%d @ QSB rate. Forcing new rate.\n", cpu); cur_rate =3D aux_rate; } =20 clk_set_rate(clk, aux_rate); clk_set_rate(clk, 2); clk_set_rate(clk, cur_rate); - pr_info("CPU%d @ %lu KHz\n", cpu, clk_get_rate(clk) / 1000); + dev_info(dev, "CPU%d @ %lu KHz\n", cpu, clk_get_rate(clk) / 1000); } =20 of_clk_add_provider(dev->of_node, krait_of_get, clks); --=20 2.34.1 From nobody Mon Jun 22 18:08:37 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2E19FC433F5 for ; Sun, 20 Mar 2022 16:29:01 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S244636AbiCTQaV (ORCPT ); Sun, 20 Mar 2022 12:30:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40342 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S245503AbiCTQ3r (ORCPT ); Sun, 20 Mar 2022 12:29:47 -0400 Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com [IPv6:2a00:1450:4864:20::32a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D29C234641; Sun, 20 Mar 2022 09:28:23 -0700 (PDT) Received: by mail-wm1-x32a.google.com with SMTP id r7so7310266wmq.2; Sun, 20 Mar 2022 09:28:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=HxwJ/rmGXQIKgHQmjTVr7v/2TGpe+xuVVbkVjt0eYLU=; b=Fw76zuB6gLSIMCVwLdXOTwyVXT9jJ2qiMHKBNtsDigG8z0+gUas5O8myeSTbQkgIi0 TqytG10ca64z6CO6GF/jb0MDjGsXIyGs+uFZJ5inlFDWUkz/GesxTrZVCKiD+13cZ8rQ w0bvfSUllN/tFLFPwmQdQOXH20cjS/ZNGOwr8cK+tpcs9ne3cYlc6JQblWZ/yzrHIn6F P8h08WqVTSPPrw5IuE4gle5A3vxEsyK+e2K4Uf4apu/aPkc4luiMaPK8SmK26Nvx0i9g P9YVWNaO0ztQDk/U4p9/JbIAMMJ6tXpGhx+xJkaDwK7lhpqJPNHBXtYOeQOtAHAv8MGh Va2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=HxwJ/rmGXQIKgHQmjTVr7v/2TGpe+xuVVbkVjt0eYLU=; b=fLxeQhucs/1Km/U5i7WfQ6Ri8yEB1+pc2PJKJAkC7JUEhLec8dNWGBBNj4+w1OB5tB 1J8ENjaArpePLk6eXoQ2uhvp4kFThNK0ixbHj7dLs6kASIdvY5gZEHndUWLOqFcmPfjz 1PXmYOlAUAr06GwAGDkCdFnhUpVaG28cLgCNTPwp5+oJHxbzUgo7KgWE++0QGoymv9Pc bWuCipcKy+KtZlCn6nGih2Ndmu1xx/C05uAcfb8spJap8rAKEC+3aB4704kwIkVwxTAD S3D4nr7nHzsNPBwDLSoCCjMglsGSv4/kfVON4oBEWRJbPQw3eZTGZVMM1vXVVUaEMdiX JBVA== X-Gm-Message-State: AOAM531R6dfWvOa4m421bXwcbGl87AcadMyFUO8nDFEdUJwugSfJAyg3 toR4NGvEaIifx+xjSVRUinTxxLYg6fE= X-Google-Smtp-Source: ABdhPJwKyCiufu6SXTgIc4tA9sWhCl9JCxr5qnw4T6gbPmSp5K13LJbFcCCRwRGZVrsm6tBsDfjh0w== X-Received: by 2002:a05:600c:3c8a:b0:389:cf43:eaf6 with SMTP id bg10-20020a05600c3c8a00b00389cf43eaf6mr15983930wmb.199.1647793702258; Sun, 20 Mar 2022 09:28:22 -0700 (PDT) Received: from Ansuel-xps.localdomain (93-42-69-170.ip85.fastwebnet.it. [93.42.69.170]) by smtp.googlemail.com with ESMTPSA id y6-20020a05600015c600b00203fa70b4ebsm6760085wry.53.2022.03.20.09.28.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 20 Mar 2022 09:28:21 -0700 (PDT) From: Ansuel Smith To: Rob Herring , Andy Gross , Bjorn Andersson , Michael Turquette , Stephen Boyd , Ansuel Smith , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org Subject: [PATCH v3 10/18] clk: qcom: krait-cc: drop hardcoded safe_sel Date: Sun, 20 Mar 2022 12:34:22 +0100 Message-Id: <20220320113430.26076-11-ansuelsmth@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220320113430.26076-1-ansuelsmth@gmail.com> References: <20220320113430.26076-1-ansuelsmth@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Drop hardcoded safe_sel definition and use helper to correctly calculate it. We assume qsb clk is always present as it should be declared in DTS per Documentation and in the absence of that, it's declared as a fixed clk. Signed-off-by: Ansuel Smith --- drivers/clk/qcom/krait-cc.c | 40 +++++++++++++++++++++++++------------ 1 file changed, 27 insertions(+), 13 deletions(-) diff --git a/drivers/clk/qcom/krait-cc.c b/drivers/clk/qcom/krait-cc.c index e9508e3104ea..5f98ee1c3681 100644 --- a/drivers/clk/qcom/krait-cc.c +++ b/drivers/clk/qcom/krait-cc.c @@ -26,6 +26,17 @@ static unsigned int pri_mux_map[] =3D { 0, }; =20 +static u8 krait_get_mux_sel(struct krait_mux_clk *mux, struct clk *safe_cl= k) +{ + struct clk_hw *safe_hw =3D __clk_get_hw(safe_clk); + + /* + * We can ignore errors from clk_hw_get_index_of_parent() + * as we create these parents in this driver. + */ + return clk_hw_get_index_of_parent(&mux->hw, safe_hw); +} + /* * Notifier function for switching the muxes to safe parent * while the hfpll is getting reprogrammed. @@ -116,8 +127,8 @@ krait_add_div(struct device *dev, int id, const char *s= , unsigned int offset) } =20 static struct clk * -krait_add_sec_mux(struct device *dev, int id, const char *s, - unsigned int offset, bool unique_aux) +krait_add_sec_mux(struct device *dev, struct clk *qsb, int id, + const char *s, unsigned int offset, bool unique_aux) { int ret; struct krait_mux_clk *mux; @@ -144,7 +155,6 @@ krait_add_sec_mux(struct device *dev, int id, const cha= r *s, mux->shift =3D 2; mux->parent_map =3D sec_mux_map; mux->hw.init =3D &init; - mux->safe_sel =3D 0; =20 init.name =3D kasprintf(GFP_KERNEL, "krait%s_sec_mux", s); if (!init.name) @@ -166,6 +176,7 @@ krait_add_sec_mux(struct device *dev, int id, const cha= r *s, if (IS_ERR(clk)) goto err_clk; =20 + mux->safe_sel =3D krait_get_mux_sel(mux, qsb); ret =3D krait_notifier_register(dev, clk, mux); if (ret) clk =3D ERR_PTR(ret); @@ -204,7 +215,6 @@ krait_add_pri_mux(struct device *dev, struct clk *hfpll= _div, struct clk *sec_mux mux->lpl =3D id >=3D 0; mux->parent_map =3D pri_mux_map; mux->hw.init =3D &init; - mux->safe_sel =3D 2; =20 init.name =3D kasprintf(GFP_KERNEL, "krait%s_pri_mux", s); if (!init.name) @@ -226,6 +236,7 @@ krait_add_pri_mux(struct device *dev, struct clk *hfpll= _div, struct clk *sec_mux if (IS_ERR(clk)) goto err_clk; =20 + mux->safe_sel =3D krait_get_mux_sel(mux, sec_mux); ret =3D krait_notifier_register(dev, clk, mux); if (ret) clk =3D ERR_PTR(ret); @@ -238,7 +249,9 @@ krait_add_pri_mux(struct device *dev, struct clk *hfpll= _div, struct clk *sec_mux } =20 /* id < 0 for L2, otherwise id =3D=3D physical CPU number */ -static struct clk *krait_add_clks(struct device *dev, int id, bool unique_= aux) +static struct clk * +krait_add_clks(struct device *dev, struct clk *qsb, int id, + bool unique_aux) { unsigned int offset; void *p =3D NULL; @@ -261,7 +274,7 @@ static struct clk *krait_add_clks(struct device *dev, i= nt id, bool unique_aux) goto err; } =20 - sec_mux =3D krait_add_sec_mux(dev, id, s, offset, unique_aux); + sec_mux =3D krait_add_sec_mux(dev, qsb, id, s, offset, unique_aux); if (IS_ERR(sec_mux)) { clk =3D sec_mux; goto err; @@ -301,18 +314,19 @@ static int krait_cc_probe(struct platform_device *pde= v) int cpu; struct clk *clk; struct clk **clks; - struct clk *l2_pri_mux_clk; + struct clk *l2_pri_mux_clk, *qsb; =20 id =3D of_match_device(krait_cc_match_table, dev); if (!id) return -ENODEV; =20 /* Rate is 1 because 0 causes problems for __clk_mux_determine_rate */ - if (IS_ERR(clk_get(dev, "qsb"))) - clk =3D clk_register_fixed_rate(dev, "qsb", NULL, 0, 1); + qsb =3D clk_get(dev, "qsb"); + if (IS_ERR(qsb)) + qsb =3D clk_register_fixed_rate(dev, "qsb", NULL, 0, 1); =20 - if (IS_ERR(clk)) - return PTR_ERR(clk); + if (IS_ERR(qsb)) + return PTR_ERR(qsb); =20 if (!id->data) { clk =3D clk_register_fixed_factor(dev, "acpu_aux", @@ -327,13 +341,13 @@ static int krait_cc_probe(struct platform_device *pde= v) return -ENOMEM; =20 for_each_possible_cpu(cpu) { - clk =3D krait_add_clks(dev, cpu, id->data); + clk =3D krait_add_clks(dev, qsb, cpu, id->data); if (IS_ERR(clk)) return PTR_ERR(clk); clks[cpu] =3D clk; } =20 - l2_pri_mux_clk =3D krait_add_clks(dev, -1, id->data); + l2_pri_mux_clk =3D krait_add_clks(dev, qsb, -1, id->data); if (IS_ERR(l2_pri_mux_clk)) return PTR_ERR(l2_pri_mux_clk); clks[4] =3D l2_pri_mux_clk; --=20 2.34.1 From nobody Mon Jun 22 18:08:37 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A774BC433EF for ; Sun, 20 Mar 2022 16:29:07 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S245627AbiCTQa1 (ORCPT ); Sun, 20 Mar 2022 12:30:27 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40358 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S245510AbiCTQ3s (ORCPT ); Sun, 20 Mar 2022 12:29:48 -0400 Received: from mail-wm1-x334.google.com (mail-wm1-x334.google.com [IPv6:2a00:1450:4864:20::334]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id F23C034B82; Sun, 20 Mar 2022 09:28:24 -0700 (PDT) Received: by mail-wm1-x334.google.com with SMTP id n35so5686727wms.5; Sun, 20 Mar 2022 09:28:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=qACBw0o2MS9FzPU5J+S+Zvtw1uM7Qy8GLYaDlXl8cVc=; b=Gu96SgxR2BRZgvbcjxwYGKy6KLs/BH8wEZ2sUn683L4g4gYCubbO9u5LI9gwBewJcn XyyQNIN54mqyxKfjzgo89gNdSdg1iFgg+RJ9Ue+ohYVTayFhWiIR3KpUKXn5rneGVvo1 hsQMbGVjug0+D2+ECIvn0x6BCcDUGYoX0GP1IICptqJ+lCDRIi+qoA3C96NfC7JhwSkH JuvoxEDGAtEer7VEDSkBvCNRvTQ271wGI4mdcHNsuB2Ut8fXSVyE9Kz+1gyW8iMTSKQ/ 0Kv0Fl32SSo4ENG7vxAad1mFV3Tm2G+qttTxY/0WiUDXEw0tSQAHE73W02GElw4xvErp axWQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=qACBw0o2MS9FzPU5J+S+Zvtw1uM7Qy8GLYaDlXl8cVc=; b=TtYZIUTtnaWcjDuIsaqJuHjuqvnX4Oas/PUj3mzwk4i/VGJXywBtxbQ1P9jsiOGY3a D1Bfz0fzd/7//R9Ar4JS+TrDOHU8PauWgrIuILogEnkQ6lAEx8u91NuWCZD80icuXyN8 dG6OnpFyBC6G3h1J8iaJcBcYbwNLqOn7jXwpPSk1JkPpZ6yNYvumZoVS6wfkQkWHV+pa zkbbnAWZQvjjFiff47veJ2H5NNgJa0Ko6Qjhe2b5C9KGhpxbqCFESL86CI3G1yeJUjvf vuc5jm6EPl1JlxvXJbtiT0ZELrswE3BnXQYRXpmdpnaZsiVzMDULmuZkLsDLvl3P4feI LYRw== X-Gm-Message-State: AOAM5308lrIEtWgkwSY5y85a//tYf1piPTwPx/IJSYzwOeFVJuj2x1HK KnAUiSioGQ3eZvJbpTvzF1xdFCg1Qhk= X-Google-Smtp-Source: ABdhPJyaVqH19TZ8oSCRunHt+DNGlKUL/2HjCU0KAma4v5MBNLdhixUegE+ejMc3iZKqgvp3elvpIw== X-Received: by 2002:a05:600c:1e0b:b0:38c:9ac5:b486 with SMTP id ay11-20020a05600c1e0b00b0038c9ac5b486mr4652704wmb.71.1647793703357; Sun, 20 Mar 2022 09:28:23 -0700 (PDT) Received: from Ansuel-xps.localdomain (93-42-69-170.ip85.fastwebnet.it. [93.42.69.170]) by smtp.googlemail.com with ESMTPSA id y6-20020a05600015c600b00203fa70b4ebsm6760085wry.53.2022.03.20.09.28.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 20 Mar 2022 09:28:22 -0700 (PDT) From: Ansuel Smith To: Rob Herring , Andy Gross , Bjorn Andersson , Michael Turquette , Stephen Boyd , Ansuel Smith , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org Subject: [PATCH v3 11/18] clk: qcom: krait-cc: force sec_mux to QSB Date: Sun, 20 Mar 2022 12:34:23 +0100 Message-Id: <20220320113430.26076-12-ansuelsmth@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220320113430.26076-1-ansuelsmth@gmail.com> References: <20220320113430.26076-1-ansuelsmth@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Now that we have converted every driver to parent_data, it was notice that the bootloader can't really leave the system in a strange state where l2 or the cpu0/1 can be sourced in a number of ways for example cpu1 sourcing out of qsb, l2 sourcing out of pxo. To correctly reset the mux and the HFPLL force the sec_mux to QSB. Signed-off-by: Ansuel Smith --- drivers/clk/qcom/krait-cc.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/drivers/clk/qcom/krait-cc.c b/drivers/clk/qcom/krait-cc.c index 5f98ee1c3681..299eb4c81d96 100644 --- a/drivers/clk/qcom/krait-cc.c +++ b/drivers/clk/qcom/krait-cc.c @@ -15,6 +15,8 @@ =20 #include "clk-krait.h" =20 +#define QSB_RATE 1 + static unsigned int sec_mux_map[] =3D { 2, 0, @@ -181,6 +183,13 @@ krait_add_sec_mux(struct device *dev, struct clk *qsb,= int id, if (ret) clk =3D ERR_PTR(ret); =20 + /* + * Force the sec_mux to be set to QSB rate. + * This is needed to correctly set the parents and + * to later reset mux and HFPLL to a known freq. + */ + clk_set_rate(clk, QSB_RATE); + err_clk: if (unique_aux) kfree(parent_name); @@ -378,7 +387,7 @@ static int krait_cc_probe(struct platform_device *pdev) */ cur_rate =3D clk_get_rate(l2_pri_mux_clk); aux_rate =3D 384000000; - if (cur_rate =3D=3D 1) { + if (cur_rate =3D=3D QSB_RATE) { dev_info(dev, "L2 @ QSB rate. Forcing new rate.\n"); cur_rate =3D aux_rate; } @@ -389,7 +398,7 @@ static int krait_cc_probe(struct platform_device *pdev) for_each_possible_cpu(cpu) { clk =3D clks[cpu]; cur_rate =3D clk_get_rate(clk); - if (cur_rate =3D=3D 1) { + if (cur_rate =3D=3D QSB_RATE) { dev_info(dev, "CPU%d @ QSB rate. Forcing new rate.\n", cpu); cur_rate =3D aux_rate; } --=20 2.34.1 From nobody Mon Jun 22 18:08:37 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id F01D7C433F5 for ; Sun, 20 Mar 2022 16:29:13 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S245623AbiCTQac (ORCPT ); Sun, 20 Mar 2022 12:30:32 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40474 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S245520AbiCTQ3t (ORCPT ); Sun, 20 Mar 2022 12:29:49 -0400 Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com [IPv6:2a00:1450:4864:20::32e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0F45C34B93; Sun, 20 Mar 2022 09:28:26 -0700 (PDT) Received: by mail-wm1-x32e.google.com with SMTP id l1-20020a05600c4f0100b00389645443d2so7232959wmq.2; Sun, 20 Mar 2022 09:28:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=/RImxULSEIcXltj7eh82B63gODFmYdSpUPrpbmj5VVA=; b=ZZiaMuUEyV4HvlJOVouI/OC79i49piYPR5WHC39tHtECxTQKhyQZb1WUWqTAQmFkLR lu1OybqNPFotogVxetuStr+IJ8tXfhfi66iqr8Qqk4w6BeBIPAreS44Ur1RP3J4fWiNe Dvc56vEk6d7FBrYOJRdDK8iho5fnTAEYYdn320CP08j+NUFoZLkIajGGAQhdgK4nYEv7 t/Qz2oAm0MfE6DdtlqtMZ+9turKuAUatDWoS+VwNUzMOx+MkqdJ15deNJNY+jXHVIVux wNo0czahyAl/Bv1zYsZAJzrbdEF46qppopzrqE8/Armke+LyHMwLSD0xW0TZ/QR2Ah6A 4YUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=/RImxULSEIcXltj7eh82B63gODFmYdSpUPrpbmj5VVA=; b=sBdaTEhd1cquVZMCDvl4BDXauKBtSTBoC/oalQ2VgOSppNiqRbEn3PVhBeUR2bqZqJ GflEYgkPsyMSxFFJuwwrC4+JYCEtE/+zBp1Vt/fdYytShFRVqdN4qCuRlnGuBFCW20aX IbInxTtrgEyyoq95V4uaMOp7/ijPBFPZEs2UAR06ICzyVovJyQee9XTPoMe37qBAxeo2 u3Lqf9hKHTd4mDxR+7dl5qJlaHCp+pfWPsGlSNDCJ4fx5Xcye6fSrRx9LVRxorEaQHxV FCStwIJEeHtUfWQwJRhQIfP8PF46Kql9SqqvyKRxTmQl5AXQNdpcQWnm3DieRdLpQgi5 VlmA== X-Gm-Message-State: AOAM5308cDCZPPKty/YYh0XgItW2YZCVPiR1VZyI1RtjszuCCrHG/DH4 QUE0wKp+0S9bTsRmmRYu8Lg= X-Google-Smtp-Source: ABdhPJzve9llFzsE3nFRzkBjHx/1boMbc3OIRcvsEC49wNYUIkDmckX5hLtbrjeowdNghouE2q36Cg== X-Received: by 2002:a05:600c:3506:b0:389:d567:e9fa with SMTP id h6-20020a05600c350600b00389d567e9famr15982077wmq.74.1647793704443; Sun, 20 Mar 2022 09:28:24 -0700 (PDT) Received: from Ansuel-xps.localdomain (93-42-69-170.ip85.fastwebnet.it. [93.42.69.170]) by smtp.googlemail.com with ESMTPSA id y6-20020a05600015c600b00203fa70b4ebsm6760085wry.53.2022.03.20.09.28.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 20 Mar 2022 09:28:24 -0700 (PDT) From: Ansuel Smith To: Rob Herring , Andy Gross , Bjorn Andersson , Michael Turquette , Stephen Boyd , Ansuel Smith , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org Subject: [PATCH v3 12/18] clk: qcom: clk-krait: add apq/ipq8064 errata workaround Date: Sun, 20 Mar 2022 12:34:24 +0100 Message-Id: <20220320113430.26076-13-ansuelsmth@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220320113430.26076-1-ansuelsmth@gmail.com> References: <20220320113430.26076-1-ansuelsmth@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Add apq/ipq8064 errata workaround where the sec_src clock gating needs to be disabled during switching. To enable this set disable_sec_src_gating in the mux struct. Signed-off-by: Ansuel Smith --- drivers/clk/qcom/clk-krait.c | 16 ++++++++++++++++ drivers/clk/qcom/clk-krait.h | 1 + drivers/clk/qcom/krait-cc.c | 1 + 3 files changed, 18 insertions(+) diff --git a/drivers/clk/qcom/clk-krait.c b/drivers/clk/qcom/clk-krait.c index b6b7650dbf15..7ba5dbc72bce 100644 --- a/drivers/clk/qcom/clk-krait.c +++ b/drivers/clk/qcom/clk-krait.c @@ -18,13 +18,23 @@ static DEFINE_SPINLOCK(krait_clock_reg_lock); =20 #define LPL_SHIFT 8 +#define SECCLKAGD BIT(4) + static void __krait_mux_set_sel(struct krait_mux_clk *mux, int sel) { unsigned long flags; u32 regval; =20 spin_lock_irqsave(&krait_clock_reg_lock, flags); + regval =3D krait_get_l2_indirect_reg(mux->offset); + + /* apq/ipq8064 Errata: disable sec_src clock gating during switch. */ + if (mux->disable_sec_src_gating) { + regval |=3D SECCLKAGD; + krait_set_l2_indirect_reg(mux->offset, regval); + } + regval &=3D ~(mux->mask << mux->shift); regval |=3D (sel & mux->mask) << mux->shift; if (mux->lpl) { @@ -33,6 +43,12 @@ static void __krait_mux_set_sel(struct krait_mux_clk *mu= x, int sel) } krait_set_l2_indirect_reg(mux->offset, regval); =20 + /* apq/ipq8064 Errata: re-enabled sec_src clock gating. */ + if (mux->disable_sec_src_gating) { + regval &=3D ~SECCLKAGD; + krait_set_l2_indirect_reg(mux->offset, regval); + } + /* Wait for switch to complete. */ mb(); udelay(1); diff --git a/drivers/clk/qcom/clk-krait.h b/drivers/clk/qcom/clk-krait.h index 9120bd2f5297..f930538c539e 100644 --- a/drivers/clk/qcom/clk-krait.h +++ b/drivers/clk/qcom/clk-krait.h @@ -15,6 +15,7 @@ struct krait_mux_clk { u8 safe_sel; u8 old_index; bool reparent; + bool disable_sec_src_gating; =20 struct clk_hw hw; struct notifier_block clk_nb; diff --git a/drivers/clk/qcom/krait-cc.c b/drivers/clk/qcom/krait-cc.c index 299eb4c81d96..cb8b267f1dc5 100644 --- a/drivers/clk/qcom/krait-cc.c +++ b/drivers/clk/qcom/krait-cc.c @@ -157,6 +157,7 @@ krait_add_sec_mux(struct device *dev, struct clk *qsb, = int id, mux->shift =3D 2; mux->parent_map =3D sec_mux_map; mux->hw.init =3D &init; + mux->disable_sec_src_gating =3D true; =20 init.name =3D kasprintf(GFP_KERNEL, "krait%s_sec_mux", s); if (!init.name) --=20 2.34.1 From nobody Mon Jun 22 18:08:37 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 07BA2C433F5 for ; Sun, 20 Mar 2022 16:29:18 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S245579AbiCTQai (ORCPT ); Sun, 20 Mar 2022 12:30:38 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40906 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S245517AbiCTQ3y (ORCPT ); Sun, 20 Mar 2022 12:29:54 -0400 Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com [IPv6:2a00:1450:4864:20::432]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 45A8935261; Sun, 20 Mar 2022 09:28:27 -0700 (PDT) Received: by mail-wr1-x432.google.com with SMTP id q8so6500159wrc.0; Sun, 20 Mar 2022 09:28:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=QkfgyebL6ZDeFyix3jLmVd6pOSFa+uhSyC95dgb9bxk=; b=fSEwj5Ha6UFb9CDLegqXD8R9svLc6ia09ioy5Uz4x/0iaa2PPVWwuWyib+xnHXQDxw X4rQhvpfSjQepD1eW5UBb6n8fFqnth1s+b4wjLVwhxoZ7iabMQzLEVoE6fT/1iq+ptWW xZXDOLbVNG/d2O38D+3OnQ1cewaYUrdJo3fvI1Cg3RW1L9iCJSn/Sc+Qt9wAQKMhuYqi kkaY0il8kVG0Xf8to0zzf+GtRwltnfXXaXNknChJnKG0uhBrO+xbe6YcXSoddBlBxUHK zL6kbiq0th4RDbFsd5aFCpAt1gFk8jWHt3Vp/Z7WUUNCtR9r9jmjSzMuShl+LSXY0F4/ tZug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=QkfgyebL6ZDeFyix3jLmVd6pOSFa+uhSyC95dgb9bxk=; b=1uxjvn8FMA5dpAiJbTibKynoA0YGIRQqmigF2b8eDgE4tCDSeP6CuBoDDh7ylzoumx ++3CebnTtetf52FVJNGs2yqJEjBEVAeyWT+DExj36flcCdxkmoNMCAqZCokMdOLop/9u bCWuj0KtInzuFhkLfoOO6T902pHR8hKWWVuuwxZkQBsz6/LUas4FZ3h/4+sT0ngFX5+g qKx2hfmRukwWQNc14tiOVt+YVZsB4r9pMwUyDj80kflodk4GIoeJ9WBMjb14CZHTJWWL NIceNVB+1T2/smTOBIWXvE0qGDakQNv5WeLg02bcKXxE68FCUsz/jOwjX3xscdpRHUgP fpXg== X-Gm-Message-State: AOAM530jdB1I0yVO0NXPJclQmJsFo4AfRnipZRYJSWUHihzcZ6JCgao1 laAH/ocoVd4eabyQI5/pSJA= X-Google-Smtp-Source: ABdhPJwZ5bTmi6XVP7H3D54Q3pixThOtRzOZ/HdyY5HsjmWAWQKGNYj6WF2pCJPgYUG2GfFXYdNTaA== X-Received: by 2002:a5d:6205:0:b0:1e4:b3fd:9ba8 with SMTP id y5-20020a5d6205000000b001e4b3fd9ba8mr14862298wru.426.1647793705557; Sun, 20 Mar 2022 09:28:25 -0700 (PDT) Received: from Ansuel-xps.localdomain (93-42-69-170.ip85.fastwebnet.it. [93.42.69.170]) by smtp.googlemail.com with ESMTPSA id y6-20020a05600015c600b00203fa70b4ebsm6760085wry.53.2022.03.20.09.28.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 20 Mar 2022 09:28:25 -0700 (PDT) From: Ansuel Smith To: Rob Herring , Andy Gross , Bjorn Andersson , Michael Turquette , Stephen Boyd , Ansuel Smith , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org Subject: [PATCH v3 13/18] clk: qcom: clk-krait: add enable disable ops Date: Sun, 20 Mar 2022 12:34:25 +0100 Message-Id: <20220320113430.26076-14-ansuelsmth@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220320113430.26076-1-ansuelsmth@gmail.com> References: <20220320113430.26076-1-ansuelsmth@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Add enable/disable ops for krait mux. On disable the mux is set to the safe selection. Signed-off-by: Ansuel Smith --- drivers/clk/qcom/clk-krait.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/drivers/clk/qcom/clk-krait.c b/drivers/clk/qcom/clk-krait.c index 7ba5dbc72bce..061af57b0ec2 100644 --- a/drivers/clk/qcom/clk-krait.c +++ b/drivers/clk/qcom/clk-krait.c @@ -85,7 +85,25 @@ static u8 krait_mux_get_parent(struct clk_hw *hw) return clk_mux_val_to_index(hw, mux->parent_map, 0, sel); } =20 +static int krait_mux_enable(struct clk_hw *hw) +{ + struct krait_mux_clk *mux =3D to_krait_mux_clk(hw); + + __krait_mux_set_sel(mux, mux->en_mask); + + return 0; +} + +static void krait_mux_disable(struct clk_hw *hw) +{ + struct krait_mux_clk *mux =3D to_krait_mux_clk(hw); + + __krait_mux_set_sel(mux, mux->safe_sel); +} + const struct clk_ops krait_mux_clk_ops =3D { + .enable =3D krait_mux_enable, + .disable =3D krait_mux_disable, .set_parent =3D krait_mux_set_parent, .get_parent =3D krait_mux_get_parent, .determine_rate =3D __clk_mux_determine_rate_closest, --=20 2.34.1 From nobody Mon Jun 22 18:08:37 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2950CC433F5 for ; Sun, 20 Mar 2022 16:29:28 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S245689AbiCTQas (ORCPT ); Sun, 20 Mar 2022 12:30:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40904 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S245557AbiCTQ3z (ORCPT ); Sun, 20 Mar 2022 12:29:55 -0400 Received: from mail-wr1-x42c.google.com (mail-wr1-x42c.google.com [IPv6:2a00:1450:4864:20::42c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 665923585B; Sun, 20 Mar 2022 09:28:28 -0700 (PDT) Received: by mail-wr1-x42c.google.com with SMTP id j10so4786862wrb.13; Sun, 20 Mar 2022 09:28:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=Uw2FgXL2MG6c1O6jLTs0CVZuitMyMBRaze5ZuwDxY6M=; b=MlcxB5b6b6VXQQFL4W/XmzxZwI1BpuQNepAMcrLZAhfmZZRhm1j1W6jChuCiwZ50Fw Mb3IVa66bZUPLCi4X7WRw/hcAflBCE2r2dKnKcAdRGfgMScfi/JYhtpD+O0JhspS4xwk yn8tusbHISLjtvBd8hF16y+TmTZ5OJ8IOT7dbh/OnLawNn4cAEQadxuHHXGIxN5DdR0C A/XW0tp7jmBMU3sBEOMjsohrazOlB37opjvsftWsShWGnHz+1g5g9ULOHRp9Zj6K1xd2 onR0GxF1ccM4Fi22Pz01YsM9sMIoBAsniaUD7CSZYQR9Yvjtq4DI29kf1e7BfDvemwsu d+Jw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Uw2FgXL2MG6c1O6jLTs0CVZuitMyMBRaze5ZuwDxY6M=; b=sZld4a6u/okxgmQX8XBs8/IB8AfTvl13d0yCJFLQ/QtcjekTjHdyDb0W6Fl5z4px2z 46ebTShbb5MiwdBOOFnZyBsTh6u6yYgcIYCvzP8h58h1vXsS0a5hu513Nha4FtjI2Y5Q OzSJSa9eWPsNbT+XQvbNNIKplog08wnd5r6jkpc4RMWoDAFbODhnSnvIjty6DVl5XmKc 6i0DRSXq9yXaj/gnNoeDQS3X51Am8nOblf6R1pdFIqtvhL88oADP+8Mn8KrBnFjMA12M Qzisqu6+uqGfvKRth4s8m//5vNiDaPHSzq0eQ2NapejWIhaZg3VM7KM59Vqsuo5FV/RO p8hw== X-Gm-Message-State: AOAM533w0RaubIp41YrIc2bD0tjBBYtj9DTg56lfxjBti6t/WS96x/xN ccNU2FL8KbFYUx+CqCN9wrk= X-Google-Smtp-Source: ABdhPJxuN/CtqeHIEo6ox/UTDdleHxTwkFNSSbvHF/17UR/qoDBoag9oEwXwNDgCcK4K+MmQ2aMlTA== X-Received: by 2002:a05:6000:1ace:b0:203:d465:1a83 with SMTP id i14-20020a0560001ace00b00203d4651a83mr15195713wry.26.1647793706671; Sun, 20 Mar 2022 09:28:26 -0700 (PDT) Received: from Ansuel-xps.localdomain (93-42-69-170.ip85.fastwebnet.it. [93.42.69.170]) by smtp.googlemail.com with ESMTPSA id y6-20020a05600015c600b00203fa70b4ebsm6760085wry.53.2022.03.20.09.28.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 20 Mar 2022 09:28:26 -0700 (PDT) From: Ansuel Smith To: Rob Herring , Andy Gross , Bjorn Andersson , Michael Turquette , Stephen Boyd , Ansuel Smith , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org Subject: [PATCH v3 14/18] dt-bindings: clock: Convert qcom,krait-cc to yaml Date: Sun, 20 Mar 2022 12:34:26 +0100 Message-Id: <20220320113430.26076-15-ansuelsmth@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220320113430.26076-1-ansuelsmth@gmail.com> References: <20220320113430.26076-1-ansuelsmth@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Convert qcom,krait-cc to yaml Documentation. Signed-off-by: Ansuel Smith --- .../bindings/clock/qcom,krait-cc.txt | 34 ----------- .../bindings/clock/qcom,krait-cc.yaml | 59 +++++++++++++++++++ 2 files changed, 59 insertions(+), 34 deletions(-) delete mode 100644 Documentation/devicetree/bindings/clock/qcom,krait-cc.t= xt create mode 100644 Documentation/devicetree/bindings/clock/qcom,krait-cc.y= aml diff --git a/Documentation/devicetree/bindings/clock/qcom,krait-cc.txt b/Do= cumentation/devicetree/bindings/clock/qcom,krait-cc.txt deleted file mode 100644 index 030ba60dab08..000000000000 --- a/Documentation/devicetree/bindings/clock/qcom,krait-cc.txt +++ /dev/null @@ -1,34 +0,0 @@ -Krait Clock Controller - -PROPERTIES - -- compatible: - Usage: required - Value type: - Definition: must be one of: - "qcom,krait-cc-v1" - "qcom,krait-cc-v2" - -- #clock-cells: - Usage: required - Value type: - Definition: must be 1 - -- clocks: - Usage: required - Value type: - Definition: reference to the clock parents of hfpll, secondary muxes. - -- clock-names: - Usage: required - Value type: - Definition: must be "hfpll0", "hfpll1", "acpu0_aux", "acpu1_aux", "qsb". - -Example: - - kraitcc: clock-controller { - compatible =3D "qcom,krait-cc-v1"; - clocks =3D <&hfpll0>, <&hfpll1>, <&acpu0_aux>, <&acpu1_aux>, ; - clock-names =3D "hfpll0", "hfpll1", "acpu0_aux", "acpu1_aux", "qsb"; - #clock-cells =3D <1>; - }; diff --git a/Documentation/devicetree/bindings/clock/qcom,krait-cc.yaml b/D= ocumentation/devicetree/bindings/clock/qcom,krait-cc.yaml new file mode 100644 index 000000000000..3223fce915bb --- /dev/null +++ b/Documentation/devicetree/bindings/clock/qcom,krait-cc.yaml @@ -0,0 +1,59 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/clock/qcom,krait-cc.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm Krait Clock Controller + +maintainers: + - Ansuel Smith + +description: | + Qualcomm Krait Clock Controller used to correctly scale the CPU and the = L2 + rates. + +properties: + compatible: + enum: + - qcom,krait-cc-v1 + - qcom,krait-cc-v2 + + clocks: + items: + - description: phandle to hfpll for CPU0 mux + - description: phandle to hfpll for CPU1 mux + - description: phandle to CPU0 aux clock + - description: phandle to CPU1 aux clock + - description: phandle to QSB fixed clk + + clock-names: + items: + - const: hfpll0 + - const: hfpll1 + - const: acpu0_aux + - const: acpu1_aux + - const: qsb + + '#clock-cells': + const: 1 + +required: + - compatible + - clocks + - clock-names + - '#clock-cells' + +additionalProperties: false + +examples: + - | + clock-controller { + compatible =3D "qcom,krait-cc-v1"; + clocks =3D <&hfpll0>, <&hfpll1>, <&hfpll_l2>, + <&acpu0_aux>, <&acpu1_aux>, <&acpu_l2_aux>, <&qsb>; + clock-names =3D "hfpll0", "hfpll1", + "acpu0_aux", "acpu1_aux", "qsb"; + #clock-cells =3D <1>; + }; +... --=20 2.34.1 From nobody Mon Jun 22 18:08:37 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 01E62C433F5 for ; Sun, 20 Mar 2022 16:29:33 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S245675AbiCTQay (ORCPT ); Sun, 20 Mar 2022 12:30:54 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40968 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S245565AbiCTQ3z (ORCPT ); Sun, 20 Mar 2022 12:29:55 -0400 Received: from mail-wr1-x431.google.com (mail-wr1-x431.google.com [IPv6:2a00:1450:4864:20::431]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5D6FC35878; Sun, 20 Mar 2022 09:28:29 -0700 (PDT) Received: by mail-wr1-x431.google.com with SMTP id b19so17834267wrh.11; Sun, 20 Mar 2022 09:28:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=qRtsVAPxX/wF3ggS905Ro7HdL9aEX5lsc5TyiG/7c78=; b=JqaVsAmhfX0Fve5yXMBmHnyBHEMhsgne53GGQD6lBVVdb8U/oaZn7RFwZPUXnC0tY5 WitNW173nYZno9TIcMGPTZ89FIj6cojanyG149wwIdXk/70Im2PnKl2uWJLm6ejL+Og+ lAtyvcSivxznZ9fEyDoV/XvmMmmtljrUJJcpUFnF6rOvGjXKe38CFxQunDzoCVYkEPmE puy6+3QuuCx+asqln5k5ZMILqXMXMMtY/L/Fr3gUgsAcRo/5VcIaNRtcZ2Bz4HC95KHR NoUxCin9/9ArTbXfFYItzoJqC2IXSxNLdeBVXqSHO7rkw9AUrcBUVTvPxxwr3mC/JpY4 euqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=qRtsVAPxX/wF3ggS905Ro7HdL9aEX5lsc5TyiG/7c78=; b=jeb6dfjJfqRgROfDm+pILUCavD0WrurWYbjd2teN/woNwSleqvDdfSSCx7N/xa4qrY RZSpyO49j+S3Ik61K87juo6fTYOrhi6atlpDqiCJ/U5fQ2XxhbusAyOzx3yhg4bW6sNL 2399r98dVhkDkYxKrt1O0qWmPTup9DWfZ/9Cl/NNF1z78QKOfa+YcybYZUZsEVAZXM48 y5UVIgQuRxh+rX1VC2tiXSwrNiBJ8NGNU2TQow4YHD4Gc5HCsBw6Uwc2czAqQUzR1n9k uffTMnxMz1dYfIgAIKq4TyNJ5o9AhzyEzrBfAC6xen4KI3FTTk35UZgsEpH2Xs3k54/r 6lQA== X-Gm-Message-State: AOAM532JLahdhlbEqw/w6Oj6G4r6QjGFD7PZZZRrgmrwJpDPNLG3+cw8 pMln/BdrYBsuOXqWzJzyhV0= X-Google-Smtp-Source: ABdhPJyswx/N6Mf45Tx+CCDovof4k2lv/7Eksi2cebeXeKLVMuGKQ9ow3fbMEOvwR3RYz32KZsWolA== X-Received: by 2002:a05:6000:50b:b0:203:da9e:596e with SMTP id a11-20020a056000050b00b00203da9e596emr15387642wrf.382.1647793707752; Sun, 20 Mar 2022 09:28:27 -0700 (PDT) Received: from Ansuel-xps.localdomain (93-42-69-170.ip85.fastwebnet.it. [93.42.69.170]) by smtp.googlemail.com with ESMTPSA id y6-20020a05600015c600b00203fa70b4ebsm6760085wry.53.2022.03.20.09.28.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 20 Mar 2022 09:28:27 -0700 (PDT) From: Ansuel Smith To: Rob Herring , Andy Gross , Bjorn Andersson , Michael Turquette , Stephen Boyd , Ansuel Smith , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org Subject: [PATCH v3 15/18] dt-bindings: clock: Add L2 clocks to qcom,krait-cc Documentation Date: Sun, 20 Mar 2022 12:34:27 +0100 Message-Id: <20220320113430.26076-16-ansuelsmth@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220320113430.26076-1-ansuelsmth@gmail.com> References: <20220320113430.26076-1-ansuelsmth@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Krait-cc qcom driver provide also L2 clocks and require the acpu_l2_aux and the hfpll_l2 clock to be provided. Add these missing clocks to the Documentation. Signed-off-by: Ansuel Smith --- .../devicetree/bindings/clock/qcom,krait-cc.yaml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/clock/qcom,krait-cc.yaml b/D= ocumentation/devicetree/bindings/clock/qcom,krait-cc.yaml index 3223fce915bb..f89b70ab01ae 100644 --- a/Documentation/devicetree/bindings/clock/qcom,krait-cc.yaml +++ b/Documentation/devicetree/bindings/clock/qcom,krait-cc.yaml @@ -23,16 +23,20 @@ properties: items: - description: phandle to hfpll for CPU0 mux - description: phandle to hfpll for CPU1 mux + - description: phandle to hfpll for L2 mux - description: phandle to CPU0 aux clock - description: phandle to CPU1 aux clock + - description: phandle to L2 aux clock - description: phandle to QSB fixed clk =20 clock-names: items: - const: hfpll0 - const: hfpll1 + - const: hfpll_l2 - const: acpu0_aux - const: acpu1_aux + - const: acpu_l2_aux - const: qsb =20 '#clock-cells': @@ -52,8 +56,8 @@ examples: compatible =3D "qcom,krait-cc-v1"; clocks =3D <&hfpll0>, <&hfpll1>, <&hfpll_l2>, <&acpu0_aux>, <&acpu1_aux>, <&acpu_l2_aux>, <&qsb>; - clock-names =3D "hfpll0", "hfpll1", - "acpu0_aux", "acpu1_aux", "qsb"; + clock-names =3D "hfpll0", "hfpll1", "hfpll_l2", + "acpu0_aux", "acpu1_aux", "acpu_l2_aux", "qsb"; #clock-cells =3D <1>; }; ... --=20 2.34.1 From nobody Mon Jun 22 18:08:37 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7B696C433EF for ; Sun, 20 Mar 2022 16:29:36 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S245613AbiCTQa5 (ORCPT ); Sun, 20 Mar 2022 12:30:57 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40906 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S245572AbiCTQ34 (ORCPT ); Sun, 20 Mar 2022 12:29:56 -0400 Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com [IPv6:2a00:1450:4864:20::432]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6C75035DD9; Sun, 20 Mar 2022 09:28:30 -0700 (PDT) Received: by mail-wr1-x432.google.com with SMTP id j10so4786937wrb.13; Sun, 20 Mar 2022 09:28:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=KF5KajzdUjlsueHw3PGEQrW6QOzbz3BzoTgHX03BJeo=; b=Y7BNVTk9cezmPcQXjAAq4bwk2ilXOMmt9Z496mY93lqThWnVj6vnnRNj+OtZGZVivV 4IQnYi4l2k/trw38zXP/hlrF4rDf8mevN09wTfk6yxoIRb9aRyFhhdLVjhtmTpqnPZLk jwgLXx5oQXTL4WLVHA8G32CONxqA2uZmxWavRCs86VzGGI/JZ0goffQxJlZyun8pAYE7 XOFfF4BMwru6cmQuHOM/g01NAQjTzpqA3LRCRqVZintsuidcbVet3Wa+MeWJy7bSluto WZck3Vkgt3oWeUaAX5IYvKEUqhINB6jrNuSwHRxitOxOasMZnoYXrBz2TbMiUoOuXWBo SXFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=KF5KajzdUjlsueHw3PGEQrW6QOzbz3BzoTgHX03BJeo=; b=j+4y7ak+3mAQlDB2p6TnBzzt3tCyKePymP2VxvD2UIuNvkQuzAnBX8Qz+fc58vIee0 tA1HBMNJo/GZGhuurEa27NiR9VdPDcf8vEzfb1y5durOemy5VrilWPKHGQ9nh8i12DSa VgiZkADaBrb4HNJGIcMFbeTLzYUvfyjz9hwwzcg/uyemeIOJe2Qd6z7NgZQUI1mGI3R3 OTxMHFc4gLVXbmZxnrJ2rEESVjpNZF/I9WhxTiRASBaoU5xtrYS+yZP+dEeaOZ3oIGTc v1fSgaLS0Vi/Zf1simzAKl5iUmKyeL2DlFQJzxaP+efcCl8exCBLlG5fAJtG/wIaXdIS rx9w== X-Gm-Message-State: AOAM532ydYiDletNIYugm9UGbBzQiUhqsVeuwVPLLaOi2/6bfLJXVMlb W0o6SrE8Gt6W+6D7gYO+7F0= X-Google-Smtp-Source: ABdhPJxJAudWDgGVXloA9ASuQeNZSLaofQoYZDfhUlmOiZZYr4SgIdHrP6qALbzZcMc9DOhe5FKZ7g== X-Received: by 2002:adf:ab09:0:b0:203:f9ce:cc1d with SMTP id q9-20020adfab09000000b00203f9cecc1dmr8590497wrc.269.1647793708830; Sun, 20 Mar 2022 09:28:28 -0700 (PDT) Received: from Ansuel-xps.localdomain (93-42-69-170.ip85.fastwebnet.it. [93.42.69.170]) by smtp.googlemail.com with ESMTPSA id y6-20020a05600015c600b00203fa70b4ebsm6760085wry.53.2022.03.20.09.28.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 20 Mar 2022 09:28:28 -0700 (PDT) From: Ansuel Smith To: Rob Herring , Andy Gross , Bjorn Andersson , Michael Turquette , Stephen Boyd , Ansuel Smith , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org Subject: [PATCH v3 16/18] ARM: dts: qcom: qcom-ipq8064: add missing krait-cc compatible and clocks Date: Sun, 20 Mar 2022 12:34:28 +0100 Message-Id: <20220320113430.26076-17-ansuelsmth@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220320113430.26076-1-ansuelsmth@gmail.com> References: <20220320113430.26076-1-ansuelsmth@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Add missing krait-cc clock-controller and define missing aux clock for CPUs. Also change phandle for l2cc node to point to pxo_board instead of gcc PXO_SRC. Signed-off-by: Ansuel Smith --- arch/arm/boot/dts/qcom-ipq8064.dtsi | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/arch/arm/boot/dts/qcom-ipq8064.dtsi b/arch/arm/boot/dts/qcom-i= pq8064.dtsi index 996f4458d9fc..888f17d64283 100644 --- a/arch/arm/boot/dts/qcom-ipq8064.dtsi +++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi @@ -468,11 +468,19 @@ IRQ_TYPE_EDGE_RISING)>, acc0: clock-controller@2088000 { compatible =3D "qcom,kpss-acc-v1"; reg =3D <0x02088000 0x1000>, <0x02008000 0x1000>; + clock-output-names =3D "acpu0_aux"; + clocks =3D <&gcc PLL8_VOTE>, <&pxo_board>; + clock-names =3D "pll8_vote", "pxo"; + #clock-cells =3D <0>; }; =20 acc1: clock-controller@2098000 { compatible =3D "qcom,kpss-acc-v1"; reg =3D <0x02098000 0x1000>, <0x02008000 0x1000>; + clock-output-names =3D "acpu1_aux"; + clocks =3D <&gcc PLL8_VOTE>, <&pxo_board>; + clock-names =3D "pll8_vote", "pxo"; + #clock-cells =3D <0>; }; =20 adm_dma: dma-controller@18300000 { @@ -782,11 +790,21 @@ tcsr: syscon@1a400000 { l2cc: clock-controller@2011000 { compatible =3D "qcom,kpss-gcc", "syscon"; reg =3D <0x2011000 0x1000>; - clocks =3D <&gcc PLL8_VOTE>, <&gcc PXO_SRC>; + clocks =3D <&gcc PLL8_VOTE>, <&pxo_board>; clock-names =3D "pll8_vote", "pxo"; clock-output-names =3D "acpu_l2_aux"; }; =20 + kraitcc: clock-controller { + compatible =3D "qcom,krait-cc-v1"; + clocks =3D <&gcc PLL9>, <&gcc PLL10>, <&gcc PLL12>, + <&acc0>, <&acc1>, <&l2cc>, <&qsb>; + clock-names =3D "hfpll0", "hfpll1", "hfpll_l2", + "acpu0_aux", "acpu1_aux", "acpu_l2_aux", + "qsb"; + #clock-cells =3D <1>; + }; + lcc: clock-controller@28000000 { compatible =3D "qcom,lcc-ipq8064"; reg =3D <0x28000000 0x1000>; --=20 2.34.1 From nobody Mon Jun 22 18:08:37 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 30B03C433EF for ; Sun, 20 Mar 2022 16:29:43 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S245641AbiCTQbE (ORCPT ); Sun, 20 Mar 2022 12:31:04 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41850 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S245577AbiCTQaC (ORCPT ); Sun, 20 Mar 2022 12:30:02 -0400 Received: from mail-wr1-x435.google.com (mail-wr1-x435.google.com [IPv6:2a00:1450:4864:20::435]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8A0CB34B93; Sun, 20 Mar 2022 09:28:31 -0700 (PDT) Received: by mail-wr1-x435.google.com with SMTP id j10so4786968wrb.13; Sun, 20 Mar 2022 09:28:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=bWYd0ZpRAfAuB31BLlnofWY+miD3D1gba77XW/wHzGs=; b=XnmzBxuV5/vK3HlluSJZzpHv1c2GPio9UzINtI1YnHEFLZkG3A3ymyu5TC0BcmR8IW C0JnFcydq3sTQ7b3HOotTL3HAi+28lgh2tYA9JZB5Ct1LmBr07PCkN3zyHvbyrHzmY+C jrrPWbynH78NzqLL4wJFNzXwr7GWYz2Wus/kRoLwv54K0ilClrPxU6obYx+3LKIJ4jLZ n+Y4m5EjUHD3KWmWWeHZBpKDCQgs9PHGEx0CYHxugCK3Eps8sOuTOW2y2Zsnb6JUG6Gg I6hx1OPOspfy1qUAlXHwbEetQuw0+niirSkXsde+QPU4zkEO0CBOe3KCPjZdM35V/3Wm 1C4Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=bWYd0ZpRAfAuB31BLlnofWY+miD3D1gba77XW/wHzGs=; b=wKfBwEm8Nnyn9J8ZxZSv/Uhuk2O4tO35XUvoHRMPxDj1MLx2K5yG0HTMaPyLHfWNhf LzXtYaK79oo+2e/fvGxEDGenqZThzSWlAEwWyzNIOxaOkA6T7WOZ8QYGFRDjZo4zCJvy F2qSjO4TS8pIFGh3Aq+kR73b8xcKAbLB2FUjFNlK+i56nL1qyptxSTn7cS4+M/+xQ1IA v41HCa/aQPyUZu0CXFzfBL3v1afX5yE9zO6jX2E6QgIUYvupU4sRwUFqypUJGf7O49IP bPwEATCnQKo7+IyQ8IvqfGfzv7GcS981fAndp7AUE3n16Z2XRC8AuST2EsrWmgm6578/ vNMQ== X-Gm-Message-State: AOAM5303NmNrmYPFRMXHXX87T2+euzNnU1R+OBzBijg/G/az7jvWy0Gt LmH2wXNEI5Lf01fYTuI+mqU= X-Google-Smtp-Source: ABdhPJyCo4b07tPqAd2n2Tfj5cGhlXIbHbPs7A/prP7cmRtwP+qoM0Htxh3UWDO6EKTmZkeKUXFuig== X-Received: by 2002:a5d:6442:0:b0:203:dff2:866c with SMTP id d2-20020a5d6442000000b00203dff2866cmr14974513wrw.465.1647793709832; Sun, 20 Mar 2022 09:28:29 -0700 (PDT) Received: from Ansuel-xps.localdomain (93-42-69-170.ip85.fastwebnet.it. [93.42.69.170]) by smtp.googlemail.com with ESMTPSA id y6-20020a05600015c600b00203fa70b4ebsm6760085wry.53.2022.03.20.09.28.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 20 Mar 2022 09:28:29 -0700 (PDT) From: Ansuel Smith To: Rob Herring , Andy Gross , Bjorn Andersson , Michael Turquette , Stephen Boyd , Ansuel Smith , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org Subject: [PATCH v3 17/18] dt-bindings: arm: msm: Convert kpss-acc driver Documentation to yaml Date: Sun, 20 Mar 2022 12:34:29 +0100 Message-Id: <20220320113430.26076-18-ansuelsmth@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220320113430.26076-1-ansuelsmth@gmail.com> References: <20220320113430.26076-1-ansuelsmth@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Convert kpss-acc driver Documentation to yaml. The original Documentation was wrong all along. Fix it while we are converting it. The example was wrong as kpss-acc-v2 should only expose the regs but we don't have any driver that expose additional clocks. The kpss-acc driver is only specific to v1. For this exact reason, limit all the additional bindings to v1. Signed-off-by: Ansuel Smith --- .../bindings/arm/msm/qcom,kpss-acc.txt | 49 ----------- .../bindings/arm/msm/qcom,kpss-acc.yaml | 88 +++++++++++++++++++ 2 files changed, 88 insertions(+), 49 deletions(-) delete mode 100644 Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc= .txt create mode 100644 Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc= .yaml diff --git a/Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.txt b/= Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.txt deleted file mode 100644 index 7f696362a4a1..000000000000 --- a/Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.txt +++ /dev/null @@ -1,49 +0,0 @@ -Krait Processor Sub-system (KPSS) Application Clock Controller (ACC) - -The KPSS ACC provides clock, power domain, and reset control to a Krait CP= U. -There is one ACC register region per CPU within the KPSS remapped region as -well as an alias register region that remaps accesses to the ACC associated -with the CPU accessing the region. - -PROPERTIES - -- compatible: - Usage: required - Value type: - Definition: should be one of: - "qcom,kpss-acc-v1" - "qcom,kpss-acc-v2" - -- reg: - Usage: required - Value type: - Definition: the first element specifies the base address and size of - the register region. An optional second element specifies - the base address and size of the alias register region. - -- clocks: - Usage: required - Value type: - Definition: reference to the pll parents. - -- clock-names: - Usage: required - Value type: - Definition: must be "pll8_vote", "pxo". - -- clock-output-names: - Usage: optional - Value type: - Definition: Name of the output clock. Typically acpuX_aux where X is a - CPU number starting at 0. - -Example: - - clock-controller@2088000 { - compatible =3D "qcom,kpss-acc-v2"; - reg =3D <0x02088000 0x1000>, - <0x02008000 0x1000>; - clocks =3D <&gcc PLL8_VOTE>, <&gcc PXO_SRC>; - clock-names =3D "pll8_vote", "pxo"; - clock-output-names =3D "acpu0_aux"; - }; diff --git a/Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.yaml b= /Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.yaml new file mode 100644 index 000000000000..5a3233b1654a --- /dev/null +++ b/Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.yaml @@ -0,0 +1,88 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/arm/msm/qcom,kpss-acc.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Krait Processor Sub-system (KPSS) Application Clock Controller (ACC) + +maintainers: + - Ansuel Smith + +description: | + The KPSS ACC provides clock, power domain, and reset control to a Krait = CPU. + There is one ACC register region per CPU within the KPSS remapped region= as + well as an alias register region that remaps accesses to the ACC associa= ted + with the CPU accessing the region. + +properties: + compatible: + enum: + - qcom,kpss-acc-v1 + - qcom,kpss-acc-v2 + + reg: + items: + - description: Base address and size of the register region + - description: Optional base address and size of the alias register = region + + clocks: + items: + - description: phandle to pll8_vote + - description: phandle to pxo_board + + clock-names: + items: + - const: pll8_vote + - const: pxo + + clock-output-names: + description: Name of the aux clock. Krait can have at most 4 cpu. + enum: + - acpu0_aux + - acpu1_aux + - acpu2_aux + - acpu3_aux + + '#clock-cells': + const: 0 + +required: + - compatible + - reg + +allOf: + - if: + properties: + compatible: + contains: + const: qcom,kpss-acc-v1 + then: + required: + - clocks + - clock-names + - clock-output-names + - '#clock-cells' + +additionalProperties: false + +examples: + - | + #include + + clock-controller@2088000 { + compatible =3D "qcom,kpss-acc-v1"; + reg =3D <0x02088000 0x1000>, <0x02008000 0x1000>; + clocks =3D <&gcc PLL8_VOTE>, <&pxo_board>; + clock-names =3D "pll8_vote", "pxo"; + clock-output-names =3D "acpu0_aux"; + #clock-cells =3D <0>; + }; + + - | + clock-controller@f9088000 { + compatible =3D "qcom,kpss-acc-v2"; + reg =3D <0xf9088000 0x1000>, + <0xf9008000 0x1000>; + }; +... --=20 2.34.1 From nobody Mon Jun 22 18:08:37 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id CADA0C433F5 for ; Sun, 20 Mar 2022 16:29:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S245652AbiCTQbH (ORCPT ); Sun, 20 Mar 2022 12:31:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41952 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S245585AbiCTQaD (ORCPT ); Sun, 20 Mar 2022 12:30:03 -0400 Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com [IPv6:2a00:1450:4864:20::32b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A4B0134656; Sun, 20 Mar 2022 09:28:32 -0700 (PDT) Received: by mail-wm1-x32b.google.com with SMTP id bg31-20020a05600c3c9f00b00381590dbb33so7222886wmb.3; Sun, 20 Mar 2022 09:28:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=bUbi/jkzYIKSOu8T7OV/skgoIWQk4BHawXnXdm1xB5I=; b=QBfsjPV1XhoP5TR9nsbodr4/tWA62M6TCQ+D/v4Rrlnr0Opm3EEHHihqX0tPW+Jfqm OQs6vgTDFJcfW0rEm9mDlhIkg1MMLfwW9WjuwoUSLi4pGhYBdaWXOzMTAsoZ+aTKg3zZ kpQKsf01ab1ZKflLaRWZEgC8sAPL4V4YHziilfXjgo/wkzqUqGy1QJHvMMMwrRXJ6vj5 MbWwBLmaqX5PLtdjzafeVHC07m2GBxQ/Ahl+1v7rOzufYaGxk7EArv+r/XsoDtKEoEIh x2GnJ6zvHJuqXIXWNt135+62fZT/11VboelJWlqmPt6ndE6HD02HnsWX/wq3GAdu85Gn JFGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=bUbi/jkzYIKSOu8T7OV/skgoIWQk4BHawXnXdm1xB5I=; b=ZZXxs/nCM8pCByfwOc+Dp2a18PLc1yZZVq1kKrWkg+mboiCwjTYPrnGOhEeW1ikdEx bm6qItVZ/QCa6XNuo3RqGjqKR/azKIInXhX2KXQ948FAnUnuTLnhbiTsEmCBk+SD8A7g FNf0BRQ/rIsH0LK9pU1msQMmBHWpKBjOEFVx3/xGY4BhHThVoOM7Mv4bjpn9T8zFN0Qb LABDvJ1YMGEqZ1IJrFISSUtjja9onL80WPUVJYjFtICxOGVrFAKriJgPHk05bn34MVZe 76X8S2te7tTwI1EcLToR1t/yzIIr/viiPecT49SaNytTaiOqQGwJ2vDYsywYk5ZNA2ge RvrA== X-Gm-Message-State: AOAM531oXSJqeZd6p4WHe+mK+GMh+sbaxGle7NQOwbIz5StWhKLEpS4P m3u+04FWVARnxVVRS2P85mo= X-Google-Smtp-Source: ABdhPJxQEeFWTDjt9U0eUu1Y+jsiC77yc6QUch/tNSKtkN/tpZTxvIGkyhsnawpJHsgdcwmo9KYENA== X-Received: by 2002:a05:600c:4142:b0:38c:9dc6:c87a with SMTP id h2-20020a05600c414200b0038c9dc6c87amr3628753wmm.114.1647793710898; Sun, 20 Mar 2022 09:28:30 -0700 (PDT) Received: from Ansuel-xps.localdomain (93-42-69-170.ip85.fastwebnet.it. [93.42.69.170]) by smtp.googlemail.com with ESMTPSA id y6-20020a05600015c600b00203fa70b4ebsm6760085wry.53.2022.03.20.09.28.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 20 Mar 2022 09:28:30 -0700 (PDT) From: Ansuel Smith To: Rob Herring , Andy Gross , Bjorn Andersson , Michael Turquette , Stephen Boyd , Ansuel Smith , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org Subject: [PATCH v3 18/18] dt-bindings: arm: msm: Convert kpss-gcc driver Documentation to yaml Date: Sun, 20 Mar 2022 12:34:30 +0100 Message-Id: <20220320113430.26076-19-ansuelsmth@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220320113430.26076-1-ansuelsmth@gmail.com> References: <20220320113430.26076-1-ansuelsmth@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Convert kpss-gcc driver Documentation to yaml. Signed-off-by: Ansuel Smith --- .../bindings/arm/msm/qcom,kpss-gcc.txt | 44 ------------ .../bindings/arm/msm/qcom,kpss-gcc.yaml | 68 +++++++++++++++++++ 2 files changed, 68 insertions(+), 44 deletions(-) delete mode 100644 Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc= .txt create mode 100644 Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc= .yaml diff --git a/Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.txt b/= Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.txt deleted file mode 100644 index e628758950e1..000000000000 --- a/Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.txt +++ /dev/null @@ -1,44 +0,0 @@ -Krait Processor Sub-system (KPSS) Global Clock Controller (GCC) - -PROPERTIES - -- compatible: - Usage: required - Value type: - Definition: should be one of the following. The generic compatible - "qcom,kpss-gcc" should also be included. - "qcom,kpss-gcc-ipq8064", "qcom,kpss-gcc" - "qcom,kpss-gcc-apq8064", "qcom,kpss-gcc" - "qcom,kpss-gcc-msm8974", "qcom,kpss-gcc" - "qcom,kpss-gcc-msm8960", "qcom,kpss-gcc" - -- reg: - Usage: required - Value type: - Definition: base address and size of the register region - -- clocks: - Usage: required - Value type: - Definition: reference to the pll parents. - -- clock-names: - Usage: required - Value type: - Definition: must be "pll8_vote", "pxo". - -- clock-output-names: - Usage: required - Value type: - Definition: Name of the output clock. Typically acpu_l2_aux indicating - an L2 cache auxiliary clock. - -Example: - - l2cc: clock-controller@2011000 { - compatible =3D "qcom,kpss-gcc-ipq8064", "qcom,kpss-gcc"; - reg =3D <0x2011000 0x1000>; - clocks =3D <&gcc PLL8_VOTE>, <&gcc PXO_SRC>; - clock-names =3D "pll8_vote", "pxo"; - clock-output-names =3D "acpu_l2_aux"; - }; diff --git a/Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.yaml b= /Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.yaml new file mode 100644 index 000000000000..351a88407f4b --- /dev/null +++ b/Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.yaml @@ -0,0 +1,68 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/arm/msm/qcom,kpss-gcc.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Krait Processor Sub-system (KPSS) Global Clock Controller (GCC) + +maintainers: + - Ansuel Smith + +description: | + Krait Processor Sub-system (KPSS) Global Clock Controller (GCC). Used + to control L2 mux (in the current implementation). + +properties: + compatible: + items: + - enum: + - qcom,kpss-gcc-ipq8064 + - qcom,kpss-gcc-apq8064 + - qcom,kpss-gcc-msm8974 + - qcom,kpss-gcc-msm8960 + - const: qcom,kpss-gcc + + reg: + maxItems: 1 + + clocks: + items: + - description: phandle to pll8_vote + - description: phandle to pxo_board + + clock-names: + items: + - const: pll8_vote + - const: pxo + + clock-output-names: + const: acpu_l2_aux + + '#clock-cells': + const: 0 + +required: + - compatible + - reg + - clocks + - clock-names + - clock-output-names + - '#clock-cells' + +additionalProperties: false + +examples: + - | + #include + + clock-controller@2011000 { + compatible =3D "qcom,kpss-gcc-ipq8064", "qcom,kpss-gcc"; + reg =3D <0x2011000 0x1000>; + clocks =3D <&gcc PLL8_VOTE>, <&pxo_board>; + clock-names =3D "pll8_vote", "pxo"; + clock-output-names =3D "acpu_l2_aux"; + #clock-cells =3D <0>; + }; +... + --=20 2.34.1