linux-arm-msm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Konrad Dybcio <konrad.dybcio@linaro.org>
To: Andy Gross <agross@kernel.org>,
	Bjorn Andersson <andersson@kernel.org>,
	Michael Turquette <mturquette@baylibre.com>,
	Stephen Boyd <sboyd@kernel.org>, Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
Cc: linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>,
	devicetree@vger.kernel.org,
	Konrad Dybcio <konrad.dybcio@linaro.org>,
	Shawn Guo <shawn.guo@linaro.org>,
	Taniya Das <quic_tdas@quicinc.com>
Subject: [PATCH RFT v2 00/14] SMD RPMCC sleep preparations
Date: Wed, 08 Mar 2023 22:35:16 +0100	[thread overview]
Message-ID: <20230303-topic-rpmcc_sleep-v2-0-ae80a325fe94@linaro.org> (raw)

v1 -> v2:
- Use CLK_IS_CRITICAL instead of leaving a clk enable vote, expand macros
  to do so
- Fix the keepalive clocks for 8998 & 660 (CNoC -> PNoC, it was
  confusingly named cnoc_periph downstream)
- Introduce .determinte_rate to ensure we don't set keepalive clocks'
  rates below 19.2 MHz
- Add a (!conditional!) way to test the ultimate goal of all these changes
  by essentially enabling unused clk cleanup through a dt property (for
  legacy reasons)

v2 was tested on:

- MSM8996 Sony Kagura (can disable unused)
- MSM8998 Sony Maple (can disable unused with OOT icc)
- SM6375 Sony PDX225 (can disable unused with OOT icc)

v1: https://lore.kernel.org/r/20230303-topic-rpmcc_sleep-v1-0-d9cfaf9b27a7@linaro.org

This series brings support for a couple of things necessary for the full
system idle on SMD RPM SoCs, namely unused clk shutdown and keepalive
votes (permanent active votes that are required on certain clocks for the
platform to function).

Tested on MSM8996 and SM6375, does not seem to introduce any additional
regressions.

Keepalive clocks for other platforms were gathered by digging in old
downstream kernels, please give them a test.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
---
Konrad Dybcio (11):
      dt-bindings: clock: qcom,rpmcc: Add a way to enable unused clock cleanup
      clk: qcom: smd-rpm_ Make __DEFINE_CLK_SMD_RPM_BRANCH_PREFIX accept flags
      clk: qcom: smd-rpm: Make DEFINE_CLK_SMD_RPM_BRANCH_A accept flags
      clk: qcom: smd-rpm: Make BI_TCXO_AO critical
      clk: qcom: smd-rpm: Make __DEFINE_CLK_SMD_RPM_PREFIX accept flags
      clk: qcom: smd-rpm: Separate out a macro for defining an AO clock
      clk: qcom: smd-rpm: Add support for keepalive votes
      clk: qcom: smd-rpm: Introduce DEFINE_CLK_SMD_RPM_BUS_KEEPALIVE
      clk: qcom: smd-rpm: Hook up PCNoC_0 keep_alive
      clk: qcom: smd-rpm: Hook up CNoC_1 and SNoC_2 keep_alive
      arm64: dts: qcom: msm8996: Enable rpmcc unused clk disablement

Shawn Guo (3):
      clk: qcom: smd-rpm: Add .is_enabled hook
      clk: qcom: smd-rpm: Add .is_prepared hook
      clk: qcom: smd-rpm: Mark clock enabled in clk_smd_rpm_handoff()

 .../devicetree/bindings/clock/qcom,rpmcc.yaml      |   6 +
 arch/arm64/boot/dts/qcom/msm8996.dtsi              |   1 +
 drivers/clk/qcom/clk-smd-rpm.c                     | 133 +++++++++++++++------
 3 files changed, 106 insertions(+), 34 deletions(-)
---
base-commit: fc31900c948610e7b5c2f15fb7795832c8325327
change-id: 20230303-topic-rpmcc_sleep-d67aad9f3012

Best regards,
-- 
Konrad Dybcio <konrad.dybcio@linaro.org>


             reply	other threads:[~2023-03-08 21:35 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-08 21:35 Konrad Dybcio [this message]
2023-03-08 21:35 ` [PATCH RFT v2 01/14] dt-bindings: clock: qcom,rpmcc: Add a way to enable unused clock cleanup Konrad Dybcio
2023-03-16 22:58   ` Rob Herring
2023-03-17  0:31     ` Konrad Dybcio
2023-03-17 18:20       ` Stephen Boyd
2023-04-06 14:44         ` Konrad Dybcio
2023-04-07 20:17           ` Konrad Dybcio
2023-04-11 21:34             ` Konrad Dybcio
2023-03-22  3:23   ` Bjorn Andersson
2023-04-17 19:05   ` Stephan Gerhold
2023-04-18  0:19     ` Stephen Boyd
2023-04-18 10:33       ` Konrad Dybcio
2023-04-19 11:31         ` Konrad Dybcio
2023-04-19 14:00           ` Stephan Gerhold
2023-04-19 21:08             ` Konrad Dybcio
2023-04-20  8:28   ` Manivannan Sadhasivam
2023-03-08 21:35 ` [PATCH RFT v2 02/14] clk: qcom: smd-rpm: Add .is_enabled hook Konrad Dybcio
2023-03-09  0:47   ` Dmitry Baryshkov
2023-03-22  3:02   ` Bjorn Andersson
2023-04-06 14:43     ` Konrad Dybcio
2023-03-08 21:35 ` [PATCH RFT v2 03/14] clk: qcom: smd-rpm: Add .is_prepared hook Konrad Dybcio
2023-03-09  0:48   ` Dmitry Baryshkov
2023-03-08 21:35 ` [PATCH RFT v2 04/14] clk: qcom: smd-rpm_ Make __DEFINE_CLK_SMD_RPM_BRANCH_PREFIX accept flags Konrad Dybcio
2023-03-09  0:48   ` Dmitry Baryshkov
2023-03-08 21:35 ` [PATCH RFT v2 05/14] clk: qcom: smd-rpm: Make DEFINE_CLK_SMD_RPM_BRANCH_A " Konrad Dybcio
2023-03-09  0:49   ` Dmitry Baryshkov
2023-03-08 21:35 ` [PATCH RFT v2 06/14] clk: qcom: smd-rpm: Make BI_TCXO_AO critical Konrad Dybcio
2023-03-09  0:49   ` Dmitry Baryshkov
2023-03-08 21:35 ` [PATCH RFT v2 07/14] clk: qcom: smd-rpm: Make __DEFINE_CLK_SMD_RPM_PREFIX accept flags Konrad Dybcio
2023-03-09  0:50   ` Dmitry Baryshkov
2023-03-08 21:35 ` [PATCH RFT v2 08/14] clk: qcom: smd-rpm: Separate out a macro for defining an AO clock Konrad Dybcio
2023-03-09  0:50   ` Dmitry Baryshkov
2023-03-08 21:35 ` [PATCH RFT v2 09/14] clk: qcom: smd-rpm: Add support for keepalive votes Konrad Dybcio
2023-03-09  0:54   ` Dmitry Baryshkov
2023-03-09  1:22     ` Konrad Dybcio
2023-03-08 21:35 ` [PATCH RFT v2 10/14] clk: qcom: smd-rpm: Introduce DEFINE_CLK_SMD_RPM_BUS_KEEPALIVE Konrad Dybcio
2023-03-09  1:25   ` Dmitry Baryshkov
2023-03-08 21:35 ` [PATCH RFT v2 11/14] clk: qcom: smd-rpm: Hook up PCNoC_0 keep_alive Konrad Dybcio
2023-03-09  1:25   ` Dmitry Baryshkov
2023-03-22  3:19   ` Bjorn Andersson
2023-03-22  8:05     ` Konrad Dybcio
2023-03-08 21:35 ` [PATCH RFT v2 12/14] clk: qcom: smd-rpm: Hook up CNoC_1 and SNoC_2 keep_alive Konrad Dybcio
2023-03-09  1:25   ` Dmitry Baryshkov
2023-03-08 21:35 ` [PATCH RFT v2 13/14] clk: qcom: smd-rpm: Mark clock enabled in clk_smd_rpm_handoff() Konrad Dybcio
2023-03-08 21:35 ` [PATCH RFT v2 14/14] arm64: dts: qcom: msm8996: Enable rpmcc unused clk disablement Konrad Dybcio
2023-04-20  1:50 ` [PATCH RFT v2 00/14] SMD RPMCC sleep preparations Konrad Dybcio
2023-04-20  7:56   ` Stephan Gerhold
2023-04-20  9:36     ` Konrad Dybcio
2023-04-20 10:04       ` Stephan Gerhold
2023-04-20 10:20         ` Konrad Dybcio
2023-04-20 15:57 ` Konrad Dybcio
2023-04-25 19:35   ` Stephen Boyd
2023-04-26  9:40     ` Konrad Dybcio

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230303-topic-rpmcc_sleep-v2-0-ae80a325fe94@linaro.org \
    --to=konrad.dybcio@linaro.org \
    --cc=agross@kernel.org \
    --cc=andersson@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=krzysztof.kozlowski@linaro.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mturquette@baylibre.com \
    --cc=quic_tdas@quicinc.com \
    --cc=robh+dt@kernel.org \
    --cc=sboyd@kernel.org \
    --cc=shawn.guo@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).