Message ID | 20230712103213.101770-1-manivannan.sadhasivam@linaro.org (mailing list archive) |
---|---|
Headers | show |
Series | UFS: Add OPP and interconnect support | expand |
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@linaro.org/ > [2] https://lore.kernel.org/all/20221117104957.254648-1-bmasney@redhat.com/ > > 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 >
Did you bcc linux-scsi on this series? I am just wondering why it came directly to my inbox and I am not the to: or cc: list. I also notice replies in the archives which I have not received... Thanks, John
On Wed, Jul 12, 2023 at 12:02:37PM +0100, John Garry wrote: > Did you bcc linux-scsi on this series? > > I am just wondering why it came directly to my inbox and I am not the to: or > cc: list. I also notice replies in the archives which I have not received... > I initially missed CCing scsi list and maintainers. So instead of resending the series (since it has too many people CCed), I just bounced the patches to scsi list and maintainers using Mutt. From the next iteration, I will make sure to add everyone. Sorry for the trouble. - Mani > Thanks, > John
On 12/07/2023 13:40, Manivannan Sadhasivam wrote: > 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. I'd say, there is a need for the resend anyway, the series got duplicate patch indices. > > - 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@linaro.org/ >> [2] https://lore.kernel.org/all/20221117104957.254648-1-bmasney@redhat.com/ >> >> 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 >> >
On Wed, Jul 12, 2023 at 03:18:38PM +0300, Dmitry Baryshkov wrote: > On 12/07/2023 13:40, Manivannan Sadhasivam wrote: > > 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. > > I'd say, there is a need for the resend anyway, the series got duplicate > patch indices. > Yeah, my script screwed up. Will wait for some time to get comments before resending though. - Mani > > > > - 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@linaro.org/ > > > [2] https://lore.kernel.org/all/20221117104957.254648-1-bmasney@redhat.com/ > > > > > > 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 > > > > > > > -- > With best wishes > Dmitry >