Loading drivers/iommu/arm-smmu.c +4 −0 Original line number Diff line number Diff line Loading @@ -4334,16 +4334,20 @@ static int __init arm_smmu_init(void) { static bool registered; int ret = 0; ktime_t cur; if (registered) return 0; cur = ktime_get(); ret = platform_driver_register(&qsmmuv500_tbu_driver); if (ret) return ret; ret = platform_driver_register(&arm_smmu_driver); registered = !ret; trace_smmu_init(ktime_us_delta(ktime_get(), cur)); return ret; } Loading include/trace/events/iommu.h +18 −0 Original line number Diff line number Diff line Loading @@ -256,6 +256,24 @@ DEFINE_EVENT(iommu_errata_tlbi, errata_failed, TP_ARGS(dev, time) ); TRACE_EVENT(smmu_init, TP_PROTO(u64 time), TP_ARGS(time), TP_STRUCT__entry( __field(u64, time) ), TP_fast_assign( __entry->time = time; ), TP_printk("ARM SMMU init latency: %lld us", __entry->time) ); #endif /* _TRACE_IOMMU_H */ /* This part must be outside protection */ Loading Loading
drivers/iommu/arm-smmu.c +4 −0 Original line number Diff line number Diff line Loading @@ -4334,16 +4334,20 @@ static int __init arm_smmu_init(void) { static bool registered; int ret = 0; ktime_t cur; if (registered) return 0; cur = ktime_get(); ret = platform_driver_register(&qsmmuv500_tbu_driver); if (ret) return ret; ret = platform_driver_register(&arm_smmu_driver); registered = !ret; trace_smmu_init(ktime_us_delta(ktime_get(), cur)); return ret; } Loading
include/trace/events/iommu.h +18 −0 Original line number Diff line number Diff line Loading @@ -256,6 +256,24 @@ DEFINE_EVENT(iommu_errata_tlbi, errata_failed, TP_ARGS(dev, time) ); TRACE_EVENT(smmu_init, TP_PROTO(u64 time), TP_ARGS(time), TP_STRUCT__entry( __field(u64, time) ), TP_fast_assign( __entry->time = time; ), TP_printk("ARM SMMU init latency: %lld us", __entry->time) ); #endif /* _TRACE_IOMMU_H */ /* This part must be outside protection */ Loading