summaryrefslogtreecommitdiffstats
path: root/drivers/iommu/iommu.c
diff options
context:
space:
mode:
authorShuah Khan2013-08-15 19:59:28 +0200
committerJoerg Roedel2013-09-24 12:35:26 +0200
commite0be7c867882320b65714a4386760382196dc7e8 (patch)
tree979bd58ff375bf1dbf05a380118fc33dafa129f8 /drivers/iommu/iommu.c
parentiommu: Change iommu driver to call detach_device_to_domain trace event (diff)
downloadkernel-qcow2-linux-e0be7c867882320b65714a4386760382196dc7e8.tar.gz
kernel-qcow2-linux-e0be7c867882320b65714a4386760382196dc7e8.tar.xz
kernel-qcow2-linux-e0be7c867882320b65714a4386760382196dc7e8.zip
iommu: Change iommu driver to call map trace event
Change iommu driver to call map trace event. This iommu_map_unmap class event can be enabled to trigger when iommu map iommu ops is called. Trace information includes iova, physical address (map event only), and size. Testing: Added trace calls to iommu_prepare_identity_map() for testing some of the conditions that are hard to trigger. Here is the trace from the testing: swapper/0-1 [003] .... 1.854102: map: IOMMU: iova=0x00000000cb800000 paddr=0x00000000cf9fffff size=0x400 Signed-off-by: Shuah Khan <shuah.kh@samsung.com> Signed-off-by: Joerg Roedel <joro@8bytes.org>
Diffstat (limited to 'drivers/iommu/iommu.c')
-rw-r--r--drivers/iommu/iommu.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c
index b6307545124c..ea49fe814026 100644
--- a/drivers/iommu/iommu.c
+++ b/drivers/iommu/iommu.c
@@ -842,6 +842,8 @@ int iommu_map(struct iommu_domain *domain, unsigned long iova,
/* unroll mapping in case something went wrong */
if (ret)
iommu_unmap(domain, orig_iova, orig_size - size);
+ else
+ trace_map(iova, paddr, size);
return ret;
}