• Michael Grzeschik's avatar
    usb: gadget: uvc_video: add worker to handle the frame pumping · 43cd0023
    Michael Grzeschik authored
    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: default avatarMichael Grzeschik <m.grzeschik@pengutronix.de>
    Signed-off-by: default avatarFelipe Balbi <balbi@kernel.org>
    43cd0023
uvc_video.c 8.07 KB