From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Sakari Ailus <sakari.ailus@linux.intel.com>
Cc: linux-acpi@vger.kernel.org, linux-media@vger.kernel.org,
rafael@kernel.org, jacopo.mondi@ideasonboard.com
Subject: Re: [PATCH v2 2/7] pm: runtime: Add pm_runtime_put_mark_busy_autosusp() helper
Date: Sat, 18 Nov 2023 19:49:03 +0200 [thread overview]
Message-ID: <20231118174903.GF20846@pendragon.ideasonboard.com> (raw)
In-Reply-To: <20231117111433.1561669-3-sakari.ailus@linux.intel.com>
Hi Sakari,
Thank you for the patch.
On Fri, Nov 17, 2023 at 01:14:28PM +0200, Sakari Ailus wrote:
> Add pm_runtime_put_mark_busy_autosusp() helper function for users that
> wish to set the last_busy timestamp to current time and put the
> usage_count of the device and set the autosuspend timer.
>
> Essentially calling pm_runtime_suspend_mark_busy_autosusp() equal to
> calling first pm_runtime_mark_last_busy() and then
> pm_runtime_put_autosuspend().
The vast majority if the pm_runtime_put_autosuspend() users call
pm_runtime_mark_last_busy() right before. Let's make the
pm_runtime_put_autosuspend() function do that by default, and add a
__pm_runtime_put_autosuspend() (name to be bikshedded) for the minority
of cases where updating the last busy timestamp isn't desired. We want
to simplify the API, not make it more complex.
> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
> ---
> include/linux/pm_runtime.h | 17 +++++++++++++++++
> 1 file changed, 17 insertions(+)
>
> diff --git a/include/linux/pm_runtime.h b/include/linux/pm_runtime.h
> index 13cd526634c1..4afe7b0b9d7e 100644
> --- a/include/linux/pm_runtime.h
> +++ b/include/linux/pm_runtime.h
> @@ -495,6 +495,23 @@ static inline int pm_runtime_put_autosuspend(struct device *dev)
> RPM_GET_PUT | RPM_ASYNC | RPM_AUTO);
> }
>
> +/**
> + * pm_runtime_put_mark_busy_autosusp - Update the last access time of a device
> + * and drop device usage counter and queue
> + * autosuspend if 0.
> + * @dev: Target device.
> + *
> + * Update the last access time of @dev using pm_runtime_mark_last_busy(), then
> + * decrement the runtime PM usage counter of @dev and if it turns out to be
> + * equal to 0, queue up a work item for @dev like in pm_request_autosuspend().
> + */
> +static inline int pm_runtime_put_mark_busy_autosusp(struct device *dev)
> +{
> + pm_runtime_mark_last_busy(dev);
> +
> + return pm_runtime_autosuspend(dev);
> +}
> +
> /**
> * pm_runtime_put_sync - Drop device usage counter and run "idle check" if 0.
> * @dev: Target device.
--
Regards,
Laurent Pinchart
next prev parent reply other threads:[~2023-11-18 17:48 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-17 11:14 [PATCH v2 0/7] Small Runtime PM API changes Sakari Ailus
2023-11-17 11:14 ` [PATCH v2 1/7] pm: runtime: Simplify pm_runtime_get_if_active() usage Sakari Ailus
2023-11-18 17:46 ` Laurent Pinchart
2023-11-17 11:14 ` [PATCH v2 2/7] pm: runtime: Add pm_runtime_put_mark_busy_autosusp() helper Sakari Ailus
2023-11-18 17:49 ` Laurent Pinchart [this message]
2023-11-18 21:20 ` Rafael J. Wysocki
2023-11-18 21:30 ` Laurent Pinchart
2023-11-20 9:27 ` Sakari Ailus
2023-11-20 9:47 ` Laurent Pinchart
2023-11-21 8:41 ` Sakari Ailus
2023-11-21 8:50 ` Laurent Pinchart
2023-11-21 10:00 ` Sakari Ailus
2023-11-17 11:14 ` [PATCH v2 3/7] ACPI: Documentation: Document acpi_dev_state_d0() Sakari Ailus
2023-11-18 18:50 ` Laurent Pinchart
2023-11-20 9:31 ` Sakari Ailus
2023-11-20 12:52 ` Rafael J. Wysocki
2023-11-20 20:03 ` Sakari Ailus
2023-11-20 20:22 ` Rafael J. Wysocki
2023-11-20 20:53 ` Sakari Ailus
2023-11-17 11:14 ` [PATCH v2 4/7] media: Documentation: Improve camera sensor runtime PM documentation Sakari Ailus
2023-11-18 18:49 ` Laurent Pinchart
2023-11-17 11:14 ` [PATCH v2 5/7] media: ov8858: Use pm_runtime_get_if_active(), put usage_count correctly Sakari Ailus
2023-11-17 15:30 ` Jacopo Mondi
2023-11-18 11:12 ` Sakari Ailus
2023-11-18 17:33 ` Laurent Pinchart
2023-11-20 8:31 ` Sakari Ailus
2023-11-18 8:42 ` kernel test robot
2023-11-17 11:14 ` [PATCH v2 6/7] media: imx319: Put usage_count correctly in s_ctrl callback Sakari Ailus
2023-11-18 18:52 ` Laurent Pinchart
2023-11-20 9:32 ` Sakari Ailus
2023-11-20 9:45 ` Laurent Pinchart
2023-11-21 8:18 ` Sakari Ailus
2023-11-21 8:25 ` Laurent Pinchart
2023-11-21 8:44 ` Sakari Ailus
2023-11-17 11:14 ` [PATCH v2 7/7] media: imx219: " Sakari Ailus
2023-11-17 14:20 ` Dave Stevenson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20231118174903.GF20846@pendragon.ideasonboard.com \
--to=laurent.pinchart@ideasonboard.com \
--cc=jacopo.mondi@ideasonboard.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=rafael@kernel.org \
--cc=sakari.ailus@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.