mbox series

[v2,0/2] Small runtime PM API changes

Message ID 20240110122356.142997-1-sakari.ailus@linux.intel.com
Headers show
Series Small runtime PM API changes | expand

Message

Sakari Ailus Jan. 10, 2024, 12:23 p.m. UTC
Hi folks,

Here's a small but a different set of patches for making two relatively
minor changes to runtime PM API. I restarted version numbering as this is
meaningfully different from the previous set.

pm_runtime_get_if_active() loses its second argument as it only made sense
to have ign_usage_count argument true.

The other change is also small but it has an effect on callers:
pm_runtime_put_autosuspend() will, in the future, be re-purposed to
include a call to pm_runtime_mark_last_busy() as well. Before this,
current users of the function are moved to __pm_runtime_put_autosuspend()
(added by this patchset) which will continue to have the current
behaviour.

I haven't included the conversion patches in this set as I only want to do
that once this set has been approved and merged. The tree specific patches
can be found here, on linux-next master (there are some V4L2 patches
there, too, please ignore them for now):
<URL:https://git.kernel.org/pub/scm/linux/kernel/git/sailus/linux-next.git/log/?h=pm>

Later on, users calling pm_runtime_mark_last_busy() immediately followed
by __pm_runtime_put_autosuspend() will be switched back to
pm_runtime_put_autosuspend() once its behaviour change has been done (a
patch near top of that branch). I'll provide these once the preceding ones
have been merged.

Comments are welcome.

since v1:

- patch 1: Rename __pm_runtime_get_conditional() as
  pm_runtime_get_conditional().

- patch 1: Reword documentation on driver use of
  pm_runtime_get_conditional().

Sakari Ailus (2):
  pm: runtime: Simplify pm_runtime_get_if_active() usage
  pm: runtime: Add pm_runtime_put_autosuspend() replacement

 Documentation/power/runtime_pm.rst      | 22 ++++++++-----
 drivers/accel/ivpu/ivpu_pm.c            |  2 +-
 drivers/base/power/runtime.c            | 10 ++++--
 drivers/gpu/drm/i915/intel_runtime_pm.c |  2 +-
 drivers/gpu/drm/xe/xe_pm.c              |  2 +-
 drivers/media/i2c/ccs/ccs-core.c        |  2 +-
 drivers/media/i2c/ov64a40.c             |  2 +-
 drivers/media/i2c/thp7312.c             |  2 +-
 drivers/net/ipa/ipa_smp2p.c             |  2 +-
 drivers/pci/pci.c                       |  2 +-
 include/linux/pm_runtime.h              | 44 ++++++++++++++++++++++---
 sound/hda/hdac_device.c                 |  2 +-
 12 files changed, 68 insertions(+), 26 deletions(-)

Comments

Sakari Ailus Jan. 11, 2024, 10:05 a.m. UTC | #1
Hi Rafael,

On Wed, Jan 10, 2024 at 03:28:58PM +0100, Rafael J. Wysocki wrote:
> On Wed, Jan 10, 2024 at 1:24 PM Sakari Ailus
> <sakari.ailus@linux.intel.com> wrote:
> >
> > Hi folks,
> >
> > Here's a small but a different set of patches for making two relatively
> > minor changes to runtime PM API. I restarted version numbering as this is
> > meaningfully different from the previous set.
> >
> > pm_runtime_get_if_active() loses its second argument as it only made sense
> > to have ign_usage_count argument true.
> >
> > The other change is also small but it has an effect on callers:
> > pm_runtime_put_autosuspend() will, in the future, be re-purposed to
> > include a call to pm_runtime_mark_last_busy() as well. Before this,
> > current users of the function are moved to __pm_runtime_put_autosuspend()
> > (added by this patchset) which will continue to have the current
> > behaviour.
> >
> > I haven't included the conversion patches in this set as I only want to do
> > that once this set has been approved and merged. The tree specific patches
> > can be found here, on linux-next master (there are some V4L2 patches
> > there, too, please ignore them for now):
> > <URL:https://git.kernel.org/pub/scm/linux/kernel/git/sailus/linux-next.git/log/?h=pm>
> >
> > Later on, users calling pm_runtime_mark_last_busy() immediately followed
> > by __pm_runtime_put_autosuspend() will be switched back to
> > pm_runtime_put_autosuspend() once its behaviour change has been done (a
> > patch near top of that branch). I'll provide these once the preceding ones
> > have been merged.
> >
> > Comments are welcome.
> >
> > since v1:
> >
> > - patch 1: Rename __pm_runtime_get_conditional() as
> >   pm_runtime_get_conditional().
> >
> > - patch 1: Reword documentation on driver use of
> >   pm_runtime_get_conditional().
> >
> > Sakari Ailus (2):
> >   pm: runtime: Simplify pm_runtime_get_if_active() usage
> >   pm: runtime: Add pm_runtime_put_autosuspend() replacement
> >
> >  Documentation/power/runtime_pm.rst      | 22 ++++++++-----
> >  drivers/accel/ivpu/ivpu_pm.c            |  2 +-
> >  drivers/base/power/runtime.c            | 10 ++++--
> >  drivers/gpu/drm/i915/intel_runtime_pm.c |  2 +-
> >  drivers/gpu/drm/xe/xe_pm.c              |  2 +-
> >  drivers/media/i2c/ccs/ccs-core.c        |  2 +-
> >  drivers/media/i2c/ov64a40.c             |  2 +-
> >  drivers/media/i2c/thp7312.c             |  2 +-
> >  drivers/net/ipa/ipa_smp2p.c             |  2 +-
> >  drivers/pci/pci.c                       |  2 +-
> >  include/linux/pm_runtime.h              | 44 ++++++++++++++++++++++---
> >  sound/hda/hdac_device.c                 |  2 +-
> >  12 files changed, 68 insertions(+), 26 deletions(-)
> >
> > --
> 
> All of this LGTM, but it touches multiple pieces that are all in-flux
> now, so can you please rebase it on something more consistent like
> 6.8-rc1 (when it's out) and resend with all of the tags received?

Thanks, I'll send v2 when rc1 is out.