mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 0/9] media: uvcvideo: Implement Granular Power Saving
@ 2024-11-26 16:18 Ricardo Ribalda
  2024-11-26 16:18 ` [PATCH 1/9] media: uvcvideo: Do not set an async control owned by other fh Ricardo Ribalda
                   ` (9 more replies)
  0 siblings, 10 replies; 12+ messages in thread
From: Ricardo Ribalda @ 2024-11-26 16:18 UTC (permalink / raw)
  To: Laurent Pinchart, Hans de Goede, Mauro Carvalho Chehab,
	Guennadi Liakhovetski
  Cc: linux-media, linux-kernel, Mauro Carvalho Chehab,
	Ricardo Ribalda, stable

Right now we power-up the device when a user open() the device and we
power it off when the last user close() the first video node.

This behaviour affects the power consumption of the device is multiple
use cases, such as:
- Polling the privacy gpio
- udev probing the device

This patchset introduces a more granular power saving behaviour where
the camera is only awaken when needed. It is compatible with
asynchronous controls.

While developing this patchset, two bugs were found. The patchset has
been developed so these fixes can be taken independently.

Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
---
Ricardo Ribalda (9):
      media: uvcvideo: Do not set an async control owned by other fh
      media: uvcvideo: Remove dangling pointers
      media: uvcvideo: Keep streaming state in the file handle
      media: uvcvideo: Move usb_autopm_(get|put)_interface to status_get
      media: uvcvideo: Add a uvc_status guard
      media: uvcvideo: Increase/decrease the PM counter per IOCTL
      media: uvcvideo: Make power management granular
      media: uvcvideo: Do not turn on the camera for some ioctls
      media: uvcvideo: Remove duplicated cap/out code

 drivers/media/usb/uvc/uvc_ctrl.c   |  52 +++++++++-
 drivers/media/usb/uvc/uvc_status.c |  38 +++++++-
 drivers/media/usb/uvc/uvc_v4l2.c   | 190 +++++++++++++++----------------------
 drivers/media/usb/uvc/uvcvideo.h   |   6 ++
 4 files changed, 166 insertions(+), 120 deletions(-)
---
base-commit: 72ad4ff638047bbbdf3232178fea4bec1f429319
change-id: 20241126-uvc-granpower-ng-069185a6d474

Best regards,
-- 
Ricardo Ribalda <ribalda@chromium.org>


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

end of thread, other threads:[~2024-12-02 12:10 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-11-26 16:18 [PATCH 0/9] media: uvcvideo: Implement Granular Power Saving Ricardo Ribalda
2024-11-26 16:18 ` [PATCH 1/9] media: uvcvideo: Do not set an async control owned by other fh Ricardo Ribalda
2024-11-26 16:18 ` [PATCH 2/9] media: uvcvideo: Remove dangling pointers Ricardo Ribalda
2024-11-27  7:26   ` Ricardo Ribalda
2024-11-26 16:18 ` [PATCH 3/9] media: uvcvideo: Keep streaming state in the file handle Ricardo Ribalda
2024-11-26 16:18 ` [PATCH 4/9] media: uvcvideo: Move usb_autopm_(get|put)_interface to status_get Ricardo Ribalda
2024-11-26 16:18 ` [PATCH 5/9] media: uvcvideo: Add a uvc_status guard Ricardo Ribalda
2024-11-26 16:18 ` [PATCH 6/9] media: uvcvideo: Increase/decrease the PM counter per IOCTL Ricardo Ribalda
2024-11-26 16:18 ` [PATCH 7/9] media: uvcvideo: Make power management granular Ricardo Ribalda
2024-11-26 16:18 ` [PATCH 8/9] media: uvcvideo: Do not turn on the camera for some ioctls Ricardo Ribalda
2024-11-26 16:18 ` [PATCH 9/9] media: uvcvideo: Remove duplicated cap/out code Ricardo Ribalda
2024-12-02 12:10 ` [PATCH 0/9] media: uvcvideo: Implement Granular Power Saving Hans de Goede

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®