• Hans Verkuil's avatar
    [media] v4l2-dev: make it possible to skip locking for selected ioctls · 8ab75e3e
    Hans Verkuil authored
    Using the V4L2 core lock is a very robust method that is usually very good
    at doing the right thing. But some drivers, particularly USB drivers, may
    want to prevent the core from taking the lock for specific ioctls, particularly
    buffer queuing ioctls.
    
    The reason is that certain commands like S_CTRL can take a long time to process
    over USB and all the time the core has the lock, preventing VIDIOC_DQBUF from
    proceeding, even though a frame may be ready in the queue.
    
    This introduces unwanted latency.
    
    Since the buffer queuing commands often have their own internal lock it is
    often not necessary to take the core lock. Drivers can now say that they don't
    want the core to take the lock for specific ioctls.
    
    As it is a specific opt-out it makes it clear to the reviewer that those
    ioctls will need more care when reviewing.
    Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
    Acked-by: default avatarHans de Goede <hdegoede@redhat.com>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
    8ab75e3e
v4l2-dev.h 6.61 KB