• Sergey Senozhatsky's avatar
    media: videobuf2: add cache management members · 6d219986
    Sergey Senozhatsky authored
    Extend vb2_buffer and vb2_queue structs with cache management
    members.
    
    V4L2 UAPI already contains two buffer flags which user-space,
    supposedly, can use to control buffer cache sync:
    
    - V4L2_BUF_FLAG_NO_CACHE_INVALIDATE
    - V4L2_BUF_FLAG_NO_CACHE_CLEAN
    
    None of these, however, do anything at the moment. This patch
    set is intended to change it.
    
    Since user-space cache management hints are supposed to be
    implemented on a per-buffer basis we need to extend vb2_buffer
    struct with two new members ->need_cache_sync_on_prepare and
    ->need_cache_sync_on_finish, which will store corresponding
    user-space hints.
    
    In order to preserve the existing behaviour, user-space cache
    managements flags will be handled only by those drivers that
    permit user-space cache hints. That's the purpose of vb2_queue
    ->allow_cache_hints member. Driver must set ->allow_cache_hints
    during queue initialisation to enable cache management hints
    mechanism.
    Signed-off-by: default avatarSergey Senozhatsky <senozhatsky@chromium.org>
    Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
    6d219986
videobuf2-core.h 47.8 KB