Commit e24e0630 authored by Sakari Ailus's avatar Sakari Ailus Committed by Rafael J. Wysocki
Browse files

PM: runtime: Mark last busy stamp in pm_runtime_put_sync_autosuspend()



Set device's last busy timestamp to current time in
pm_runtime_put_sync_autosuspend().

Signed-off-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
Reviewed-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Link: https://patch.msgid.link/20250616061212.2286741-4-sakari.ailus@linux.intel.com


Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent b3db492e
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -428,7 +428,8 @@ drivers/base/power/runtime.c and include/linux/pm_runtime.h:
      pm_runtime_suspend(dev) and return its result

  `int pm_runtime_put_sync_autosuspend(struct device *dev);`
    - decrement the device's usage counter; if the result is 0 then run
    - set the power.last_busy field to the current time and decrement the
      device's usage counter; if the result is 0 then run
      pm_runtime_autosuspend(dev) and return its result

  `void pm_runtime_enable(struct device *dev);`
+7 −4
Original line number Diff line number Diff line
@@ -651,12 +651,14 @@ static inline int pm_runtime_put_sync_suspend(struct device *dev)
}

/**
 * pm_runtime_put_sync_autosuspend - Drop device usage counter and autosuspend if 0.
 * pm_runtime_put_sync_autosuspend - Update the last access time of a device,
 * drop device usage counter and autosuspend if 0.
 * @dev: Target device.
 *
 * Decrement the runtime PM usage counter of @dev and if it turns out to be
 * equal to 0, set up autosuspend of @dev or suspend it synchronously (depending
 * on whether or not autosuspend has been enabled for it).
 * Update the last access time of @dev, decrement the runtime PM usage counter
 * of @dev and if it turns out to be equal to 0, set up autosuspend of @dev or
 * suspend it synchronously (depending on whether or not autosuspend has been
 * enabled for it).
 *
 * The runtime PM usage counter of @dev remains decremented in all cases, even
 * if it returns an error code.
@@ -676,6 +678,7 @@ static inline int pm_runtime_put_sync_suspend(struct device *dev)
 */
static inline int pm_runtime_put_sync_autosuspend(struct device *dev)
{
	pm_runtime_mark_last_busy(dev);
	return __pm_runtime_suspend(dev, RPM_GET_PUT | RPM_AUTO);
}