Lines Matching refs:pmu
114 struct pmu pmu; member
128 static inline struct dsu_pmu *to_dsu_pmu(struct pmu *pmu) in to_dsu_pmu() argument
130 return container_of(pmu, struct dsu_pmu, pmu); in to_dsu_pmu()
155 struct pmu *pmu = dev_get_drvdata(dev); in dsu_pmu_cpumask_show() local
156 struct dsu_pmu *dsu_pmu = to_dsu_pmu(pmu); in dsu_pmu_cpumask_show()
201 struct pmu *pmu = dev_get_drvdata(kobj_to_dev(kobj)); in dsu_pmu_event_attr_is_visible() local
202 struct dsu_pmu *dsu_pmu = to_dsu_pmu(pmu); in dsu_pmu_event_attr_is_visible()
252 struct dsu_pmu *dsu_pmu = to_dsu_pmu(event->pmu); in dsu_pmu_read_counter()
260 dev_err(event->pmu->dev, in dsu_pmu_read_counter()
278 struct dsu_pmu *dsu_pmu = to_dsu_pmu(event->pmu); in dsu_pmu_write_counter()
286 dev_err(event->pmu->dev, in dsu_pmu_write_counter()
304 struct dsu_pmu *dsu_pmu = to_dsu_pmu(event->pmu); in dsu_pmu_get_event_idx()
339 dev_err(event->pmu->dev, in dsu_pmu_set_event()
417 struct dsu_pmu *dsu_pmu = to_dsu_pmu(event->pmu); in dsu_pmu_start()
431 struct dsu_pmu *dsu_pmu = to_dsu_pmu(event->pmu); in dsu_pmu_stop()
442 struct dsu_pmu *dsu_pmu = to_dsu_pmu(event->pmu); in dsu_pmu_add()
468 struct dsu_pmu *dsu_pmu = to_dsu_pmu(event->pmu); in dsu_pmu_del()
479 static void dsu_pmu_enable(struct pmu *pmu) in dsu_pmu_enable() argument
483 struct dsu_pmu *dsu_pmu = to_dsu_pmu(pmu); in dsu_pmu_enable()
496 static void dsu_pmu_disable(struct pmu *pmu) in dsu_pmu_disable() argument
500 struct dsu_pmu *dsu_pmu = to_dsu_pmu(pmu); in dsu_pmu_disable()
509 static bool dsu_pmu_validate_event(struct pmu *pmu, in dsu_pmu_validate_event() argument
516 if (event->pmu != pmu) in dsu_pmu_validate_event()
534 if (!dsu_pmu_validate_event(event->pmu, &fake_hw, leader)) in dsu_pmu_validate_group()
537 if (!dsu_pmu_validate_event(event->pmu, &fake_hw, sibling)) in dsu_pmu_validate_group()
540 return dsu_pmu_validate_event(event->pmu, &fake_hw, event); in dsu_pmu_validate_group()
545 struct dsu_pmu *dsu_pmu = to_dsu_pmu(event->pmu); in dsu_pmu_event_init()
547 if (event->attr.type != event->pmu->type) in dsu_pmu_event_init()
552 dev_dbg(dsu_pmu->pmu.dev, "Can't support sampling events\n"); in dsu_pmu_event_init()
558 dev_dbg(dsu_pmu->pmu.dev, "Can't support per-task counters\n"); in dsu_pmu_event_init()
563 dev_dbg(dsu_pmu->pmu.dev, "Can't support filtering\n"); in dsu_pmu_event_init()
568 dev_dbg(dsu_pmu->pmu.dev, in dsu_pmu_event_init()
752 dsu_pmu->pmu = (struct pmu) { in dsu_pmu_device_probe()
768 rc = perf_pmu_register(&dsu_pmu->pmu, name, -1); in dsu_pmu_device_probe()
781 perf_pmu_unregister(&dsu_pmu->pmu); in dsu_pmu_device_remove()
844 perf_pmu_migrate_context(&dsu_pmu->pmu, cpu, dst); in dsu_pmu_cpu_teardown()