Revert "iommu/amd: Suppress IO_PAGE_FAULTs in kdump kernel"
authorBaoquan He <bhe@redhat.com>
Wed, 9 Aug 2017 08:33:35 +0000 (16:33 +0800)
committerJoerg Roedel <jroedel@suse.de>
Tue, 15 Aug 2017 16:14:38 +0000 (18:14 +0200)
This reverts commit 54bd63570484167cb13edf81e31fff107b879981.

We still need the IO_PAGE_FAULT message to warn error after the
issue of on-flight dma in kdump kernel is fixed.

Signed-off-by: Baoquan He <bhe@redhat.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/amd_iommu.c
drivers/iommu/amd_iommu_init.c
drivers/iommu/amd_iommu_types.h

index 354cbd6..6d2fc40 100644 (file)
@@ -2086,8 +2086,7 @@ static void set_dte_entry(u16 devid, struct protection_domain *domain, bool ats)
                flags    |= tmp;
        }
 
-
-       flags &= ~(DTE_FLAG_SA | 0xffffULL);
+       flags &= ~(0xffffUL);
        flags |= domain->id;
 
        amd_iommu_dev_table[devid].data[1]  = flags;
index 277838d..7044510 100644 (file)
@@ -29,7 +29,6 @@
 #include <linux/export.h>
 #include <linux/iommu.h>
 #include <linux/kmemleak.h>
-#include <linux/crash_dump.h>
 #include <asm/pci-direct.h>
 #include <asm/iommu.h>
 #include <asm/gart.h>
@@ -1942,14 +1941,6 @@ static void init_device_table_dma(void)
        for (devid = 0; devid <= amd_iommu_last_bdf; ++devid) {
                set_dev_entry_bit(devid, DEV_ENTRY_VALID);
                set_dev_entry_bit(devid, DEV_ENTRY_TRANSLATION);
-               /*
-                * In kdump kernels in-flight DMA from the old kernel might
-                * cause IO_PAGE_FAULTs. There are no reports that a kdump
-                * actually failed because of that, so just disable fault
-                * reporting in the hardware to get rid of the messages
-                */
-               if (is_kdump_kernel())
-                       set_dev_entry_bit(devid, DEV_ENTRY_NO_PAGE_FAULT);
        }
 }
 
index 0c98b2c..db7ceb4 100644 (file)
 #define IOMMU_PTE_IW (1ULL << 62)
 
 #define DTE_FLAG_IOTLB (1ULL << 32)
-#define DTE_FLAG_SA    (1ULL << 34)
 #define DTE_FLAG_GV    (1ULL << 55)
 #define DTE_FLAG_MASK  (0x3ffULL << 32)
 #define DTE_GLX_SHIFT  (56)