Home
last modified time | relevance | path

Searched refs:pmu (Results 1 – 25 of 575) sorted by relevance

12345678910>>...23

/linux/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/
H A Dbase.c32 struct nvkm_pmu *pmu = device->pmu; in nvkm_pmu_fan_controlled() local
37 if (pmu && pmu->func->code.size) in nvkm_pmu_fan_controlled()
48 nvkm_pmu_pgob(struct nvkm_pmu *pmu, bool enable) in nvkm_pmu_pgob() argument
50 if (pmu && pmu->func->pgob) in nvkm_pmu_pgob()
51 pmu->func->pgob(pmu, enable); in nvkm_pmu_pgob()
57 struct nvkm_pmu *pmu = container_of(work, typeof(*pmu), recv.work); in nvkm_pmu_recv() local
58 return pmu->func->recv(pmu); in nvkm_pmu_recv()
62 nvkm_pmu_send(struct nvkm_pmu *pmu, u32 reply[2], in nvkm_pmu_send() argument
65 if (!pmu || !pmu->func->send) in nvkm_pmu_send()
67 return pmu->func->send(pmu, reply, process, message, data0, data1); in nvkm_pmu_send()
[all …]
H A Dgt215.c30 gt215_pmu_send(struct nvkm_pmu *pmu, u32 reply[2], in gt215_pmu_send() argument
33 struct nvkm_subdev *subdev = &pmu->subdev; in gt215_pmu_send()
37 mutex_lock(&pmu->send.mutex); in gt215_pmu_send()
45 mutex_unlock(&pmu->send.mutex); in gt215_pmu_send()
54 pmu->recv.message = message; in gt215_pmu_send()
55 pmu->recv.process = process; in gt215_pmu_send()
65 pmu->send.base)); in gt215_pmu_send()
77 wait_event(pmu->recv.wait, (pmu->recv.process == 0)); in gt215_pmu_send()
78 reply[0] = pmu->recv.data[0]; in gt215_pmu_send()
79 reply[1] = pmu->recv.data[1]; in gt215_pmu_send()
[all …]
H A Dgk20a.c51 gk20a_pmu_dvfs_target(struct gk20a_pmu *pmu, int *state) in gk20a_pmu_dvfs_target() argument
53 struct nvkm_clk *clk = pmu->base.subdev.device->clk; in gk20a_pmu_dvfs_target()
59 gk20a_pmu_dvfs_get_cur_state(struct gk20a_pmu *pmu, int *state) in gk20a_pmu_dvfs_get_cur_state() argument
61 struct nvkm_clk *clk = pmu->base.subdev.device->clk; in gk20a_pmu_dvfs_get_cur_state()
67 gk20a_pmu_dvfs_get_target_state(struct gk20a_pmu *pmu, in gk20a_pmu_dvfs_get_target_state() argument
70 struct gk20a_pmu_dvfs_data *data = pmu->data; in gk20a_pmu_dvfs_get_target_state()
71 struct nvkm_clk *clk = pmu->base.subdev.device->clk; in gk20a_pmu_dvfs_get_target_state()
86 nvkm_trace(&pmu->base.subdev, "cur level = %d, new level = %d\n", in gk20a_pmu_dvfs_get_target_state()
95 gk20a_pmu_dvfs_get_dev_status(struct gk20a_pmu *pmu, in gk20a_pmu_dvfs_get_dev_status() argument
98 struct nvkm_falcon *falcon = &pmu->base.falcon; in gk20a_pmu_dvfs_get_dev_status()
[all …]
H A Dgm20b.c42 struct nvkm_pmu *pmu = container_of(falcon, typeof(*pmu), falcon); in gm20b_pmu_acr_bootstrap_falcon() local
52 ret = nvkm_falcon_cmdq_send(pmu->hpq, &cmd.cmd.hdr, in gm20b_pmu_acr_bootstrap_falcon()
54 &pmu->subdev, msecs_to_jiffies(1000)); in gm20b_pmu_acr_bootstrap_falcon()
129 struct nvkm_pmu *pmu = priv; in gm20b_pmu_acr_init_wpr_callback() local
130 struct nvkm_subdev *subdev = &pmu->subdev; in gm20b_pmu_acr_init_wpr_callback()
139 complete_all(&pmu->wpr_ready); in gm20b_pmu_acr_init_wpr_callback()
144 gm20b_pmu_acr_init_wpr(struct nvkm_pmu *pmu) in gm20b_pmu_acr_init_wpr() argument
154 return nvkm_falcon_cmdq_send(pmu->hpq, &cmd.cmd.hdr, in gm20b_pmu_acr_init_wpr()
155 gm20b_pmu_acr_init_wpr_callback, pmu, 0); in gm20b_pmu_acr_init_wpr()
159 gm20b_pmu_initmsg(struct nvkm_pmu *pmu) in gm20b_pmu_initmsg() argument
[all …]
/linux/tools/perf/util/
H A Dpmus.c17 #include "pmu.h"
26 * must have pmu->is_core=1. If there are more than one PMU in
36 * must have pmu->is_core=0 but pmu->is_uncore could be 0 or 1.
93 struct perf_pmu *pmu, *tmp; in perf_pmus__destroy()
95 list_for_each_entry_safe(pmu, tmp, &core_pmus, list) { in perf_pmus__destroy()
96 list_del(&pmu->list); in perf_pmus__destroy()
98 perf_pmu__delete(pmu); in perf_pmus__destroy()
100 list_for_each_entry_safe(pmu, tmp, &other_pmus, list) { in perf_pmus__destroy()
101 list_del(&pmu in perf_pmus__destroy()
91 struct perf_pmu *pmu, *tmp; perf_pmus__destroy() local
109 struct perf_pmu *pmu; pmu_find() local
127 struct perf_pmu *pmu; perf_pmus__find() local
165 struct perf_pmu *pmu; perf_pmu__find2() local
242 struct perf_pmu *pmu; __perf_pmus__find_by_type() local
258 struct perf_pmu *pmu = __perf_pmus__find_by_type(type); perf_pmus__find_by_type() local
272 perf_pmus__scan(struct perf_pmu * pmu) perf_pmus__scan() argument
292 perf_pmus__scan_core(struct perf_pmu * pmu) perf_pmus__scan_core() argument
304 perf_pmus__scan_skip_duplicates(struct perf_pmu * pmu) perf_pmus__scan_skip_duplicates() argument
343 struct perf_pmu *pmu = NULL; perf_pmus__pmu_for_pmu_filter() local
365 const struct perf_pmu *pmu; global() member
457 struct perf_pmu *pmu; perf_pmus__print_pmu_events() local
571 struct perf_pmu *pmu = NULL; perf_pmus__print_raw_pmu_events() local
619 struct perf_pmu *pmu = perf_pmus__find(pname); perf_pmus__have_event() local
629 struct perf_pmu *pmu = NULL; perf_pmus__num_core_pmus() local
639 struct perf_pmu *pmu = NULL; __perf_pmus__supports_extended_type() local
703 struct perf_pmu *pmu = evsel->pmu; evsel__find_pmu() local
[all...]
H A Dpmu.c20 #include "pmu.h"
24 #include <util/pmu-bison.h>
25 #include <util/pmu-flex.h>
38 /* An event loaded from /sys/devices/<pmu>/events. */
43 * An event loaded from a /sys/devices/<pmu>/identifier matched json
51 * pmu-events.c, created by parsing the pmu-events json files.
126 static int pmu_aliases_parse(struct perf_pmu *pmu); in perf_pmu__new_format()
169 static void perf_pmu_format__load(const struct perf_pmu *pmu, struct perf_pmu_format *format) in perf_pmu_format__load()
177 if (!perf_pmu__pathname_scnprintf(path, sizeof(path), pmu in perf_pmu_format__load()
167 perf_pmu_format__load(const struct perf_pmu * pmu,struct perf_pmu_format * format) perf_pmu_format__load() argument
193 perf_pmu__format_parse(struct perf_pmu * pmu,int dirfd,bool eager_load) perf_pmu__format_parse() argument
243 pmu_format(struct perf_pmu * pmu,int dirfd,const char * name,bool eager_load) pmu_format() argument
295 perf_pmu__parse_scale(struct perf_pmu * pmu,struct perf_pmu_alias * alias) perf_pmu__parse_scale() argument
331 perf_pmu__parse_unit(struct perf_pmu * pmu,struct perf_pmu_alias * alias) perf_pmu__parse_unit() argument
397 perf_pmu__parse_per_pkg(struct perf_pmu * pmu,struct perf_pmu_alias * alias) perf_pmu__parse_per_pkg() argument
402 perf_pmu__parse_snapshot(struct perf_pmu * pmu,struct perf_pmu_alias * alias) perf_pmu__parse_snapshot() argument
419 perf_pmu__del_aliases(struct perf_pmu * pmu) perf_pmu__del_aliases() argument
429 perf_pmu__find_alias(struct perf_pmu * pmu,const char * name,bool load) perf_pmu__find_alias() argument
484 read_alias_info(struct perf_pmu * pmu,struct perf_pmu_alias * alias) read_alias_info() argument
499 struct perf_pmu *pmu; global() member
529 perf_pmu__new_alias(struct perf_pmu * pmu,const char * name,const char * desc,const char * val,FILE * val_fd,const struct pmu_event * pe,enum event_source src) perf_pmu__new_alias() argument
633 __pmu_aliases_parse(struct perf_pmu * pmu,int events_dir_fd) __pmu_aliases_parse() argument
679 pmu_aliases_parse(struct perf_pmu * pmu) pmu_aliases_parse() argument
703 pmu_aliases_parse_eager(struct perf_pmu * pmu,int sysfs_fd) pmu_aliases_parse_eager() argument
759 struct perf_pmu pmu = {.name = pmu_name}; pmu_cpumask() local
820 perf_pmu__getcpuid(struct perf_pmu * pmu) perf_pmu__getcpuid() argument
854 pmu_deduped_name_len(const struct perf_pmu * pmu,const char * name,bool skip_duplicate_pmus) pmu_deduped_name_len() argument
985 struct perf_pmu *pmu = vdata; pmu_add_cpu_aliases_map_callback() local
996 pmu_add_cpu_aliases_table(struct perf_pmu * pmu,const struct pmu_events_table * table) pmu_add_cpu_aliases_table() argument
1001 pmu_add_cpu_aliases(struct perf_pmu * pmu) pmu_add_cpu_aliases() argument
1017 struct perf_pmu *pmu = vdata; pmu_add_sys_aliases_iter_fn() local
1036 pmu_add_sys_aliases(struct perf_pmu * pmu) pmu_add_sys_aliases() argument
1044 pmu_find_alias_name(struct perf_pmu * pmu,int dirfd) pmu_find_alias_name() argument
1067 pmu_max_precise(int dirfd,struct perf_pmu * pmu) pmu_max_precise() argument
1076 perf_pmu__arch_init(struct perf_pmu * pmu) perf_pmu__arch_init() argument
1085 struct perf_pmu *pmu; perf_pmu__lookup() local
1149 struct perf_pmu *pmu = zalloc(sizeof(*pmu)); perf_pmu__create_placeholder_core_pmu() local
1171 perf_pmu__is_fake(const struct perf_pmu * pmu) perf_pmu__is_fake() argument
1176 perf_pmu__warn_invalid_formats(struct perf_pmu * pmu) perf_pmu__warn_invalid_formats() argument
1202 struct perf_pmu *pmu; evsel__is_aux_event() local
1220 evsel__set_config_if_unset(struct perf_pmu * pmu,struct evsel * evsel,const char * config_name,u64 val) evsel__set_config_if_unset() argument
1252 perf_pmu__format_bits(struct perf_pmu * pmu,const char * name) perf_pmu__format_bits() argument
1267 perf_pmu__format_type(struct perf_pmu * pmu,const char * name) perf_pmu__format_type() argument
1365 pmu_config_term(const struct perf_pmu * pmu,struct perf_event_attr * attr,struct parse_events_term * term,struct parse_events_terms * head_terms,bool zero,struct parse_events_error * err) pmu_config_term() argument
1488 perf_pmu__config_terms(const struct perf_pmu * pmu,struct perf_event_attr * attr,struct parse_events_terms * terms,bool zero,struct parse_events_error * err) perf_pmu__config_terms() argument
1508 perf_pmu__config(struct perf_pmu * pmu,struct perf_event_attr * attr,struct parse_events_terms * head_terms,struct parse_events_error * err) perf_pmu__config() argument
1521 pmu_find_alias(struct perf_pmu * pmu,struct parse_events_term * term) pmu_find_alias() argument
1560 check_info_data(struct perf_pmu * pmu,struct perf_pmu_alias * alias,struct perf_pmu_info * info,struct parse_events_error * err,int column) check_info_data() argument
1607 perf_pmu__check_alias(struct perf_pmu * pmu,struct parse_events_terms * head_terms,struct perf_pmu_info * info,bool * rewrote_terms,struct parse_events_error * err) perf_pmu__check_alias() argument
1683 perf_pmu__find_event(struct perf_pmu * pmu,const char * event,void * state,pmu_event_callback cb) perf_pmu__find_event() argument
1707 perf_pmu__has_format(const struct perf_pmu * pmu,const char * name) perf_pmu__has_format() argument
1718 perf_pmu__for_each_format(struct perf_pmu * pmu,void * state,pmu_format_callback cb) perf_pmu__for_each_format() argument
1779 perf_pmu__supports_legacy_cache(const struct perf_pmu * pmu) perf_pmu__supports_legacy_cache() argument
1784 perf_pmu__auto_merge_stats(const struct perf_pmu * pmu) perf_pmu__auto_merge_stats() argument
1789 perf_pmu__have_event(struct perf_pmu * pmu,const char * name) perf_pmu__have_event() argument
1800 perf_pmu__num_events(struct perf_pmu * pmu) perf_pmu__num_events() argument
1824 format_alias(char * buf,int len,const struct perf_pmu * pmu,const struct perf_pmu_alias * alias,bool skip_duplicate_pmus) format_alias() argument
1852 perf_pmu__for_each_event(struct perf_pmu * pmu,bool skip_duplicate_pmus,void * state,pmu_event_callback cb) perf_pmu__for_each_event() argument
1924 pmu__name_match(const struct perf_pmu * pmu,const char * pmu_name) pmu__name_match() argument
1935 perf_pmu__is_software(const struct perf_pmu * pmu) perf_pmu__is_software() argument
1961 perf_pmu__open_file(const struct perf_pmu * pmu,const char * name) perf_pmu__open_file() argument
1972 perf_pmu__open_file_at(const struct perf_pmu * pmu,int dirfd,const char * name) perf_pmu__open_file_at() argument
1983 perf_pmu__scan_file(const struct perf_pmu * pmu,const char * name,const char * fmt,...) perf_pmu__scan_file() argument
2000 perf_pmu__scan_file_at(const struct perf_pmu * pmu,int dirfd,const char * name,const char * fmt,...) perf_pmu__scan_file_at() argument
2017 perf_pmu__file_exists(const struct perf_pmu * pmu,const char * name) perf_pmu__file_exists() argument
2051 perf_pmu__del_caps(struct perf_pmu * pmu) perf_pmu__del_caps() argument
2068 perf_pmu__caps_parse(struct perf_pmu * pmu) perf_pmu__caps_parse() argument
2129 perf_pmu__compute_config_masks(struct perf_pmu * pmu) perf_pmu__compute_config_masks() argument
2152 perf_pmu__warn_invalid_config(struct perf_pmu * pmu,__u64 config,const char * name,int config_num,const char * config_name) perf_pmu__warn_invalid_config() argument
2178 perf_pmu__match(const struct perf_pmu * pmu,const char * tok) perf_pmu__match() argument
2258 perf_pmu__delete(struct perf_pmu * pmu) perf_pmu__delete() argument
2272 perf_pmu__name_from_config(struct perf_pmu * pmu,u64 config) perf_pmu__name_from_config() argument
[all...]
H A Dpmu.h12 #include "pmu-events/pmu-events.h"
107 void (*perf_event_attr_init_default)(const struct perf_pmu *pmu,
124 * from json events in pmu-events.c.
128 * @events_table: The events table for json events in pmu-events.c.
156 /** @list: Element on pmus list in pmu.c. */
195 const struct perf_pmu *pmu;
213 void pmu_add_sys_aliases(struct perf_pmu *pmu);
214 int perf_pmu__config(struct perf_pmu *pmu, struct perf_event_attr *attr,
218 int perf_pmu__config_terms(const struct perf_pmu *pmu,
188 const struct perf_pmu *pmu; global() member
[all...]
/linux/drivers/soc/dove/
H A Dpmu.c50 struct pmu_data *pmu = rcdev_to_pmu(rc); in pmu_reset_reset() local
54 spin_lock_irqsave(&pmu->lock, flags); in pmu_reset_reset()
55 val = readl_relaxed(pmu->pmc_base + PMC_SW_RST); in pmu_reset_reset()
56 writel_relaxed(val & ~BIT(id), pmu->pmc_base + PMC_SW_RST); in pmu_reset_reset()
57 writel_relaxed(val | BIT(id), pmu->pmc_base + PMC_SW_RST); in pmu_reset_reset()
58 spin_unlock_irqrestore(&pmu->lock, flags); in pmu_reset_reset()
65 struct pmu_data *pmu = rcdev_to_pmu(rc); in pmu_reset_assert() local
69 spin_lock_irqsave(&pmu->lock, flags); in pmu_reset_assert()
70 val &= readl_relaxed(pmu->pmc_base + PMC_SW_RST); in pmu_reset_assert()
71 writel_relaxed(val, pmu->pmc_base + PMC_SW_RST); in pmu_reset_assert()
[all …]
/linux/drivers/pmdomain/starfive/
H A Djh71xx-pmu.c64 struct jh71xx_pmu *pmu);
81 struct jh71xx_pmu *pmu; member
87 struct jh71xx_pmu *pmu = pmd->pmu; in jh71xx_pmu_get_state() local
92 *is_on = readl(pmu->base + pmu->match_data->pmu_status) & mask; in jh71xx_pmu_get_state()
99 struct jh71xx_pmu *pmu = pmd->pmu; in jh7110_pmu_set_state() local
107 spin_lock_irqsave(&pmu->lock, flags); in jh7110_pmu_set_state()
129 writel(mask, pmu->base + mode); in jh7110_pmu_set_state()
139 writel(JH71XX_PMU_SW_ENCOURAGE_ON, pmu->base + JH71XX_PMU_SW_ENCOURAGE); in jh7110_pmu_set_state()
140 writel(encourage_lo, pmu->base + JH71XX_PMU_SW_ENCOURAGE); in jh7110_pmu_set_state()
141 writel(encourage_hi, pmu->base + JH71XX_PMU_SW_ENCOURAGE); in jh7110_pmu_set_state()
[all …]
/linux/arch/x86/kvm/svm/
H A Dpmu.c28 static struct kvm_pmc *amd_pmu_get_pmc(struct kvm_pmu *pmu, int pmc_idx) in amd_pmu_get_pmc() argument
30 unsigned int num_counters = pmu->nr_arch_gp_counters; in amd_pmu_get_pmc()
35 return &pmu->gp_counters[array_index_nospec(pmc_idx, num_counters)]; in amd_pmu_get_pmc()
38 static inline struct kvm_pmc *get_gp_pmc_amd(struct kvm_pmu *pmu, u32 msr, in get_gp_pmc_amd() argument
41 struct kvm_vcpu *vcpu = pmu_to_vcpu(pmu); in get_gp_pmc_amd()
73 return amd_pmu_get_pmc(pmu, idx); in get_gp_pmc_amd()
78 struct kvm_pmu *pmu = vcpu_to_pmu(vcpu); in amd_check_rdpmc_early() local
80 if (idx >= pmu->nr_arch_gp_counters) in amd_check_rdpmc_early()
95 struct kvm_pmu *pmu = vcpu_to_pmu(vcpu); in amd_msr_idx_to_pmc() local
98 pmc = get_gp_pmc_amd(pmu, msr, PMU_TYPE_COUNTER); in amd_msr_idx_to_pmc()
[all …]
/linux/drivers/perf/amlogic/
H A Dmeson_ddr_pmu_core.c21 struct pmu pmu; member
35 #define to_ddr_pmu(p) container_of(p, struct ddr_pmu, pmu)
38 static void dmc_pmu_enable(struct ddr_pmu *pmu) in dmc_pmu_enable() argument
40 if (!pmu->pmu_enabled) in dmc_pmu_enable()
41 pmu->info.hw_info->enable(&pmu->info); in dmc_pmu_enable()
43 pmu->pmu_enabled = true; in dmc_pmu_enable()
46 static void dmc_pmu_disable(struct ddr_pmu *pmu) in dmc_pmu_disable() argument
48 if (pmu->pmu_enabled) in dmc_pmu_disable()
49 pmu->info.hw_info->disable(&pmu->info); in dmc_pmu_disable()
51 pmu->pmu_enabled = false; in dmc_pmu_disable()
[all …]
/linux/tools/perf/arch/arm/util/
H A Dpmu.c19 void perf_pmu__arch_init(struct perf_pmu *pmu) in perf_pmu__arch_init() argument
24 if (!strcmp(pmu->name, CORESIGHT_ETM_PMU_NAME)) { in perf_pmu__arch_init()
26 pmu->auxtrace = true; in perf_pmu__arch_init()
27 pmu->selectable = true; in perf_pmu__arch_init()
28 pmu->perf_event_attr_init_default = cs_etm_get_default_config; in perf_pmu__arch_init()
30 } else if (strstarts(pmu->name, ARM_SPE_PMU_NAME)) { in perf_pmu__arch_init()
31 pmu->auxtrace = true; in perf_pmu__arch_init()
32 pmu->selectable = true; in perf_pmu__arch_init()
33 pmu->is_uncore = false; in perf_pmu__arch_init()
34 pmu->perf_event_attr_init_default = arm_spe_pmu_default_config; in perf_pmu__arch_init()
[all …]
/linux/drivers/perf/
H A Darm_pmu_platform.c25 static int probe_current_pmu(struct arm_pmu *pmu, in probe_current_pmu() argument
37 ret = info->init(pmu); in probe_current_pmu()
45 static int pmu_parse_percpu_irq(struct arm_pmu *pmu, int irq) in pmu_parse_percpu_irq() argument
48 struct pmu_hw_events __percpu *hw_events = pmu->hw_events; in pmu_parse_percpu_irq()
50 ret = irq_get_percpu_devid_partition(irq, &pmu->supported_cpus); in pmu_parse_percpu_irq()
54 for_each_cpu(cpu, &pmu->supported_cpus) in pmu_parse_percpu_irq()
95 static int pmu_parse_irqs(struct arm_pmu *pmu) in pmu_parse_irqs() argument
98 struct platform_device *pdev = pmu->plat_device; in pmu_parse_irqs()
99 struct pmu_hw_events __percpu *hw_events = pmu->hw_events; in pmu_parse_irqs()
112 pmu->pmu.capabilities |= PERF_PMU_CAP_NO_INTERRUPT; in pmu_parse_irqs()
[all …]
H A Darm_pmu.c185 if (type == event->pmu->type) in armpmu_map_event()
202 struct arm_pmu *armpmu = to_arm_pmu(event->pmu); in armpmu_event_set_period()
244 struct arm_pmu *armpmu = to_arm_pmu(event->pmu); in armpmu_event_update()
274 struct arm_pmu *armpmu = to_arm_pmu(event->pmu); in armpmu_stop()
290 struct arm_pmu *armpmu = to_arm_pmu(event->pmu); in armpmu_start()
315 struct arm_pmu *armpmu = to_arm_pmu(event->pmu); in armpmu_del()
331 struct arm_pmu *armpmu = to_arm_pmu(event->pmu); in armpmu_add()
364 validate_event(struct pmu *pmu, struct pmu_hw_events *hw_events, in validate_event() argument
377 if (event->pmu != pmu) in validate_event()
386 armpmu = to_arm_pmu(event->pmu); in validate_event()
[all …]
H A Darm_pmu_acpi.c252 struct arm_pmu *pmu; in arm_pmu_acpi_find_pmu() local
256 pmu = per_cpu(probed_pmus, cpu); in arm_pmu_acpi_find_pmu()
257 if (!pmu || pmu->acpi_cpuid != cpuid) in arm_pmu_acpi_find_pmu()
260 return pmu; in arm_pmu_acpi_find_pmu()
270 static bool pmu_irq_matches(struct arm_pmu *pmu, int irq) in pmu_irq_matches() argument
272 struct pmu_hw_events __percpu *hw_events = pmu->hw_events; in pmu_irq_matches()
278 for_each_cpu(cpu, &pmu->supported_cpus) { in pmu_irq_matches()
295 static void arm_pmu_acpi_associate_pmu_cpu(struct arm_pmu *pmu, in arm_pmu_acpi_associate_pmu_cpu() argument
300 per_cpu(probed_pmus, cpu) = pmu; in arm_pmu_acpi_associate_pmu_cpu()
302 if (pmu_irq_matches(pmu, irq)) { in arm_pmu_acpi_associate_pmu_cpu()
[all …]
/linux/arch/x86/events/intel/
H A Duncore.h86 struct pmu *pmu; /* for custom pmu ops */ member
125 struct pmu pmu; member
155 struct intel_uncore_pmu *pmu; member
224 return container_of(dev_get_drvdata(dev), struct intel_uncore_pmu, pmu); in dev_to_uncore_pmu()
264 if (offset < box->pmu->type->mmio_map_size) in uncore_mmio_is_valid_offset()
268 offset, box->pmu->type->name); in uncore_mmio_is_valid_offset()
276 return box->pmu->type->box_ctl + in uncore_mmio_box_ctl()
277 box->pmu->type->mmio_offset * box->pmu->pmu_idx; in uncore_mmio_box_ctl()
282 return box->pmu->type->box_ctl; in uncore_pci_box_ctl()
287 return box->pmu->type->fixed_ctl; in uncore_pci_fixed_ctl()
[all …]
H A Duncore.c138 struct intel_uncore_box *uncore_pmu_to_box(struct intel_uncore_pmu *pmu, int cpu) in uncore_pmu_to_box() argument
146 return dieid < uncore_max_dies() ? pmu->boxes[dieid] : NULL; in uncore_pmu_to_box()
389 return &box->pmu->pmu == event->pmu; in is_box_event()
399 max_count = box->pmu->type->num_counters; in uncore_collect_events()
400 if (box->pmu->type->fixed_ctl) in uncore_collect_events()
433 struct intel_uncore_type *type = box->pmu->type; in uncore_get_event_constraint()
458 if (box->pmu->type->ops->put_constraint) in uncore_put_event_constraint()
459 box->pmu->type->ops->put_constraint(box, event); in uncore_put_event_constraint()
697 static int uncore_validate_group(struct intel_uncore_pmu *pmu, in uncore_validate_group() argument
708 fake_box = uncore_alloc_box(pmu->type, NUMA_NO_NODE); in uncore_validate_group()
[all …]
/linux/arch/x86/kvm/
H A Dpmu.h9 #define vcpu_to_pmu(vcpu) (&(vcpu)->arch.pmu)
10 #define pmu_to_vcpu(pmu) (container_of((pmu), struct kvm_vcpu, arch.pmu)) argument
11 #define pmc_to_pmu(pmc) (&(pmc)->vcpu->arch.pmu)
52 static inline bool kvm_pmu_has_perf_global_ctrl(struct kvm_pmu *pmu) in kvm_pmu_has_perf_global_ctrl() argument
63 return pmu->version > 1; in kvm_pmu_has_perf_global_ctrl()
80 static inline struct kvm_pmc *kvm_pmc_idx_to_pmc(struct kvm_pmu *pmu, int idx) in kvm_pmc_idx_to_pmc() argument
82 if (idx < pmu->nr_arch_gp_counters) in kvm_pmc_idx_to_pmc()
83 return &pmu->gp_counters[idx]; in kvm_pmc_idx_to_pmc()
86 if (idx >= 0 && idx < pmu->nr_arch_fixed_counters) in kvm_pmc_idx_to_pmc()
87 return &pmu->fixed_counters[idx]; in kvm_pmc_idx_to_pmc()
[all …]
H A Dpmu.c101 struct kvm_pmu *pmu = pmc_to_pmu(pmc); in __kvm_perf_overflow() local
116 (unsigned long *)&pmu->global_status); in __kvm_perf_overflow()
119 __set_bit(pmc->idx, (unsigned long *)&pmu->global_status); in __kvm_perf_overflow()
180 struct kvm_pmu *pmu = pmc_to_pmu(pmc); in pmc_reprogram_counter() local
192 bool pebs = test_bit(pmc->idx, (unsigned long *)&pmu->pebs_enable); in pmc_reprogram_counter()
452 struct kvm_pmu *pmu = pmc_to_pmu(pmc); in reprogram_counter() local
470 fixed_ctr_ctrl = fixed_ctrl_field(pmu->fixed_ctr_ctrl, in reprogram_counter()
489 (eventsel & pmu->raw_event_mask), in reprogram_counter()
498 struct kvm_pmu *pmu = vcpu_to_pmu(vcpu); in kvm_pmu_handle_event() local
502 bitmap_copy(bitmap, pmu->reprogram_pmi, X86_PMC_IDX_MAX); in kvm_pmu_handle_event()
[all …]
/linux/tools/perf/tests/
H A Dpmu-events.c41 struct perf_pmu pmu; member
47 .pmu = "default_core",
59 .pmu = "default_core",
71 .pmu = "default_core",
83 .pmu = "default_core",
95 .pmu = "default_core",
107 .pmu = "default_core",
135 .pmu = "hisi_sccl,ddrc",
149 .pmu = "uncore_cbox",
163 .pmu = "uncore_cbox",
[all …]
/linux/arch/powerpc/perf/
H A Dimc-pmu.c61 return container_of(event->pmu, struct imc_pmu, pmu); in imc_event_to_pmu()
105 struct pmu *pmu = dev_get_drvdata(dev); in imc_pmu_cpumask_get_attr() local
106 struct imc_pmu *imc_pmu = container_of(pmu, struct imc_pmu, pmu); in imc_pmu_cpumask_get_attr()
221 static int update_events_in_group(struct device_node *node, struct imc_pmu *pmu) in update_events_in_group() argument
260 pmu->events = kcalloc(ct, sizeof(struct imc_events), GFP_KERNEL); in update_events_in_group()
261 if (!pmu->events) { in update_events_in_group()
269 ret = imc_parse_event(np, g_scale, g_unit, prefix, base_reg, &pmu->events[ct]); in update_events_in_group()
279 imc_free_events(pmu->events, ct); in update_events_in_group()
294 imc_free_events(pmu->events, ct); in update_events_in_group()
301 ev_val_str = kasprintf(GFP_KERNEL, "event=0x%x", pmu->events[i].value); in update_events_in_group()
[all …]
/linux/tools/perf/pmu-events/
H A DBuild1 pmu-events-y += pmu-events.o
2 JDIR = pmu-events/arch/$(SRCARCH)
5 JDIR_TEST = pmu-events/arch/test
8 JEVENTS_PY = pmu-events/jevents.py
9 METRIC_PY = pmu-events/metric.py
10 METRIC_TEST_PY = pmu-events/metric_test.py
11 EMPTY_PMU_EVENTS_C = pmu-events/empty-pmu-events.c
12 PMU_EVENTS_C = $(OUTPUT)pmu-events/pmu-events.c
13 METRIC_TEST_LOG = $(OUTPUT)pmu-events/metric_test.log
14 TEST_EMPTY_PMU_EVENTS_C = $(OUTPUT)pmu-events/test-empty-pmu-events.c
[all …]
/linux/Documentation/devicetree/bindings/pinctrl/
H A Dmarvell,dove-pinctrl.txt14 Note: pmu* also allows for Power Management functions listed below
18 mpp0 0 gpio, pmu, uart2(rts), sdio0(cd), lcd0(pwm), pmu*
19 mpp1 1 gpio, pmu, uart2(cts), sdio0(wp), lcd1(pwm), pmu*
20 mpp2 2 gpio, pmu, uart2(txd), sdio0(buspwr), sata(prsnt),
21 uart1(rts), pmu*
22 mpp3 3 gpio, pmu, uart2(rxd), sdio0(ledctrl), sata(act),
23 uart1(cts), lcd-spi(cs1), pmu*
24 mpp4 4 gpio, pmu, uart3(rts), sdio1(cd), spi1(miso), pmu*
25 mpp5 5 gpio, pmu, uart3(cts), sdio1(wp), spi1(cs), pmu*
26 mpp6 6 gpio, pmu, uart3(txd), sdio1(buspwr), spi1(mosi), pmu*
[all …]
/linux/arch/x86/events/
H A Drapl.c124 struct pmu *pmu; member
130 struct pmu pmu; member
235 static void rapl_start_hrtimer(struct rapl_pmu *pmu) in rapl_start_hrtimer() argument
237 hrtimer_start(&pmu->hrtimer, pmu->timer_interval, in rapl_start_hrtimer()
243 struct rapl_pmu *pmu = container_of(hrtimer, struct rapl_pmu, hrtimer); in rapl_hrtimer_handle() local
247 if (!pmu->n_active) in rapl_hrtimer_handle()
250 raw_spin_lock_irqsave(&pmu->lock, flags); in rapl_hrtimer_handle()
252 list_for_each_entry(event, &pmu->active_list, active_entry) in rapl_hrtimer_handle()
255 raw_spin_unlock_irqrestore(&pmu->lock, flags); in rapl_hrtimer_handle()
257 hrtimer_forward_now(hrtimer, pmu->timer_interval); in rapl_hrtimer_handle()
[all …]
/linux/tools/perf/arch/x86/util/
H A Dpmu.c15 #include "../../../util/pmu.h"
21 void perf_pmu__arch_init(struct perf_pmu *pmu __maybe_unused) in perf_pmu__arch_init()
24 if (!strcmp(pmu->name, INTEL_PT_PMU_NAME)) { in perf_pmu__arch_init()
25 pmu->auxtrace = true; in perf_pmu__arch_init()
26 pmu->selectable = true; in perf_pmu__arch_init()
27 pmu->perf_event_attr_init_default = intel_pt_pmu_default_config; in perf_pmu__arch_init()
29 if (!strcmp(pmu->name, INTEL_BTS_PMU_NAME)) { in perf_pmu__arch_init()
30 pmu->auxtrace = true; in perf_pmu__arch_init()
31 pmu->selectable = true; in perf_pmu__arch_init()
36 if (!strcmp(pmu in perf_pmu__arch_init()
[all...]

12345678910>>...23