iommu/vt-d: Don't store SIRTP request
[firefly-linux-kernel-4.4.55.git] / drivers / iommu / intel_irq_remapping.c
index 0df41f6264f50f3e70ef9adebeae32a3658658eb..a872874c2565493fe141a08c1a072def5344631d 100644 (file)
@@ -438,8 +438,7 @@ static void iommu_set_irq_remapping(struct intel_iommu *iommu, int mode)
                    (addr) | IR_X2APIC_MODE(mode) | INTR_REMAP_TABLE_REG_SIZE);
 
        /* Set interrupt-remapping table pointer */
-       iommu->gcmd |= DMA_GCMD_SIRTP;
-       writel(iommu->gcmd, iommu->reg + DMAR_GCMD_REG);
+       writel(iommu->gcmd | DMA_GCMD_SIRTP, iommu->reg + DMAR_GCMD_REG);
 
        IOMMU_WAIT_OP(iommu, DMAR_GSTS_REG,
                      readl, (sts & DMA_GSTS_IRTPS), sts);