All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH V2 00/13] OPP: Add support for multiple clocks*
@ 2022-07-05  7:00 Viresh Kumar
  2022-07-05  7:00 ` [PATCH V2 01/13] OPP: Use consistent names for OPP table instances Viresh Kumar
                   ` (14 more replies)
  0 siblings, 15 replies; 30+ messages in thread
From: Viresh Kumar @ 2022-07-05  7:00 UTC (permalink / raw)
  To: Chanwoo Choi, Dmitry Osipenko, Jonathan Hunter, Kyungmin Park,
	MyungJoo Ham, Nishanth Menon, Rafael J. Wysocki, Stephen Boyd,
	Thierry Reding, Viresh Kumar
  Cc: Viresh Kumar, linux-pm, Vincent Guittot, Krzysztof Kozlowski,
	Bjorn Andersson, devicetree, Dmitry Osipenko, linux-kernel,
	linux-tegra, Manivannan Sadhasivam, Rob Herring

Hello,

This patchset adds support for devices with multiple clocks. None of the clocks
is considered primary in this case and all are handled equally.

The drivers, for multiple clock case, are expected to call dev_pm_opp_set_opp()
to set the specific OPP. Though how they find the target OPP is left for the
users to handle. For some, we may have another unique OPP property, like level,
which can be used to find the OPP. While in case of others, we may want to
implement freq-based OPP finder APIs for multiple clock rates. I have decided
not to implement them in advance, and add them only someone wants to use them.

This is rebased over a lot of other OPP changes and is pushed here:

git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm.git opp/linux-next

V1->V2:

- Fix broken git bisect for:
  OPP: Reuse _opp_compare_key() in _opp_add_static_v2()

- Include binding changes written by Krzysztof earlier.

- Check config_clks before calling it, it isn't always set.

- Add config_clks for Tegra30's devfreq to handle its corner case.

- _opp_compare_key() supports multi-clk case now, earlier it skipped freq
  comparison for such a case.

- New patch to compare all bandwidth values as well in _opp_compare_key().

- New patch to remove *_noclk() interface.

- Various other minor fixes.

--
Viresh

Krzysztof Kozlowski (1):
  dt-bindings: opp: accept array of frequencies

Viresh Kumar (12):
  OPP: Use consistent names for OPP table instances
  OPP: Remove rate_not_available parameter to _opp_add()
  OPP: Reuse _opp_compare_key() in _opp_add_static_v2()
  OPP: Make dev_pm_opp_set_opp() independent of frequency
  OPP: Allow multiple clocks for a device
  OPP: Compare bandwidths for all paths in _opp_compare_key()
  OPP: Add key specific assert() method to key finding helpers
  OPP: Assert clk_count == 1 for single clk helpers
  OPP: Provide a simple implementation to configure multiple clocks
  OPP: Allow config_clks helper for single clk case
  PM / devfreq: tegra30: Register config_clks helper
  OPP: Remove dev{m}_pm_opp_of_add_table_noclk()

 .../devicetree/bindings/opp/opp-v2-base.yaml  |  10 +
 drivers/devfreq/tegra30-devfreq.c             |  22 +-
 drivers/opp/core.c                            | 404 +++++++++++++-----
 drivers/opp/cpu.c                             |  12 +-
 drivers/opp/debugfs.c                         |  27 +-
 drivers/opp/of.c                              | 139 +++---
 drivers/opp/opp.h                             |  24 +-
 include/linux/pm_opp.h                        |  29 +-
 8 files changed, 466 insertions(+), 201 deletions(-)

-- 
2.31.1.272.g89b43f80a514


^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2022-07-13  6:55 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-05  7:00 [PATCH V2 00/13] OPP: Add support for multiple clocks* Viresh Kumar
2022-07-05  7:00 ` [PATCH V2 01/13] OPP: Use consistent names for OPP table instances Viresh Kumar
2022-07-05  7:00 ` [PATCH V2 02/13] OPP: Remove rate_not_available parameter to _opp_add() Viresh Kumar
2022-07-05  7:00 ` [PATCH V2 03/13] OPP: Reuse _opp_compare_key() in _opp_add_static_v2() Viresh Kumar
2022-07-05  7:00 ` [PATCH V2 04/13] OPP: Make dev_pm_opp_set_opp() independent of frequency Viresh Kumar
2022-07-05  7:00 ` [PATCH V2 05/13] dt-bindings: opp: accept array of frequencies Viresh Kumar
2022-07-05  7:00 ` [PATCH V2 06/13] OPP: Allow multiple clocks for a device Viresh Kumar
2022-07-05  7:00 ` [PATCH V2 07/13] OPP: Compare bandwidths for all paths in _opp_compare_key() Viresh Kumar
2022-07-05  7:00 ` [PATCH V2 08/13] OPP: Add key specific assert() method to key finding helpers Viresh Kumar
2022-07-05  7:00 ` [PATCH V2 09/13] OPP: Assert clk_count == 1 for single clk helpers Viresh Kumar
2022-07-05 17:21   ` Krzysztof Kozlowski
2022-07-06  6:39     ` Viresh Kumar
2022-07-05  7:00 ` [PATCH V2 10/13] OPP: Provide a simple implementation to configure multiple clocks Viresh Kumar
2022-07-05  7:00 ` [PATCH V2 11/13] OPP: Allow config_clks helper for single clk case Viresh Kumar
2022-07-05  7:00 ` [PATCH V2 12/13] PM / devfreq: tegra30: Register config_clks helper Viresh Kumar
2022-07-05  7:00 ` [PATCH V2 13/13] OPP: Remove dev{m}_pm_opp_of_add_table_noclk() Viresh Kumar
2022-07-07 19:43 ` [PATCH V2 00/13] OPP: Add support for multiple clocks* Dmitry Osipenko
2022-07-08  7:19   ` Viresh Kumar
2022-07-08  7:26     ` Dmitry Osipenko
2022-07-08  7:30       ` Dmitry Osipenko
2022-07-08  8:13         ` Viresh Kumar
2022-07-08  8:12       ` Viresh Kumar
2022-07-08 16:15         ` Dmitry Osipenko
2022-07-11 16:40 ` Johan Hovold
2022-07-12  7:52   ` Viresh Kumar
2022-07-12 12:25     ` Manivannan Sadhasivam
2022-07-12 14:29     ` Johan Hovold
2022-07-12 15:10       ` Viresh Kumar
2022-07-12 15:55         ` Johan Hovold
2022-07-13  6:55           ` Viresh Kumar

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.