]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
iommu/vt-d: Remove unnecassary qi clflushes
authorNadav Amit <namit@vmware.com>
Fri, 24 Jun 2016 13:13:14 +0000 (06:13 -0700)
committerJoerg Roedel <jroedel@suse.de>
Wed, 13 Jul 2016 10:06:35 +0000 (12:06 +0200)
According to the manual: "Hardware access to ...  invalidation queue ...
are always coherent."

Remove unnecassary clflushes accordingly.

Signed-off-by: Nadav Amit <namit@vmware.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/dmar.c

index 2eff7b6c6c98f673864e101531656b9ddc7574fd..1344e29acd861a43490851c7f3eeb3717c924115 100644 (file)
@@ -1167,8 +1167,6 @@ static int qi_check_fault(struct intel_iommu *iommu, int index)
                                (unsigned long long)qi->desc[index].high);
                        memcpy(&qi->desc[index], &qi->desc[wait_index],
                                        sizeof(struct qi_desc));
-                       __iommu_flush_cache(iommu, &qi->desc[index],
-                                       sizeof(struct qi_desc));
                        writel(DMA_FSTS_IQE, iommu->reg + DMAR_FSTS_REG);
                        return -EINVAL;
                }
@@ -1243,9 +1241,6 @@ restart:
 
        hw[wait_index] = wait_desc;
 
-       __iommu_flush_cache(iommu, &hw[index], sizeof(struct qi_desc));
-       __iommu_flush_cache(iommu, &hw[wait_index], sizeof(struct qi_desc));
-
        qi->free_head = (qi->free_head + 2) % QI_LENGTH;
        qi->free_cnt -= 2;