On Mon, Jan 22, 2024 at 01:41:21PM +0200, Sakari Ailus wrote:
> There are two ways to opportunistically increment a device's runtime PM
> usage count, calling either pm_runtime_get_if_active() or
> pm_runtime_get_if_in_use(). The former has an argument to tell whether to
> ignore the usage count or not, and the latter simply calls the former with
> ign_usage_count set to false. The other users that want to ignore the
> usage_count will have to explitly set that argument to true which is a bit
> cumbersome.

s/explitly/explicitly/

> To make this function more practical to use, remove the ign_usage_count
> argument from the function. The main implementation is renamed as
> pm_runtime_get_conditional().
> 
> Signed-off-by: Sakari Ailus <sakari.ai...@linux.intel.com>
> Reviewed-by: Alex Elder <el...@linaro.org> # drivers/net/ipa/ipa_smp2p.c
> Reviewed-by: Laurent Pinchart <laurent.pinch...@ideasonboard.com>
> Acked-by: Takashi Iwai <ti...@suse.de> # sound/
> Reviewed-by: Jacek Lawrynowicz <jacek.lawrynow...@linux.intel.com> # 
> drivers/accel/ivpu/
> Acked-by: Rodrigo Vivi <rodrigo.v...@intel.com> # drivers/gpu/drm/i915/
> Reviewed-by: Rodrigo Vivi <rodrigo.v...@intel.com>

Acked-by: Bjorn Helgaas <bhelg...@google.com> # drivers/pci/

> -EXPORT_SYMBOL_GPL(pm_runtime_get_if_active);
> +EXPORT_SYMBOL_GPL(pm_runtime_get_conditional);

If pm_runtime_get_conditional() is exported, shouldn't it also be
documented in Documentation/power/runtime_pm.rst?

But I'm dubious about exporting it because
__intel_runtime_pm_get_if_active() is the only caller, and you end up
with the same pattern there that we have before this series in the PM
core.  Why can't intel_runtime_pm.c be updated to use
pm_runtime_get_if_active() or pm_runtime_get_if_in_use() directly, and
make pm_runtime_get_conditional() static?

> +++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
> @@ -246,7 +246,7 @@ static intel_wakeref_t 
> __intel_runtime_pm_get_if_active(struct intel_runtime_pm
>                * function, since the power state is undefined. This applies
>                * atm to the late/early system suspend/resume handlers.
>                */
> -             if (pm_runtime_get_if_active(rpm->kdev, ignore_usecount) <= 0)
> +             if (pm_runtime_get_conditional(rpm->kdev, ignore_usecount) <= 0)
>                       return 0;
>       }

Bjorn

Reply via email to