tag name | sent/resend-powersave-v2 (d6ca6bf9766eef510666704e765594891debad84) |
tag date | 2022-10-25 16:35:22 +0200 |
tagged by | Ricardo Ribalda <ribalda@chromium.org> |
tagged object | commit cf8ef0a552... |
download | linux-sent/resend-powersave-v2.tar.gz |
---|
media: uvcvideo: Implement granular power management
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@kernel.org>
Cc: linux-media@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Tomasz Figa <tfiga@chromium.org>
Cc: Alan Stern <stern@rowland.harvard.edu>
Cc: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Cc: Guenter Roeck <linux@roeck-us.net>
Cc: Max Staudt <mstaudt@google.com>
Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
---
Changes in v2:
- Make access to uvc_status contitional
- Merge with Guenter race condition patchset: https://lore.kernel.org/lkml/20200917022547.198090-1-linux@roeck-us.net/
- Link to v1: https://lore.kernel.org/r/20220920-resend-powersave-v1-0-123aa2ba3836@chromium.org
---
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,