media: vb2: set cache sync hints when init buffers
authorSergey Senozhatsky <senozhatsky@chromium.org>
Mon, 30 Nov 2020 15:00:54 +0000 (16:00 +0100)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Wed, 2 Dec 2020 12:00:57 +0000 (13:00 +0100)
commitbac63f1239aceb092e94fee3ef112dbaea79b372
treeffa75fddb3c106f6efdf7ce9dc118dfb6166c483
parent45ba1c0ba3e589ad3ef0d0603c822eb27ea16563
media: vb2: set cache sync hints when init buffers

We need to set ->need_cache_sync_on_prepare and
->need_cache_sync_on_finish when we initialize vb2 buffer.

Currently these flags are set/adjusted only in V4L2's
vb2_queue_or_prepare_buf(), which means that for the code
paths that don't use V4L2 vb2 will always tell videobuf2
core to skip ->prepare() and ->finish() cache syncs/flushes.
Fix this by setting cache sync hints for new buffers; except
VB2_MEMORY_DMABUF buffers, for which DMA exporter syncs
caches.

Fixes: f5f5fa73fbfb ("media: videobuf2: handle V4L2 buffer cache flags")
Reported-by: Tomasz Figa <tfiga@chromium.org>
Signed-off-by: Sergey Senozhatsky <senozhatsky@chromium.org>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/common/videobuf2/videobuf2-core.c