lkml.org 
[lkml]   [2023]   [Jul]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[PATCH v3 0/6] UFS: Add OPP support
    Date
    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 available in linux-next, 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
    ================

    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.

    Dependency
    ==========

    This series depends on the OPP framework changes that got merged into PM tree
    and available in linux-next.

    Thanks,
    Mani

    [1] https://lore.kernel.org/all/20220513061347.46480-1-krzysztof.kozlowski@linaro.org/

    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 (4):
    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: sm8250: Add OPP table support to UFSHC

    .../devicetree/bindings/ufs/ufs-common.yaml | 34 +++-
    arch/arm64/boot/dts/qcom/sdm845.dtsi | 42 +++-
    arch/arm64/boot/dts/qcom/sm8250.dtsi | 39 +++-
    drivers/devfreq/devfreq.c | 14 +-
    drivers/ufs/core/ufshcd.c | 179 ++++++++++++++----
    drivers/ufs/host/ufshcd-pltfrm.c | 78 ++++++++
    include/ufs/ufshcd.h | 7 +
    7 files changed, 331 insertions(+), 62 deletions(-)


    base-commit: ec89391563792edd11d138a853901bce76d11f44
    prerequisite-patch-id: 9e7233b8c34b4eeef63a90e851bc9429619627bc
    prerequisite-patch-id: a18af123ce0e9537a96676ae0b2d8c1f0fd19c4b
    --
    2.25.1

    \
     
     \ /
      Last update: 2023-07-31 18:34    [W:2.900 / U:0.160 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site