Message ID | 20231012172129.65172-1-manivannan.sadhasivam@linaro.org |
---|---|
Headers | show |
Series | UFS: Add OPP support | expand |
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 >
On Thu, 12 Oct 2023 22:51:24 +0530, Manivannan Sadhasivam wrote: > 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. > > [...] Applied to 6.7/scsi-queue, thanks! [1/5] dt-bindings: ufs: common: add OPP table https://git.kernel.org/mkp/scsi/c/e820de1d115f [2/5] scsi: ufs: core: Add OPP support for scaling clocks and regulators https://git.kernel.org/mkp/scsi/c/930bd77ebe3d [3/5] scsi: ufs: host: Add support for parsing OPP https://git.kernel.org/mkp/scsi/c/72208ebe181e
On Thu, 12 Oct 2023 22:51:24 +0530, Manivannan Sadhasivam wrote: > 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. > > [...] Applied, thanks! [4/5] arm64: dts: qcom: sdm845: Add OPP table support to UFSHC commit: ec987b5efd59fdea4178d824d8ec4bbdf3019bdf [5/5] arm64: dts: qcom: sm8250: Add OPP table support to UFSHC commit: 725be1d6318e4ea7e3947fd4242a14cf589cfebf Best regards,
On Sat, Dec 02, 2023 at 08:54:46PM -0800, Bjorn Andersson wrote: > > On Thu, 12 Oct 2023 22:51:24 +0530, Manivannan Sadhasivam wrote: > > 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. > > > > [...] > > Applied, thanks! > > [4/5] arm64: dts: qcom: sdm845: Add OPP table support to UFSHC > commit: ec987b5efd59fdea4178d824d8ec4bbdf3019bdf > [5/5] arm64: dts: qcom: sm8250: Add OPP table support to UFSHC > commit: 725be1d6318e4ea7e3947fd4242a14cf589cfebf > Bjorn, could you please drop these two patches? I found the OPP regression in the ufs-qcom driver due to some patches that got merged last cycle. Nitin is working on a fix for that. So I'd like to defer merging of these dts patches to v6.9. I can resend them after v6.8-rc1. - Mani > Best regards, > -- > Bjorn Andersson <andersson@kernel.org>