On Tue, Nov 16, 2021 at 10:22:36AM +0900, Sergey Senozhatsky wrote:
On (21/11/15 17:55), Greg Kroah-Hartman wrote:
From: Sergey Senozhatsky senozhatsky@chromium.org
[ Upstream commit a4b83deb3e76fb9385ca58e2c072a145b3a320d6 ]
With the new DMA API we need an extension of the videobuf2 API. Previously, videobuf2 core would set the non-coherent DMA bit in the vb2_queue dma_attr field (if user-space would pass a corresponding memory hint); the vb2 core then would pass the vb2_queue dma_attrs to the vb2 allocators. The vb2 allocator would use the queue's dma_attr and the DMA API would allocate either coherent or non-coherent memory.
But we cannot do this anymore, since there is no corresponding DMA attr flag and, hence, there is no way for the allocator to become aware of what type of allocation user-space has requested. So we need to pass more context from videobuf2 core to the allocators.
Fix this by changing the call_ptr_memop() macro to pass the vb2 pointer to the corresponding op callbacks.
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 Signed-off-by: Sasha Levin sashal@kernel.org
Hello Greg, Sasha,
This patch needs two fix up patches to be applied.
The first one is in Linus's tree (media: videobuf2: always set buffer vb2 pointer) 67f85135c57c8ea20b5417b28ae65e53dc2ec2c3
Now applied, thanks.
The second one isn't yet (media: videobuf2-dma-sg: Fix buf->vb NULL pointer dereference) https://lore.kernel.org/all/20211101145355.533704-1-hdegoede@redhat.com/raw
I've grabbed this from linux-next now.
thanks,
greg k-h