Re: [RFC][PATCH 02/15] videobuf2: handle V4L2 buffer cache flags

From: Tomasz Figa
Date: Mon Jan 27 2020 - 23:36:07 EST


On Wed, Jan 22, 2020 at 11:53 AM Sergey Senozhatsky
<senozhatsky@xxxxxxxxxxxx> wrote:
>
> On (20/01/22 10:39), Sergey Senozhatsky wrote:
> > [..]
> > > > }
> > > >
> > > > +static void set_buffer_cache_hints(struct vb2_queue *q,
> > > > + struct vb2_buffer *vb,
> > > > + struct v4l2_buffer *b)
> > > > +{
> > > > + vb->need_cache_sync_on_prepare = 1;
> > > > +
> > > > + if (q->dma_dir != DMA_TO_DEVICE)
> > >
> > > What should be done when dma_dir == DMA_BIDIRECTIONAL?
> >
>
> [..]
>
> > We probably cannot enforce any other behavior here. Am I missing
> > something?
>
> Never mind. I got your point.

DMA_BIDIRECTIONAL by default needs sync on both prepare and finish.
need_cache_sync_on_prepare is initialized to 1. Since
DMA_BIDIRECTIONAL != DMA_TO_DEVICE, need_cache_sync_on_finish would
also be set to 1. Is anything still missing?