diff --git a/drivers/iommu/iommu-debug.c b/drivers/iommu/iommu-debug.c index 1f9ba3156c33..f6f135c4354f 100644 --- a/drivers/iommu/iommu-debug.c +++ b/drivers/iommu/iommu-debug.c @@ -420,7 +420,7 @@ static void iommu_debug_device_profiling(struct seq_file *s, struct device *dev) struct bus_type *bus; unsigned long iova = 0x10000; phys_addr_t paddr = 0xa000; - int htw_disable = 1; + int htw_disable = 1, atomic_domain = 1; bus = msm_iommu_get_bus(dev); if (!bus) @@ -438,6 +438,13 @@ static void iommu_debug_device_profiling(struct seq_file *s, struct device *dev) goto out_domain_free; } + if (iommu_domain_set_attr(domain, DOMAIN_ATTR_ATOMIC, + &atomic_domain)) { + seq_printf(s, "Couldn't set atomic_domain to %d\n", + atomic_domain); + goto out_domain_free; + } + if (iommu_attach_device(domain, dev)) { seq_puts(s, "Couldn't attach new domain to device. Is it already attached?\n");