Re: [PATCH v7 0/5] UFS: Add OPP support

Manivannan Sadhasivam
2023-10-16T03:59:41Z

On Thu, Oct 12, 2023 at 10:51:24PM +0530, Manivannan Sadhasivam wrote:
> Hi,
>
> This series adds OPP (Operating Points) support to UFSHCD driver.
>
> Motivation behind adding OPP support is to scale both clocks as well as
> regulators/performance state dynamically. Currently, UFSHCD just scales
> clock frequency during runtime with the help of "freq-table-hz" property
> defined in devicetree. With the addition of OPP tables in devicetree (as
> done for Qcom SDM845 and SM8250 SoCs in this series) UFSHCD can now scale
> both clocks and performance state of power domain which helps in power
> saving.
>
> For the addition of OPP support to UFSHCD, there are changes required to
> the OPP framework and devfreq drivers. The OPP framework changes are already
> merged and the devfreq change is added in this series.
>
> Credits
> =======
>
> This series is a continuation of previous work by Krzysztof Kozlowski [1].
>
> Testing
> =======
>
> This series is tested on 96Boards RB3 (SDM845 SoC) and RB5 (SM8250 SoC)
> development boards.
>
> Merging Strategy
> ================
>
> Since the devfreq patch got an Ack from the maintainer, either it can be merged
> to scsi tree with rest of the patches or merged separately through devfreq tree.
>

Martin, can you please merge the ufs patches (drivers,bindings) for v6.7? Note
that the devfreq patch already got merged and the above text is outdated (my
bad).

- Mani

> Thanks,
> Mani
>
> [1] https://lore.kernel.org/all/20220513061347.46480-1-krzysztof.kozlowski@linaro.org/
>
> Changes in v7:
>
> * Added missing EXPORT_SYMBOL_GPL() for ufshcd_opp_config_clks() API as reported
> by Alessandro Carminati
>
> Changes in v6:
>
> * Collected tags from Dmitry
> * Fixed bindings issues reported by Krzysztof
>
> Changes in v5:
>
> * Dropped the devfreq patch since it got applied
> * Fixed the bindings issue reported by DT bot
> * Rebased on top of mkp/scsi/for-next
>
> Changes in v4:
>
> * Rebased on top of v6.6-rc3
>
> Changes in v3:
>
> * Rebased on top of linux-next/master tag: next-20230731
> * Dropped the already applied patches (dts, opp binding and framework)
> * Moved the interconnect patches to a separate series:
> https://lore.kernel.org/linux-scsi/20230731145020.41262-1-manivannan.sadhasivam@linaro.org/
> * Moved ufshcd_opp_config_clks() API to ufshcd.c to fix the build failure
> reported by Kbuild bot: https://lore.kernel.org/all/202307210542.KoLHRbU6-lkp@intel.com/
> * Collected Acks
> * v2: https://lore.kernel.org/all/20230720054100.9940-1-manivannan.sadhasivam@linaro.org/
>
> Changes in v2:
>
> * Added more description to the bindings patch 2/15
> * Fixed dev_pm_opp_put() usage in patch 10/15
> * Added a new patch for adding enums for UFS lanes 14/15
> * Changed the icc variables to mem_bw and cfg_bw and used
> the enums for gears and lanes in bw_table
> * Collected review tags
> * Added SCSI list and folks
> * Removed duplicate patches
>
> Krzysztof Kozlowski (2):
> dt-bindings: ufs: common: add OPP table
> arm64: dts: qcom: sdm845: Add OPP table support to UFSHC
>
> Manivannan Sadhasivam (3):
> scsi: ufs: core: Add OPP support for scaling clocks and regulators
> scsi: ufs: host: Add support for parsing OPP
> arm64: dts: qcom: sm8250: Add OPP table support to UFSHC
>
> .../devicetree/bindings/ufs/ufs-common.yaml | 35 +++-
> arch/arm64/boot/dts/qcom/sdm845.dtsi | 42 +++-
> arch/arm64/boot/dts/qcom/sm8250.dtsi | 39 +++-
> drivers/ufs/core/ufshcd.c | 180 ++++++++++++++----
> drivers/ufs/host/ufshcd-pltfrm.c | 78 ++++++++
> include/ufs/ufshcd.h | 7 +
> 6 files changed, 326 insertions(+), 55 deletions(-)
>
> --
> 2.25.1
>

--
மணிவண்ணன் சதாசிவம்