diff options
author | Michael Grzeschik <m.grzeschik@pengutronix.de> | 2020-04-21 15:28:14 +0200 |
---|---|---|
committer | Felipe Balbi <balbi@kernel.org> | 2020-05-25 11:09:38 +0300 |
commit | 43cd0023872efbb6a86bdc03fb520de3de55c7b0 (patch) | |
tree | a021ccb119a17755c461ff41a28635f69b52a602 /drivers/usb/gadget/function/uvc_video.h | |
parent | 7edd9cba9653c7d40d7baf34c0688d669207f880 (diff) |
usb: gadget: uvc_video: add worker to handle the frame pumping
This patch changes the function uvc_video_pump to be a separate
scheduled worker. This way the completion handler of each usb request
and every direct caller of the pump has only to schedule the worker
instead of doing the request handling by itself.
Moving the request handling to one thread solves the locking problems
between the three queueing cases in the completion handler, v4l2_qbuf
and video_enable.
Many drivers handle the completion handlers directly in their interrupt
handlers. This patch also reduces the workload on each interrupt.
Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
Signed-off-by: Felipe Balbi <balbi@kernel.org>
Diffstat (limited to 'drivers/usb/gadget/function/uvc_video.h')
-rw-r--r-- | drivers/usb/gadget/function/uvc_video.h | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/drivers/usb/gadget/function/uvc_video.h b/drivers/usb/gadget/function/uvc_video.h index 3e87ac7e2c05..03adeefa343b 100644 --- a/drivers/usb/gadget/function/uvc_video.h +++ b/drivers/usb/gadget/function/uvc_video.h @@ -14,8 +14,6 @@ struct uvc_video; -int uvcg_video_pump(struct uvc_video *video); - int uvcg_video_enable(struct uvc_video *video, int enable); int uvcg_video_init(struct uvc_video *video, struct uvc_device *uvc); |