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@xxxxxxxxxx/ > > 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@xxxxxxxxxx/ > * 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@xxxxxxxxx/ > * Collected Acks > * v2: https://lore.kernel.org/all/20230720054100.9940-1-manivannan.sadhasivam@xxxxxxxxxx/ > > 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 > -- மணிவண்ணன் சதாசிவம்