On Tue, 7 May 2024 at 18:15, Bryan O'Donoghue bryan.odonoghue@linaro.org wrote:
On 07/05/2024 16:09, Dmitry Baryshkov wrote:
Ah, I see. Then why do you require the DMA-ble buffer at all? If you are providing data to VPU or DRM, then you should be able to get the buffer from the data-consuming device.
Because we don't necessarily know what the consuming device is, if any.
Could be VPU, could be Zoom/Hangouts via pipewire, could for argument sake be GPU or DSP.
Also if we introduce a dependency on another device to allocate the output buffers - say always taking the output buffer from the GPU, then we've added another dependency which is more difficult to guarantee across different arches.
Yes. And it should be expected. It's a consumer who knows the restrictions on the buffer. As I wrote, Zoom/Hangouts should not require a DMA buffer at all. Applications should be able to allocate the buffer out of the generic memory. GPUs might also have different requirements. Consider GPUs with VRAM. It might be beneficial to allocate a buffer out of VRAM rather than generic DMA mem.