Re: [PATCH 0/9] media: uvcvideo: Implement Granular Power Saving

From: Hans de Goede
Date: Mon Dec 02 2024 - 07:20:55 EST


Hi Ricardo,

On 26-Nov-24 5:18 PM, Ricardo Ribalda wrote:
> 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.

Thank you for your patch series. For now lets focus on fixing the
async-controls ctrl->handle setting / dangling ptr issue and then
we can look into the rest of this later (after we have also landed
the privacy GPIO and UVC 1.5 ROi series).

Regards,

Hans




> ---
> 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,