Home
last modified time | relevance | path

Searched full:pmu (Results 1 – 25 of 1036) sorted by relevance

12345678910>>...42

/linux/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/
H A Dbase.c32 struct nvkm_pmu *pmu = device->pmu; in nvkm_pmu_fan_controlled() local
34 /* Internal PMU FW does not currently control fans in any way, in nvkm_pmu_fan_controlled()
37 if (pmu && pmu->func->code.size) in nvkm_pmu_fan_controlled()
40 /* Default (board-loaded, or VBIOS PMU/PREOS) PMU FW on Fermi 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
[all …]
H A Dgm20b.c28 #include <nvfw/pmu.h>
42 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()
[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()
50 * on a synchronous reply, take the PMU mutex and tell the 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()
[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 …]
/linux/tools/perf/util/
H A Dpmus.c17 #include "pmu.h"
24 * core_pmus: A PMU belongs to core_pmus if it's name is "cpu" or it's sysfs
26 * must have pmu->is_core=1. If there are more than one PMU in
29 * homogeneous PMU, and thus they are treated as homogeneous
32 * matter whether PMU is present per SMT-thread or outside of the
36 * must have pmu->is_core=0 but pmu->is_uncore could be 0 or 1.
63 * that S390's cpum_cf PMU doesn't match. in pmu_name_len_no_suffix()
93 struct perf_pmu *pmu, *tm 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.
71 * differ from the PMU name as it won't have suffixes.
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, struc 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"
50 /** @name: The name of the PMU such as "cpu". */
53 * @alias_name: Optional alternate name for the PMU determined in
58 * @id: Optional PMU identifier read from
68 * @selectable: Can the PMU name be selected as if it were an event?
72 * @is_core: Is the PMU the core CPU PMU? Determined by the name being
75 * PMU on systems like Intel hybrid.
79 * @is_uncore: Is the PMU no
188 const struct perf_pmu *pmu; global() member
[all...]
/linux/drivers/soc/dove/
H A Dpmu.c3 * Marvell Dove PMU support
17 #include <linux/soc/dove/pmu.h>
42 * The PMU contains a register to reset various subsystems within the
50 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
[all …]
/linux/drivers/pmdomain/starfive/
H A Djh71xx-pmu.c3 * StarFive JH71XX PMU (Power Management Unit) Controller Driver
15 #include <dt-bindings/power/starfive,jh7110-pmu.h>
26 /* aon pmu register offset */
36 /* pmu int status */
64 struct jh71xx_pmu *pmu);
76 spinlock_t lock; /* protects pmu reg */
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
[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/arch/x86/kvm/svm/
H A Dpmu.c3 * KVM PMU support for AMD
20 #include "pmu.h"
28 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()
52 * Each PMU counter has a pair of CTL and CTR MSRs. CTLn 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
[all …]
/linux/Documentation/devicetree/bindings/arm/rockchip/
H A Dpmu.yaml4 $id: http://devicetree.org/schemas/arm/rockchip/pmu.yaml#
7 title: Rockchip Power Management Unit (PMU)
14 The PMU is used to turn on and off different power domains of the SoCs.
22 - rockchip,px30-pmu
23 - rockchip,rk3066-pmu
24 - rockchip,rk3128-pmu
25 - rockchip,rk3288-pmu
26 - rockchip,rk3368-pmu
27 - rockchip,rk3399-pmu
28 - rockchip,rk3568-pmu
[all …]
/linux/Documentation/devicetree/bindings/pinctrl/
H A Dmarvell,dove-pinctrl.txt9 - reg: register specifiers of MPP, MPP4, and PMU MPP registers
14 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*
[all …]
/linux/drivers/perf/
H A DKconfig10 tristate "ARM CCI PMU driver"
14 Support for PMU events monitoring on the ARM CCI (Cache Coherent
41 PMU (perf) driver supporting the ARM CCN (Cache Coherent Network)
45 tristate "Arm CMN-600 PMU support"
48 Support for PMU events monitoring on the Arm CMN-600 Coherent Mesh
52 tristate "Arm NI-700 PMU support"
55 Support for PMU events monitoring on the Arm NI-700 Network-on-Chip
60 bool "ARM PMU framework"
80 bool "RISC-V PMU framework"
84 systems. This provides the core PMU framework that abstracts common
[all …]
H A Darm_pmu_platform.c25 static int probe_current_pmu(struct arm_pmu *pmu, in probe_current_pmu() argument
32 pr_info("probing PMU on CPU %d\n", cpu); in probe_current_pmu()
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()
[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()
278 * ARM pmu always has to update the counter, so ignore in armpmu_stop()
290 struct arm_pmu *armpmu = to_arm_pmu(event->pmu); in armpmu_start()
294 * ARM pmu always has to reprogram the period, so ignore 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
[all …]
H A Darm_pmu_acpi.c32 * Per the ACPI spec, the MADT cannot describe a PMU that doesn't in arm_pmu_acpi_register_irq()
149 * For lack of a better place, hook the normal PMU MADT walk
208 pr_warn("Unable to parse ACPI PMU IRQ for CPU%d: %d\n", in arm_pmu_acpi_parse_irqs()
212 pr_warn("No ACPI PMU IRQ for CPU%d\n", cpu); in arm_pmu_acpi_parse_irqs()
252 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()
268 * the PMU (e.g. we don't have mismatched PPIs).
270 static bool pmu_irq_matches(struct arm_pmu *pmu, int irq) in pmu_irq_matches() argument
[all …]
/linux/tools/perf/arch/arm/util/
H A Dpmu.c8 #include <linux/coresight-pmu.h>
15 #include "../../../util/pmu.h"
19 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()
[all …]
/linux/arch/x86/events/intel/
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()
382 * Using uncore_pmu_event_init pmu event_init callback
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()
695 * PMU if it was the only group available.
[all …]
/linux/Documentation/devicetree/bindings/perf/
H A Dapm-xgene-pmu.txt1 * APM X-Gene SoC PMU bindings
3 This is APM X-Gene SoC PMU (Performance Monitoring Unit) module.
4 The following PMU devices are supported:
11 The following section describes the SoC PMU DT node binding.
14 - compatible : Shall be "apm,xgene-pmu" for revision 1 or
15 "apm,xgene-pmu-v2" for revision 2.
19 - reg : First resource shall be the CPU bus PMU resource.
20 - interrupts : Interrupt-specifier for PMU IRQ.
23 - compatible : Shall be "apm,xgene-pmu-l3c".
24 - reg : First resource shall be the L3C PMU resource.
[all …]
/linux/tools/perf/tests/
H A Dpmu-events.c4 #include "pmu.h"
12 #include "../pmu-events/pmu-events.h"
22 /* used for matching against events from generated pmu-events.c */
36 /* PMU which we should match against */
41 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",
[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/admin-guide/perf/
H A Dnvidia-pmu.rst2 NVIDIA Tegra SoC Uncore Performance Monitoring Unit (PMU)
14 PMU Driver
17 The PMUs in this document are based on ARM CoreSight PMU Architecture as
19 PMUs are managed by a common driver "arm-cs-arch-pmu". This driver describes
20 the available events and configuration of each PMU in sysfs. Please see the
21 sections below to get the sysfs path of each PMU. Like other uncore PMU drivers,
23 the PMU event. There is also "associated_cpus" sysfs attribute, which contains a
24 list of CPUs associated with the PMU instance.
28 SCF PMU
31 The SCF PMU monitors system level cache events, CPU traffic, and
[all …]
/linux/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/
H A Dgm200.c28 #include <subdev/bios/pmu.h>
29 #include <subdev/pmu.h>
33 pmu_code(struct nv50_devinit *init, u32 pmu, u32 img, u32 len, bool sec) in pmu_code() argument
39 nvkm_wr32(device, 0x10a180, 0x01000000 | (sec ? 0x10000000 : 0) | pmu); in pmu_code()
42 nvkm_wr32(device, 0x10a188, (pmu + i) >> 8); in pmu_code()
53 pmu_data(struct nv50_devinit *init, u32 pmu, u32 img, u32 len) in pmu_data() argument
59 nvkm_wr32(device, 0x10a1c0, 0x01000000 | pmu); in pmu_data()
88 struct nvbios_pmuR pmu; in pmu_load() local
91 if (!nvbios_pmuRm(bios, type, &pmu)) in pmu_load()
94 if (!post || !subdev->device->pmu) in pmu_load()
[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
56 * supported if "CPUID.0AH: EAX[7:0] > 0", i.e. if the PMU version is in kvm_pmu_has_perf_global_ctrl()
58 * to/for the guest if the guest PMU supports at least "Architectural in kvm_pmu_has_perf_global_ctrl()
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()
[all …]

12345678910>>...42