linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/5] PM: domains: Add helpers for multi PM domains to avoid open-coding
@ 2024-01-05 16:00 Ulf Hansson
  2024-01-05 16:00 ` [PATCH v2 1/5] PM: domains: Add helper functions to attach/detach multiple PM domains Ulf Hansson
                   ` (6 more replies)
  0 siblings, 7 replies; 15+ messages in thread
From: Ulf Hansson @ 2024-01-05 16:00 UTC (permalink / raw)
  To: Rafael J . Wysocki, Greg Kroah-Hartman, Viresh Kumar, linux-pm
  Cc: Ulf Hansson, Sudeep Holla, Kevin Hilman, Konrad Dybcio,
	Bjorn Andersson, Nikunj Kela, Prasad Sodagudi, Stephan Gerhold,
	Ben Horgan, linux-kernel, linux-arm-kernel, linux-remoteproc,
	linux-media

Updates in v2:
	- Ccing Daniel Baluta and Iuliana Prodan the NXP remoteproc patches to
	requests help with testing.
	- Fixed NULL pointer bug in patch1, pointed out by Nikunj.
	- Added some tested/reviewed-by tags.


Attaching/detaching of a device to multiple PM domains has started to become a
common operation for many drivers, typically during ->probe() and ->remove().
In most cases, this has lead to lots of boilerplate code in the drivers.

This series adds a pair of helper functions to manage the attach/detach of a
device to its multiple PM domains. Moreover, a couple of drivers have been
converted to use the new helpers as a proof of concept.

Note 1)
The changes in the drivers have only been compile tested, while the helpers
have been tested along with a couple of local dummy drivers that I have hacked
up to model both genpd providers and genpd consumers.

Note 2)
I was struggling to make up mind if we should have a separate helper to attach
all available power-domains described in DT, rather than providing "NULL" to the
dev_pm_domain_attach_list(). I decided not to, but please let me know if you
prefer the other option.

Note 3)
For OPP integration, as a follow up I am striving to make the
dev_pm_opp_attach_genpd() redundant. Instead I think we should move towards
using dev_pm_opp_set_config()->_opp_set_required_devs(), which would allow us to
use the helpers that $subject series is adding.

Kind regards
Ulf Hansson


Ulf Hansson (5):
  PM: domains: Add helper functions to attach/detach multiple PM domains
  remoteproc: imx_dsp_rproc: Convert to
    dev_pm_domain_attach|detach_list()
  remoteproc: imx_rproc: Convert to dev_pm_domain_attach|detach_list()
  remoteproc: qcom_q6v5_adsp: Convert to
    dev_pm_domain_attach|detach_list()
  media: venus: Convert to dev_pm_domain_attach|detach_list() for vcodec

 drivers/base/power/common.c                   | 134 +++++++++++++++
 drivers/media/platform/qcom/venus/core.c      |  12 +-
 drivers/media/platform/qcom/venus/core.h      |   7 +-
 .../media/platform/qcom/venus/pm_helpers.c    |  48 ++----
 drivers/remoteproc/imx_dsp_rproc.c            |  82 +--------
 drivers/remoteproc/imx_rproc.c                |  73 +-------
 drivers/remoteproc/qcom_q6v5_adsp.c           | 160 ++++++++----------
 include/linux/pm_domain.h                     |  38 +++++
 8 files changed, 289 insertions(+), 265 deletions(-)

-- 
2.34.1

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

end of thread, other threads:[~2024-01-26 19:08 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-05 16:00 [PATCH v2 0/5] PM: domains: Add helpers for multi PM domains to avoid open-coding Ulf Hansson
2024-01-05 16:00 ` [PATCH v2 1/5] PM: domains: Add helper functions to attach/detach multiple PM domains Ulf Hansson
2024-01-05 16:01 ` [PATCH v2 2/5] remoteproc: imx_dsp_rproc: Convert to dev_pm_domain_attach|detach_list() Ulf Hansson
2024-01-22 17:50   ` Iuliana Prodan
2024-01-05 16:01 ` [PATCH v2 3/5] remoteproc: imx_rproc: " Ulf Hansson
2024-01-22 17:50   ` Iuliana Prodan
2024-01-22 20:02     ` Mathieu Poirier
2024-01-23  1:27       ` Mathieu Poirier
2024-01-23 12:37         ` Ulf Hansson
2024-01-05 16:01 ` [PATCH v2 4/5] remoteproc: qcom_q6v5_adsp: " Ulf Hansson
2024-01-05 16:01 ` [PATCH v2 5/5] media: venus: Convert to dev_pm_domain_attach|detach_list() for vcodec Ulf Hansson
2024-01-08  8:43 ` [PATCH v2 0/5] PM: domains: Add helpers for multi PM domains to avoid open-coding Daniel Baluta
2024-01-12 11:10   ` Ulf Hansson
2024-01-26 16:12 ` Ulf Hansson
2024-01-26 19:07   ` Greg Kroah-Hartman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).