OSDN Git Service

iommu/mediatek: Reduce the tlb flush timeout value
authorYong Wu <yong.wu@mediatek.com>
Mon, 4 Nov 2019 07:01:08 +0000 (15:01 +0800)
committerJoerg Roedel <jroedel@suse.de>
Mon, 11 Nov 2019 14:02:34 +0000 (15:02 +0100)
Reduce the tlb timeout value from 100000us to 1000us. The original value
would make the kernel stuck for 100 ms with interrupts disabled, which
could have other side effects. The flush is expected to always take much
less than 1 ms, so use that instead.

Signed-off-by: Yong Wu <yong.wu@mediatek.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/mtk_iommu.c

index c2b7ed5..8ca2e99 100644 (file)
@@ -192,7 +192,7 @@ static void mtk_iommu_tlb_flush_range_sync(unsigned long iova, size_t size,
 
                /* tlb sync */
                ret = readl_poll_timeout_atomic(data->base + REG_MMU_CPE_DONE,
-                                               tmp, tmp != 0, 10, 100000);
+                                               tmp, tmp != 0, 10, 1000);
                if (ret) {
                        dev_warn(data->dev,
                                 "Partial TLB flush timed out, falling back to full flush\n");