Loading drivers/iommu/arm-smmu.c +5 −5 Original line number Diff line number Diff line Loading @@ -4453,18 +4453,18 @@ static void __qsmmuv500_errata1_tlbiall(struct arm_smmu_domain *smmu_domain) if (readl_poll_timeout_atomic(base + ARM_SMMU_CB_TLBSTATUS, val, !(val & TLBSTATUS_SACTIVE), 0, 100)) { cur = ktime_get(); trace_errata_throttle_start(dev, 0); trace_tlbi_throttle_start(dev, 0); msm_bus_noc_throttle_wa(true); if (readl_poll_timeout_atomic(base + ARM_SMMU_CB_TLBSTATUS, val, !(val & TLBSTATUS_SACTIVE), 0, 10000)) { dev_err(smmu->dev, "ERRATA1 TLBSYNC timeout"); trace_errata_failed(dev, 0); trace_tlbsync_timeout(dev, 0); } msm_bus_noc_throttle_wa(false); trace_errata_throttle_end( trace_tlbi_throttle_end( dev, ktime_us_delta(ktime_get(), cur)); } } Loading @@ -4481,7 +4481,7 @@ static void qsmmuv500_errata1_tlb_inv_context(void *cookie) bool errata; cur = ktime_get(); trace_errata_tlbi_start(dev, 0); trace_tlbi_start(dev, 0); errata = qsmmuv500_errata1_required(smmu_domain, data); remote_spin_lock_irqsave(&data->errata1_lock, flags); Loading @@ -4500,7 +4500,7 @@ static void qsmmuv500_errata1_tlb_inv_context(void *cookie) } remote_spin_unlock_irqrestore(&data->errata1_lock, flags); trace_errata_tlbi_end(dev, ktime_us_delta(ktime_get(), cur)); trace_tlbi_end(dev, ktime_us_delta(ktime_get(), cur)); } static struct iommu_gather_ops qsmmuv500_errata1_smmu_gather_ops = { Loading include/trace/events/iommu.h +6 −6 Original line number Diff line number Diff line Loading @@ -201,7 +201,7 @@ DEFINE_EVENT(iommu_error, io_page_fault, TP_ARGS(dev, iova, flags) ); DECLARE_EVENT_CLASS(iommu_errata_tlbi, DECLARE_EVENT_CLASS(iommu_tlbi, TP_PROTO(struct device *dev, u64 time), Loading @@ -222,35 +222,35 @@ DECLARE_EVENT_CLASS(iommu_errata_tlbi, ) ); DEFINE_EVENT(iommu_errata_tlbi, errata_tlbi_start, DEFINE_EVENT(iommu_tlbi, tlbi_start, TP_PROTO(struct device *dev, u64 time), TP_ARGS(dev, time) ); DEFINE_EVENT(iommu_errata_tlbi, errata_tlbi_end, DEFINE_EVENT(iommu_tlbi, tlbi_end, TP_PROTO(struct device *dev, u64 time), TP_ARGS(dev, time) ); DEFINE_EVENT(iommu_errata_tlbi, errata_throttle_start, DEFINE_EVENT(iommu_tlbi, tlbi_throttle_start, TP_PROTO(struct device *dev, u64 time), TP_ARGS(dev, time) ); DEFINE_EVENT(iommu_errata_tlbi, errata_throttle_end, DEFINE_EVENT(iommu_tlbi, tlbi_throttle_end, TP_PROTO(struct device *dev, u64 time), TP_ARGS(dev, time) ); DEFINE_EVENT(iommu_errata_tlbi, errata_failed, DEFINE_EVENT(iommu_tlbi, tlbsync_timeout, TP_PROTO(struct device *dev, u64 time), Loading Loading
drivers/iommu/arm-smmu.c +5 −5 Original line number Diff line number Diff line Loading @@ -4453,18 +4453,18 @@ static void __qsmmuv500_errata1_tlbiall(struct arm_smmu_domain *smmu_domain) if (readl_poll_timeout_atomic(base + ARM_SMMU_CB_TLBSTATUS, val, !(val & TLBSTATUS_SACTIVE), 0, 100)) { cur = ktime_get(); trace_errata_throttle_start(dev, 0); trace_tlbi_throttle_start(dev, 0); msm_bus_noc_throttle_wa(true); if (readl_poll_timeout_atomic(base + ARM_SMMU_CB_TLBSTATUS, val, !(val & TLBSTATUS_SACTIVE), 0, 10000)) { dev_err(smmu->dev, "ERRATA1 TLBSYNC timeout"); trace_errata_failed(dev, 0); trace_tlbsync_timeout(dev, 0); } msm_bus_noc_throttle_wa(false); trace_errata_throttle_end( trace_tlbi_throttle_end( dev, ktime_us_delta(ktime_get(), cur)); } } Loading @@ -4481,7 +4481,7 @@ static void qsmmuv500_errata1_tlb_inv_context(void *cookie) bool errata; cur = ktime_get(); trace_errata_tlbi_start(dev, 0); trace_tlbi_start(dev, 0); errata = qsmmuv500_errata1_required(smmu_domain, data); remote_spin_lock_irqsave(&data->errata1_lock, flags); Loading @@ -4500,7 +4500,7 @@ static void qsmmuv500_errata1_tlb_inv_context(void *cookie) } remote_spin_unlock_irqrestore(&data->errata1_lock, flags); trace_errata_tlbi_end(dev, ktime_us_delta(ktime_get(), cur)); trace_tlbi_end(dev, ktime_us_delta(ktime_get(), cur)); } static struct iommu_gather_ops qsmmuv500_errata1_smmu_gather_ops = { Loading
include/trace/events/iommu.h +6 −6 Original line number Diff line number Diff line Loading @@ -201,7 +201,7 @@ DEFINE_EVENT(iommu_error, io_page_fault, TP_ARGS(dev, iova, flags) ); DECLARE_EVENT_CLASS(iommu_errata_tlbi, DECLARE_EVENT_CLASS(iommu_tlbi, TP_PROTO(struct device *dev, u64 time), Loading @@ -222,35 +222,35 @@ DECLARE_EVENT_CLASS(iommu_errata_tlbi, ) ); DEFINE_EVENT(iommu_errata_tlbi, errata_tlbi_start, DEFINE_EVENT(iommu_tlbi, tlbi_start, TP_PROTO(struct device *dev, u64 time), TP_ARGS(dev, time) ); DEFINE_EVENT(iommu_errata_tlbi, errata_tlbi_end, DEFINE_EVENT(iommu_tlbi, tlbi_end, TP_PROTO(struct device *dev, u64 time), TP_ARGS(dev, time) ); DEFINE_EVENT(iommu_errata_tlbi, errata_throttle_start, DEFINE_EVENT(iommu_tlbi, tlbi_throttle_start, TP_PROTO(struct device *dev, u64 time), TP_ARGS(dev, time) ); DEFINE_EVENT(iommu_errata_tlbi, errata_throttle_end, DEFINE_EVENT(iommu_tlbi, tlbi_throttle_end, TP_PROTO(struct device *dev, u64 time), TP_ARGS(dev, time) ); DEFINE_EVENT(iommu_errata_tlbi, errata_failed, DEFINE_EVENT(iommu_tlbi, tlbsync_timeout, TP_PROTO(struct device *dev, u64 time), Loading