Hi Lucas, On Fri, 26 Jan 2024 at 17:00, Lucas Stach <l.stach@xxxxxxxxxxxxxx> wrote: > The dma sync operation needs to be done with DMA_BIDIRECTIONAL when > the BO is prepared for both read and write operations. With the > current inverted if ladder it would only be synced for DMA_FROM_DEVICE. > > [...] > > static inline enum dma_data_direction etnaviv_op_to_dma_dir(u32 op) > { > - if (op & ETNA_PREP_READ) > + if (op & (ETNA_PREP_READ | ETNA_PREP_WRITE)) > + return DMA_BIDIRECTIONAL; This test will always be true for _either_ read or write. Cheers, Daniel