From: Varadarajan Narayanan <quic_varada@quicinc.com>
To: Konrad Dybcio <konrad.dybcio@linaro.org>
Cc: AngeloGioacchino Del Regno
<angelogioacchino.delregno@collabora.com>,
"Andy Gross" <agross@kernel.org>,
Bjorn Andersson <andersson@kernel.org>,
"Rob Herring" <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Viresh Kumar <vireshk@kernel.org>, Nishanth Menon <nm@ti.com>,
Stephen Boyd <sboyd@kernel.org>, Niklas Cassel <nks@flawful.org>,
Liam Girdwood <lgirdwood@gmail.com>,
Mark Brown <broonie@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
"Rafael J. Wysocki" <rafael@kernel.org>,
Viresh Kumar <viresh.kumar@linaro.org>,
Ulf Hansson <ulf.hansson@linaro.org>,
Robert Marko <robimarko@gmail.com>,
<linux-kernel@vger.kernel.org>, <linux-arm-msm@vger.kernel.org>,
<devicetree@vger.kernel.org>, <linux-pm@vger.kernel.org>,
Jeffrey Hugo <quic_jhugo@quicinc.com>,
Marijn Suijten <marijn.suijten@somainline.org>,
AngeloGioacchino Del Regno
<angelogioacchino.delregno@somainline.org>,
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Subject: Re: [PATCH v14 0/9] Add support for Core Power Reduction v3, v4 and Hardened
Date: Wed, 12 Jun 2024 13:23:54 +0530 [thread overview]
Message-ID: <ZmlUElvlOPBdfn61@hu-varada-blr.qualcomm.com> (raw)
In-Reply-To: <20230217-topic-cpr3h-v14-0-9fd23241493d@linaro.org>
Konrad,
> Changes in v14:
> - Rebase
> - Drop cpufreq probing block (merged)
> - Pick up tags
> - Drop quotes from CPR3 bindings $id:
> - Drop useless description: under compatible:
> - Link to v13: https://lore.kernel.org/r/20230217-topic-cpr3h-v13-0-d01cff1c54cf@linaro.org
This patch series is needed for IPQ9574 CPR support. Do you plan
to post a new version or can I try to address the comments and
post a new version?
Thanks
Varada
> Changes in v13:
> - blacklist -> blocklist in cpufreq commit message
> - rebase atop drivers/genpd introduction
> - remove quotes in cpr bindings
> - describe reg entries in cpr bindings
> - define the # of power-domains in cpr bindings
> - pick up tags
> - Link to v12: https://lore.kernel.org/r/20230217-topic-cpr3h-v12-0-1a4d050e1e67@linaro.org
>
> Changes in v12:
> - Add the !independent! patch to block cpufreq-dt from probing on 8998 (it tries
> to when we attach OPP tables to the CPU nodes)
> - Include all promised changes to the CPR3 driver from v11 (I managed to
> send the wrong version of that patch last time around..)
> - Partially rewrite debugfs code (to make it work and be cleaner)
> - use FIELD_PREP/GET throughout the driver (managed to squash a bug when
> exploring that)
> - Fix and finish the removal of cpr_get_ro_factor() by introducing
> cpr_thread_desc.ro_scaling_factor_common
> - Replace underscores in node names with '-'
> - Fix some formatstring issues that clang apparently doesn't care about
> - Link to v11: https://lore.kernel.org/r/20230217-topic-cpr3h-v11-0-ba22b4daa5d6@linaro.org
>
> Changes in v11:
>
> CPR COMMON:
> - split the commonizing patch, make it actually do what it says on the
> tin..
> - fix some overflow bugs
>
> CPR3:
> - fix some overflow bugs
> - don't assume "lack of qcom,opp-?loop-vadj" means val=0"
>
> CPR BINDINGS:
> - drop quotes in items
> - drop clock-names (there's just a single one)
> - rewrite the description a bit
> - fix up the example
> - drop bogus minItems
> - "acc-syscon" -> "qcom,acc"
>
> DTS:
> - fix qfprom children so that the bits=<> doesn't overflow reg[size]
> - drop unrelated changes
> - place one reg entry per line
>
> Link to v10: https://lore.kernel.org/r/20230217-topic-cpr3h-v10-0-67aed8fdfa61@linaro.org
>
> Changes in v10:
> - Skip "Let qcom,opp-fuse-level be a 2-long array" (Applied by Viresh)
> - Use b4 (it may be the first time you're receiving this if git send-email
> omitted you before..)
> - +Cc Robert Marko (expressed interest in previous revisions)
> - Add "Document CPR3 open/closed loop volt adjustment"
> CPR:
> - %hhu -> %u (checkpatch)
> CPR BINDINGS:
> - Drop QCS404 fuse set (it doesn't use this driver, what did I even think..)
> but leave the allOf:if: block for expansion (sdm660, msm8996, ipqABCD should
> follow soon..)
> - Drop Rob's R-b (as things changed *again*, please take one more look to make
> sure you're okay with this file, Rob..)
>
> Link to v9:
> https://lore.kernel.org/linux-arm-msm/20230116093845.72621-1-konrad.dybcio@linaro.org/
>
> Changes in v9:
> - Restore forgotten MAINTAINERS patch (oops)
> CPR:
> - Include the missing header (big oops!)
> - Fix kconfig dependencies
> CPR bindings:
> - Fix cpu reg in example (why didn't dt_binding_check scream at that)
> - Add newlines between nodes in example
> - Change opp table node names to opp-table-cpu[04]
> - Change opp table labels to cpu[04]_opp_table
> - Change CPRh opp subnode names to opp-N from oppN
> - Remove some stray newlines
> - Bring back nvmem-cell-names and add the 8998's set
> - Allow power-domains for VDDCX_AO voting
> - Remove Rob's r-b, there's been quite a bit of changes..
> CPR DT:
> - Send the correct revision of the patch this time around..
> OPP bindings:
> - Add Rob's ack
>
> Link to v8:
> https://lore.kernel.org/linux-arm-msm/20230110175605.1240188-1-konrad.dybcio@linaro.org/
>
> Changes in v8:
> - Overtake this series from AGdR
> - Apply all review comments from v7 except Vladimir's request to
> not create the include/ header; it will be strictly necessary for
> OSM-aware cpufreq_hw programming, which this series was more or
> less created just for..
> - Drop QCS404 dtsi change, account for not breaking backwards compat
> in [3/5]
> - Add type phandle type reference to acc-syscon in [1/5]
> - Update AGdR's email addresses for maintainer entries
> - Add [2/5] to make dt_binding_check happy
> - Separate the CPRh DT addition from cpufreq_hw addition, sort and
> properly indent new nodes
> - Drop CPR yaml conversion, that happened in meantime
> - Reorder the patches to make a bit more sense
> - Tested again on MSM8998 Xperia XZ Premium (Maple)
> - I take no responsibility for AGdR's cheeky jokes, only the code!
>
> Link to v7:
> https://lore.kernel.org/lkml/20210901155735.629282-1-angelogioacchino.delregno@somainline.org/
>
> Changes in v7:
> - Rebased on linux-next as of 210901
> - Changed cpr_read_efuse calls to nvmem_cell_read_variable_le_u32,
> following what was done in commit c77634b9d916
>
> Changes in v6:
> - Fixes from Bjorn's review
> - After a conversation with Viresh, it turned out I was abusing the
> OPP API to pass the APM and MEM-ACC thresholds to qcom-cpufreq-hw,
> so now the driver is using the genpd created virtual device and
> passing drvdata instead to stop the abuse
> - Since the CPR commonization was ignored for more than 6 months,
> it is now included in the CPRv3/4/h series, as there is no point
> in commonizing without having this driver
> - Rebased on v5.13
>
> Changes in v5:
> - Fixed getting OPP table when not yet installed by the caller
> of power domain attachment
>
> Changes in v4:
> - Huge patch series has been split for better reviewability,
> as suggested by Bjorn
>
> Changes in v3:
> - Fixed YAML doc issues
> - Removed unused variables and redundant if branch
>
> Changes in v2:
> - Implemented dynamic Memory Accelerator corners support, needed
> by MSM8998
> - Added MSM8998 Silver/Gold parameters
>
> This commit introduces a new driver, based on the one for cpr v1,
> to enable support for the newer Qualcomm Core Power Reduction
> hardware, known downstream as CPR3, CPR4 and CPRh, and support
> for MSM8998 and SDM630 CPU power reduction.
>
> In these new versions of the hardware, support for various new
> features was introduced, including voltage reduction for the GPU,
> security hardening and a new way of controlling CPU DVFS,
> consisting in internal communication between microcontrollers,
> specifically the CPR-Hardened and the Operating State Manager.
>
> The CPR v3, v4 and CPRh are present in a broad range of SoCs,
> from the mid-range to the high end ones including, but not limited
> to, MSM8953/8996/8998, SDM630/636/660/845.
>
> As to clarify, SDM845 does the CPR/SAW/OSM setup in TZ firmware, but
> this is limited to the CPU context; despite GPU CPR support being not
> implemented in this series, it is planned for the future, and some
> SDM845 need the CPR (in the context of GPU CPR) to be configured from
> this driver.
>
> It is also planned to add the CPR data for MSM8996, since this driver
> does support the CPRv4 found on that SoC, but I currently have no time
> to properly test that on a real device, so I prefer getting this big
> implementation merged before adding more things on top.
>
> As for MSM8953, we (read: nobody from SoMainline) have no device with
> this chip: since we are unable to test the cpr data and the entire
> driver on that one, we currently have no plans to do this addition
> in the future. This is left to other nice developers: I'm sure that
> somebody will come up with that, sooner or later
>
> Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
> ---
> AngeloGioacchino Del Regno (7):
> MAINTAINERS: Add entry for Qualcomm CPRv3/v4/Hardened driver
> dt-bindings: soc: qcom: cpr3: Add bindings for CPR3 driver
> soc: qcom: cpr: Move common functions to new file
> soc: qcom: cpr-common: Add support for flat fuse adjustment
> soc: qcom: cpr-common: Add threads support
> soc: qcom: Add support for Core Power Reduction v3, v4 and Hardened
> arm64: dts: qcom: msm8998: Configure CPRh
>
> Konrad Dybcio (2):
> dt-bindings: opp: v2-qcom-level: Document CPR3 open/closed loop volt adjustment
> soc: qcom: cpr: Use u64 for frequency
>
> .../devicetree/bindings/opp/opp-v2-qcom-level.yaml | 14 +
> .../devicetree/bindings/soc/qcom/qcom,cpr3.yaml | 286 ++
> MAINTAINERS | 6 +
> arch/arm64/boot/dts/qcom/msm8998.dtsi | 757 ++++++
> drivers/genpd/qcom/Makefile | 2 +
> drivers/genpd/qcom/cpr-common.c | 362 +++
> drivers/genpd/qcom/cpr-common.h | 109 +
> drivers/genpd/qcom/cpr.c | 394 +--
> drivers/genpd/qcom/cpr3.c | 2855 ++++++++++++++++++++
> drivers/soc/qcom/Kconfig | 22 +
> include/soc/qcom/cpr.h | 17 +
> 11 files changed, 4456 insertions(+), 368 deletions(-)
> ---
> base-commit: 6269320850097903b30be8f07a5c61d9f7592393
> change-id: 20230217-topic-cpr3h-de232bfb47ec
>
> Best regards,
> --
> Konrad Dybcio <konrad.dybcio@linaro.org>
next prev parent reply other threads:[~2024-06-12 7:54 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-28 11:42 [PATCH v14 0/9] Add support for Core Power Reduction v3, v4 and Hardened Konrad Dybcio
2023-08-28 11:42 ` [PATCH v14 1/9] MAINTAINERS: Add entry for Qualcomm CPRv3/v4/Hardened driver Konrad Dybcio
2023-08-28 11:42 ` [PATCH v14 2/9] dt-bindings: opp: v2-qcom-level: Document CPR3 open/closed loop volt adjustment Konrad Dybcio
2023-08-28 11:42 ` [PATCH v14 3/9] dt-bindings: soc: qcom: cpr3: Add bindings for CPR3 driver Konrad Dybcio
2023-08-29 11:01 ` Ulf Hansson
2023-08-31 16:28 ` Rob Herring
2023-08-31 16:40 ` Konrad Dybcio
2023-08-31 22:02 ` Ulf Hansson
2023-09-09 12:00 ` Konrad Dybcio
2023-08-31 21:47 ` Ulf Hansson
2023-08-28 11:42 ` [PATCH v14 4/9] soc: qcom: cpr: Move common functions to new file Konrad Dybcio
2023-08-29 15:15 ` Bjorn Andersson
2023-09-09 11:59 ` Konrad Dybcio
2024-06-18 23:33 ` Konrad Dybcio
2023-08-28 11:42 ` [PATCH v14 5/9] soc: qcom: cpr-common: Add support for flat fuse adjustment Konrad Dybcio
2023-08-28 11:42 ` [PATCH v14 6/9] soc: qcom: cpr: Use u64 for frequency Konrad Dybcio
2023-08-28 11:42 ` [PATCH v14 7/9] soc: qcom: cpr-common: Add threads support Konrad Dybcio
2023-08-28 11:42 ` [PATCH v14 8/9] soc: qcom: Add support for Core Power Reduction v3, v4 and Hardened Konrad Dybcio
2023-09-06 10:23 ` Ulf Hansson
2024-06-19 20:07 ` Konrad Dybcio
2023-08-28 11:42 ` [PATCH v14 9/9] arm64: dts: qcom: msm8998: Configure CPRh Konrad Dybcio
2024-06-12 7:53 ` Varadarajan Narayanan [this message]
2024-06-18 23:58 ` [PATCH v14 0/9] Add support for Core Power Reduction v3, v4 and Hardened Konrad Dybcio
2024-06-19 7:09 ` Varadarajan Narayanan
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=ZmlUElvlOPBdfn61@hu-varada-blr.qualcomm.com \
--to=quic_varada@quicinc.com \
--cc=agross@kernel.org \
--cc=andersson@kernel.org \
--cc=angelogioacchino.delregno@collabora.com \
--cc=angelogioacchino.delregno@somainline.org \
--cc=broonie@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=konrad.dybcio@linaro.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=krzysztof.kozlowski@linaro.org \
--cc=lgirdwood@gmail.com \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=marijn.suijten@somainline.org \
--cc=nks@flawful.org \
--cc=nm@ti.com \
--cc=quic_jhugo@quicinc.com \
--cc=rafael@kernel.org \
--cc=robh+dt@kernel.org \
--cc=robimarko@gmail.com \
--cc=sboyd@kernel.org \
--cc=ulf.hansson@linaro.org \
--cc=viresh.kumar@linaro.org \
--cc=vireshk@kernel.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