Re: [PATCH 1/4] dt-bindings: media: qcom,sc7280-venus: Add dma-coherent property
Krzysztof Kozlowski <[email protected]>
| Newsgroups | org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel,org.kernel.vger.linux-media,org.kernel.vger.stable |
|---|---|
| Message-ID | <20260813-prompt-peculiar-chimera-7d7dab@quoll> |
On Sat, Aug 01, 2026 at 01:07:27PM +0530, Vishnu Reddy wrote: > While testing with some higher resolution clips, the venus hardware > triggers a fault due to wrong input data being received. Corruption > was also observed in the captured output when the client dumped it > to a file. > > On debugging, this was traced to the venus node not declaring > dma-coherent. As a result, DMA buffers shared between the CPU and the > venus video hardware/controller are not guaranteed to be I/O coherent: > CPU writes to an input buffer can remain in CPU caches without being > visible to the video hardware when it reads the same buffer, so the > hardware receives input data that does not match what the CPU wrote. > Likewise, on the capture path, data written by the video hardware to > the output buffer may not be visible to the CPU, so the client reads > stale or partial data, resulting in corruption. > > Add the dma-coherent property to the venus node so that DMA buffers > shared between the CPU and the video hardware and controller remain > coherent. This is confusing - dma-coherent saves you from syncing the buffers, so how could it solve the issue? You basically skip certain cache sync operations, not add them. Best regards, Krzysztof