[PATCH 0/2] iommu/mediatek: fix tlb flush logic
From: Dafna Hirschfeld
Date: Mon Nov 22 2021 - 05:44:25 EST
Often devices allocate dma buffers before they do
runtime pm resume. This is the case for example with v4l2
devices where buffers are allocated during 'VIDIOC_REQBUFS`
and runtime resume happens later usually during 'VIDIOC_STREAMON'.
In such cases the partial tlb flush when allocating will fail
since the the iommu is runtime suspended. This will print a warning
and try to do full flush. But there is actually no need to flush
the tlb before the consumer device is turned on.
Fix the warning by skipping parital flush when allocating and instead
do full flash in runtime resume
This patchset is a combination of a patch already sent in a different
patchset: [1] and a warning fix from Sebastian Reichel
[1] https://lore.kernel.org/linux-devicetree/20210923115840.17813-13-yong.wu@xxxxxxxxxxxx/
Sebastian Reichel (1):
iommu/mediatek: always check runtime PM status in tlb flush range
callback
Yong Wu (1):
iommu/mediatek: Always tlb_flush_all when each PM resume
drivers/iommu/mtk_iommu.c | 17 ++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)
--
2.17.1