Re: [PATCH 00/14] UFS: Add OPP and interconnect support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jul 12, 2023 at 04:01:55PM +0530, Manivannan Sadhasivam wrote:
> Hi,
> 
> This series adds OPP (Operating Points) support to UFSHCD driver and
> interconnect support to Qcom UFS driver.
> 

Missed to cc SCSI folks. Will be resending this series. Sorry for the noise.

- Mani

> 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 which are also added in this series.
> 
> Finally, interconnect support is added to Qcom UFS driver for scaling the
> interconnect path dynamically. This is required to avoid boot crash in
> recent SoCs and also to save power during runtime. More information is
> available in patch 13/13.
> 
> Credits
> =======
> 
> This series is a continuation of previous work by Krzysztof Kozlowski [1]
> and Brian Masney [2]. Ideally, this could've split into two series (OPP
> and interconnect) but since there will be a dependency in the devicetree,
> I decided to keep them in a single series.
> 
> Testing
> =======
> 
> This series is tested on 96Boards RB3 (SDM845 SoC) and RB5 (SM8250 SoC)
> development boards.
> 
> Merging Strategy
> ================
> 
> An immutable branch might be required between OPP and SCSI trees because of
> the API dependency (devfreq too). And I leave it up to the maintainers to
> decide.
> 
> Thanks,
> Mani
> 
> [1] https://lore.kernel.org/all/20220513061347.46480-1-krzysztof.kozlowski@xxxxxxxxxx/
> [2] https://lore.kernel.org/all/20221117104957.254648-1-bmasney@xxxxxxxxxx/
> 
> Krzysztof Kozlowski (2):
>   dt-bindings: ufs: common: add OPP table
>   arm64: dts: qcom: sdm845: Add OPP table support to UFSHC
> 
> Manivannan Sadhasivam (12):
>   dt-bindings: opp: Increase maxItems for opp-hz property
>   arm64: dts: qcom: sdm845: Add missing RPMh power domain to GCC
>   arm64: dts: qcom: sdm845: Fix the min frequency of "ice_core_clk"
>   arm64: dts: qcom: sm8250: Add OPP table support to UFSHC
>   OPP: Introduce dev_pm_opp_find_freq_{ceil/floor}_indexed() APIs
>   OPP: Introduce dev_pm_opp_get_freq_indexed() API
>   PM / devfreq: Switch to dev_pm_opp_find_freq_{ceil/floor}_indexed()
>     APIs
>   scsi: ufs: core: Add OPP support for scaling clocks and regulators
>   scsi: ufs: host: Add support for parsing OPP
>   arm64: dts: qcom: sdm845: Add interconnect paths to UFSHC
>   arm64: dts: qcom: sm8250: Add interconnect paths to UFSHC
>   scsi: ufs: qcom: Add support for scaling interconnects
> 
>  .../devicetree/bindings/opp/opp-v2-base.yaml  |   2 +-
>  .../devicetree/bindings/ufs/ufs-common.yaml   |  34 ++++-
>  arch/arm64/boot/dts/qcom/sdm845.dtsi          |  47 ++++--
>  arch/arm64/boot/dts/qcom/sm8250.dtsi          |  43 ++++--
>  drivers/devfreq/devfreq.c                     |  14 +-
>  drivers/opp/core.c                            |  76 ++++++++++
>  drivers/ufs/core/ufshcd.c                     | 142 ++++++++++++++----
>  drivers/ufs/host/ufs-qcom.c                   | 131 +++++++++++++++-
>  drivers/ufs/host/ufs-qcom.h                   |   3 +
>  drivers/ufs/host/ufshcd-pltfrm.c              | 116 ++++++++++++++
>  include/linux/pm_opp.h                        |  26 ++++
>  include/ufs/ufshcd.h                          |   4 +
>  12 files changed, 574 insertions(+), 64 deletions(-)
> 
> -- 
> 2.25.1
> 

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



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux