iommu/iommu-debug: Set DOMAIN_ATTR_ATOMIC during profiling

There's some non-deterministic latency incurred by enabling clocks and
regulators.  Clocks and regulators are left on for atomic domains, which
makes them a good choice for profiling the page table management code.
Use an atomic domain for map/unmap profiling to make things more
deterministic.

Change-Id: Ib9fa48699c9d6009dd3f3b322002e2fb0f2ff99c
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
This commit is contained in:
Mitchel Humpherys 2015-08-28 10:51:24 -07:00 committed by David Keitel
parent c85a9eeb3f
commit 31cff0aa7f

View file

@ -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");