[PATCH v2 0/8] [RESEND] media: uvcvideo: Implement granular power management

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Instead of suspending/resume the USB device at open()/close(), do it
when the device is actually used.

This way we can reduce the power consumption when a service is holding
the video device and leaving it in an idle state.

And now that all the access to the hardware, has a common entry path, 
use it to fix the race conditions to hardware disconnects.

To: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>
Cc: linux-media@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Cc: Tomasz Figa <tfiga@xxxxxxxxxxxx>
Cc: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
Cc: Hans Verkuil <hverkuil-cisco@xxxxxxxxx>
Cc: Guenter Roeck <linux@xxxxxxxxxxxx>
Cc: Max Staudt <mstaudt@xxxxxxxxxx>
Signed-off-by: Ricardo Ribalda <ribalda@xxxxxxxxxxxx>
---
Changes in v2:
- Make access to uvc_status contitional
- Merge with Guenter race condition patchset: https://lore.kernel.org/lkml/20200917022547.198090-1-linux@xxxxxxxxxxxx/
- Link to v1: https://lore.kernel.org/r/20220920-resend-powersave-v1-0-123aa2ba3836@xxxxxxxxxxxx

---
Guenter Roeck (4):
      media: uvcvideo: Cancel async worker earlier
      media: uvcvideo: Lock video streams and queues while unregistering
      media: uvcvideo: Release stream queue when unregistering video device
      media: uvcvideo: Protect uvc queue file operations against disconnect

Ricardo Ribalda (4):
      media: uvcvideo: Only create input devs if hw supports it
      media: uvcvideo: Refactor streamon/streamoff
      media: uvcvideo: Do power management granularly
      media: uvcvideo: Only call status ep if hw supports it

 drivers/media/usb/uvc/uvc_ctrl.c   |  11 +-
 drivers/media/usb/uvc/uvc_driver.c |  28 +++++-
 drivers/media/usb/uvc/uvc_queue.c  |  32 +++++-
 drivers/media/usb/uvc/uvc_status.c |  34 ++++++-
 drivers/media/usb/uvc/uvc_v4l2.c   | 201 ++++++++++++++++++++++++++++++-------
 drivers/media/usb/uvc/uvcvideo.h   |   2 +
 6 files changed, 262 insertions(+), 46 deletions(-)
---
base-commit: 1a2dcbdde82e3a5f1db9b2f4c48aa1aeba534fb2
change-id: 20220920-resend-powersave-5981719ed267

Best regards,
-- 
Ricardo Ribalda <ribalda@xxxxxxxxxxxx>



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux