iommu/vt-d: Use iova over first level
authorLu Baolu <baolu.lu@linux.intel.com>
Thu, 2 Jan 2020 00:18:21 +0000 (08:18 +0800)
committerJoerg Roedel <jroedel@suse.de>
Tue, 7 Jan 2020 13:05:58 +0000 (14:05 +0100)
After we make all map/unmap paths support first level page table.
Let's turn it on if hardware supports scalable mode.

Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/intel-iommu.c

index 34e619318f64ab35969dfaac10802e7752150c13..51d60bad0b1d21384c0899b3733c46b15776ba2f 100644 (file)
@@ -1770,15 +1770,13 @@ static void free_dmar_iommu(struct intel_iommu *iommu)
 
 /*
  * Check and return whether first level is used by default for
- * DMA translation. Currently, we make it off by setting
- * first_level_support = 0, and will change it to -1 after all
- * map/unmap paths support first level page table.
+ * DMA translation.
  */
 static bool first_level_by_default(void)
 {
        struct dmar_drhd_unit *drhd;
        struct intel_iommu *iommu;
-       static int first_level_support = 0;
+       static int first_level_support = -1;
 
        if (likely(first_level_support != -1))
                return first_level_support;