Re: [PATCH 5/5] media: verisilicon: Flush IOMMU before decoding a frame

From: Robin Murphy
Date: Tue Jun 17 2025 - 12:17:35 EST


On 17/06/2025 5:01 pm, Benjamin Gaignard wrote:

Le 17/06/2025 à 17:58, Jason Gunthorpe a écrit :
On Mon, Jun 16, 2025 at 04:55:53PM +0200, Benjamin Gaignard wrote:
Flush the IOMMU mapping before decoding a frame to ensure that all memory
translations are properly applied.

Signed-off-by: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxxxxx>
---
  drivers/media/platform/verisilicon/hantro_drv.c | 11 +++++++++++
  1 file changed, 11 insertions(+)
This is a really big red flag.

iommu translations are supposed to be controlled by the iommu driver
and should be flushed as part of the iommu map/unmap flows. It should
never be necessary to do something like this.

I have redone tests without this patch and the decode is perform correctly.
I will drop it in the next version.
I think I have fix the reference frame management in the driver so it becomes
useless.

If it turns out the hardware does require a TLBI to guarantee new mappings are visible, though, then the correct way is to implement the iotlb_sync_map op.

Thanks,
Robin.