• Home
  • Raw
  • Download

Lines Matching refs:pmu

110 	struct pmu pmu;  member
121 #define to_smmu_pmu(p) (container_of(p, struct smmu_pmu, pmu))
135 static inline void smmu_pmu_enable(struct pmu *pmu) in smmu_pmu_enable() argument
137 struct smmu_pmu *smmu_pmu = to_smmu_pmu(pmu); in smmu_pmu_enable()
147 static inline void smmu_pmu_enable_quirk_hip08_09(struct pmu *pmu) in smmu_pmu_enable_quirk_hip08_09() argument
149 struct smmu_pmu *smmu_pmu = to_smmu_pmu(pmu); in smmu_pmu_enable_quirk_hip08_09()
155 smmu_pmu_enable(pmu); in smmu_pmu_enable_quirk_hip08_09()
158 static inline void smmu_pmu_disable(struct pmu *pmu) in smmu_pmu_disable() argument
160 struct smmu_pmu *smmu_pmu = to_smmu_pmu(pmu); in smmu_pmu_disable()
166 static inline void smmu_pmu_disable_quirk_hip08_09(struct pmu *pmu) in smmu_pmu_disable_quirk_hip08_09() argument
168 struct smmu_pmu *smmu_pmu = to_smmu_pmu(pmu); in smmu_pmu_disable_quirk_hip08_09()
179 smmu_pmu_disable(pmu); in smmu_pmu_disable_quirk_hip08_09()
238 struct smmu_pmu *smmu_pmu = to_smmu_pmu(event->pmu); in smmu_pmu_event_update()
286 struct smmu_pmu *smmu_pmu = to_smmu_pmu(event->pmu); in smmu_pmu_set_event_filter()
361 if (new->pmu != curr->pmu) in smmu_pmu_events_compatible()
364 if (to_smmu_pmu(new->pmu)->global_filter && in smmu_pmu_events_compatible()
379 struct smmu_pmu *smmu_pmu = to_smmu_pmu(event->pmu); in smmu_pmu_event_init()
385 if (event->attr.type != event->pmu->type) in smmu_pmu_event_init()
439 struct smmu_pmu *smmu_pmu = to_smmu_pmu(event->pmu); in smmu_pmu_event_start()
452 struct smmu_pmu *smmu_pmu = to_smmu_pmu(event->pmu); in smmu_pmu_event_stop()
469 struct smmu_pmu *smmu_pmu = to_smmu_pmu(event->pmu); in smmu_pmu_event_add()
494 struct smmu_pmu *smmu_pmu = to_smmu_pmu(event->pmu); in smmu_pmu_event_del()
659 perf_pmu_migrate_context(&smmu_pmu->pmu, cpu, target); in smmu_pmu_offline_cpu()
705 struct smmu_pmu *pmu = dev_get_drvdata(dev); in smmu_pmu_write_msi_msg() local
710 writeq_relaxed(doorbell, pmu->reg_base + SMMU_PMCG_IRQ_CFG0); in smmu_pmu_write_msi_msg()
711 writel_relaxed(msg->data, pmu->reg_base + SMMU_PMCG_IRQ_CFG1); in smmu_pmu_write_msi_msg()
713 pmu->reg_base + SMMU_PMCG_IRQ_CFG2); in smmu_pmu_write_msi_msg()
716 static void smmu_pmu_setup_msi(struct smmu_pmu *pmu) in smmu_pmu_setup_msi() argument
719 struct device *dev = pmu->dev; in smmu_pmu_setup_msi()
723 writeq_relaxed(0, pmu->reg_base + SMMU_PMCG_IRQ_CFG0); in smmu_pmu_setup_msi()
726 if (!(readl(pmu->reg_base + SMMU_PMCG_CFGR) & SMMU_PMCG_CFGR_MSI)) in smmu_pmu_setup_msi()
737 pmu->irq = desc->irq; in smmu_pmu_setup_msi()
743 static int smmu_pmu_setup_irq(struct smmu_pmu *pmu) in smmu_pmu_setup_irq() argument
748 smmu_pmu_setup_msi(pmu); in smmu_pmu_setup_irq()
750 irq = pmu->irq; in smmu_pmu_setup_irq()
752 ret = devm_request_irq(pmu->dev, irq, smmu_pmu_handle_irq, in smmu_pmu_setup_irq()
753 flags, "smmuv3-pmu", pmu); in smmu_pmu_setup_irq()
761 smmu_pmu_disable(&smmu_pmu->pmu); in smmu_pmu_reset()
808 smmu_pmu->pmu = (struct pmu) { in smmu_pmu_probe()
879 smmu_pmu->pmu.pmu_enable = smmu_pmu_enable_quirk_hip08_09; in smmu_pmu_probe()
880 smmu_pmu->pmu.pmu_disable = smmu_pmu_disable_quirk_hip08_09; in smmu_pmu_probe()
895 err = perf_pmu_register(&smmu_pmu->pmu, name, -1); in smmu_pmu_probe()
918 perf_pmu_unregister(&smmu_pmu->pmu); in smmu_pmu_remove()
928 smmu_pmu_disable(&smmu_pmu->pmu); in smmu_pmu_shutdown()