Message ID | 20241126-uvc-granpower-ng-v1-0-6312bf26549c@chromium.org (mailing list archive) |
---|---|
Headers | show |
Series | media: uvcvideo: Implement Granular Power Saving | expand |
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,
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,