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:
parent
c85a9eeb3f
commit
31cff0aa7f
1 changed files with 8 additions and 1 deletions
|
@ -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");
|
||||
|
|
Loading…
Add table
Reference in a new issue