| /linux/drivers/net/wireless/ath/wil6210/ |
| H A D | pmc.c | 14 #include "pmc.h" 21 static int wil_is_pmc_allocated(struct pmc_ctx *pmc) in wil_is_pmc_allocated() argument 23 return !!pmc->pring_va; in wil_is_pmc_allocated() 28 memset(&wil->pmc, 0, sizeof(struct pmc_ctx)); in wil_pmc_init() 29 mutex_init(&wil->pmc.lock); in wil_pmc_init() 34 * Initialize the descriptors as required by pmc dma. 44 struct pmc_ctx *pmc = &wil->pmc; in wil_pmc_alloc() local 50 mutex_lock(&pmc->lock); in wil_pmc_alloc() 52 if (wil_is_pmc_allocated(pmc)) { in wil_pmc_alloc() 54 wil_err(wil, "ERROR pmc is already allocated\n"); in wil_pmc_alloc() [all …]
|
| /linux/Documentation/devicetree/bindings/powerpc/fsl/ |
| H A D | pmc.yaml | 4 $id: http://devicetree.org/schemas/powerpc/fsl/pmc.yaml# 17 example `sleep = <&pmc 0x00000030>`. Any cells after the &pmc phandle are 20 For "fsl,mpc8349-pmc", sleep specifiers consist of one cell. For each bit that 25 For "fsl,mpc8536-pmc", sleep specifiers consist of three cells, the third of 27 resume. The first two cells are as described for fsl,mpc8548-pmc. This 31 For "fsl,mpc8548-pmc" or "fsl,mpc8641d-pmc", Sleep specifiers consist of one 43 - const: fsl,mpc8315-pmc 44 - const: fsl,mpc8313-pmc 45 - const: fsl,mpc8349-pmc 49 - fsl,mpc8313-pmc [all …]
|
| /linux/drivers/soc/tegra/ |
| H A D | pmc.c | 3 * drivers/soc/tegra/pmc.c 12 #define pr_fmt(fmt) "tegra-pmc: " fmt 56 #include <soc/tegra/pmc.h> 64 #include <dt-bindings/soc/tegra-pmc.h> 199 /* for secure PMC */ 209 struct tegra_pmc *pmc; 219 struct tegra_pmc *pmc; 276 struct tegra_pmc *pmc; 287 struct tegra_pmc *pmc; 391 void (*init)(struct tegra_pmc *pmc); 206 struct tegra_pmc *pmc; global() member 216 struct tegra_pmc *pmc; global() member 273 struct tegra_pmc *pmc; global() member 284 struct tegra_pmc *pmc; global() member 493 static struct tegra_pmc *pmc = &(struct tegra_pmc) { global() variable 504 tegra_pmc_readl(struct tegra_pmc * pmc,unsigned long offset) tegra_pmc_readl() argument 526 tegra_pmc_writel(struct tegra_pmc * pmc,u32 value,unsigned long offset) tegra_pmc_writel() argument 547 tegra_pmc_scratch_readl(struct tegra_pmc * pmc,unsigned long offset) tegra_pmc_scratch_readl() argument 555 tegra_pmc_scratch_writel(struct tegra_pmc * pmc,u32 value,unsigned long offset) tegra_pmc_scratch_writel() argument 564 tegra_powergate_state(struct tegra_pmc * pmc,int id) tegra_powergate_state() argument 572 tegra_powergate_is_valid(struct tegra_pmc * pmc,int id) tegra_powergate_is_valid() argument 577 tegra_powergate_is_available(struct tegra_pmc * pmc,int id) tegra_powergate_is_available() argument 582 tegra_powergate_lookup(struct tegra_pmc * pmc,const char * name) tegra_powergate_lookup() argument 600 tegra20_powergate_set(struct tegra_pmc * pmc,unsigned int id,bool new_state) tegra20_powergate_set() argument 624 tegra_powergate_toggle_ready(struct tegra_pmc * pmc) tegra_powergate_toggle_ready() argument 629 tegra114_powergate_set(struct tegra_pmc * pmc,unsigned int id,bool new_state) tegra114_powergate_set() argument 665 tegra_powergate_set(struct tegra_pmc * pmc,unsigned int id,bool new_state) tegra_powergate_set() argument 687 __tegra_powergate_remove_clamping(struct tegra_pmc * pmc,unsigned int id) __tegra_powergate_remove_clamping() argument 962 struct tegra_pmc *pmc = data; tegra_pmc_put_device() local 973 struct tegra_pmc *pmc; tegra_pmc_get() local 1015 struct tegra_pmc *pmc; devm_tegra_pmc_get() local 1035 tegra_pmc_powergate_power_on(struct tegra_pmc * pmc,unsigned int id) tegra_pmc_powergate_power_on() argument 1059 tegra_pmc_powergate_power_off(struct tegra_pmc * pmc,unsigned int id) tegra_pmc_powergate_power_off() argument 1083 tegra_powergate_is_powered(struct tegra_pmc * pmc,unsigned int id) tegra_powergate_is_powered() argument 1096 tegra_pmc_powergate_remove_clamping(struct tegra_pmc * pmc,unsigned int id) tegra_pmc_powergate_remove_clamping() argument 1124 tegra_pmc_powergate_sequence_power_up(struct tegra_pmc * pmc,unsigned int id,struct clk * clk,struct reset_control * rst) tegra_pmc_powergate_sequence_power_up() argument 1185 tegra_get_cpu_powergate_id(struct tegra_pmc * pmc,unsigned int cpuid) tegra_get_cpu_powergate_id() argument 1239 tegra_pmc_program_reboot_reason(struct tegra_pmc * pmc,const char * cmd) tegra_pmc_program_reboot_reason() argument 1264 struct tegra_pmc *pmc = container_of(this, struct tegra_pmc, tegra_pmc_reboot_notify() local 1272 tegra_pmc_restart(struct tegra_pmc * pmc) tegra_pmc_restart() argument 1284 struct tegra_pmc *pmc = data->cb_data; tegra_pmc_restart_handler() local 1293 struct tegra_pmc *pmc = data->cb_data; tegra_pmc_power_off_handler() local 1312 struct tegra_pmc *pmc = data; powergate_show() local 1398 tegra_powergate_add(struct tegra_pmc * pmc,struct device_node * np) tegra_powergate_add() argument 1522 struct tegra_pmc *pmc = pd->pmc; tegra_pmc_core_pd_set_performance_state() local 1548 tegra_pmc_core_pd_add(struct tegra_pmc * pmc,struct device_node * np) tegra_pmc_core_pd_add() argument 1588 tegra_powergate_init(struct tegra_pmc * pmc,struct device_node * parent) tegra_powergate_init() argument 1680 tegra_io_pad_find(struct tegra_pmc * pmc,enum tegra_io_pad id) tegra_io_pad_find() argument 1691 tegra_io_pad_prepare(struct tegra_pmc * pmc,const struct tegra_io_pad_soc * pad,unsigned long * request,unsigned long * status,u32 * mask) tegra_io_pad_prepare() argument 1724 tegra_io_pad_poll(struct tegra_pmc * pmc,unsigned long offset,u32 mask,u32 val,unsigned long timeout) tegra_io_pad_poll() argument 1742 tegra_io_pad_unprepare(struct tegra_pmc * pmc) tegra_io_pad_unprepare() argument 1755 tegra_pmc_io_pad_power_enable(struct tegra_pmc * pmc,enum tegra_io_pad id) tegra_pmc_io_pad_power_enable() argument 1811 tegra_pmc_io_pad_power_disable(struct tegra_pmc * pmc,enum tegra_io_pad id) tegra_pmc_io_pad_power_disable() argument 1860 tegra_io_pad_is_powered(struct tegra_pmc * pmc,enum tegra_io_pad id) tegra_io_pad_is_powered() argument 1883 tegra_io_pad_set_voltage(struct tegra_pmc * pmc,enum tegra_io_pad id,int voltage) tegra_io_pad_set_voltage() argument 1931 tegra_io_pad_get_voltage(struct tegra_pmc * pmc,enum tegra_io_pad id) tegra_io_pad_get_voltage() argument 2005 tegra_pmc_parse_dt(struct tegra_pmc * pmc,struct device_node * np) tegra_pmc_parse_dt() argument 2081 struct tegra_pmc *pmc = container_of(work, struct tegra_pmc, wake_work); tegra186_pmc_wake_handler() local 2122 tegra_pmc_init(struct tegra_pmc * pmc) tegra_pmc_init() argument 2160 tegra_pmc_init_tsense_reset(struct tegra_pmc * pmc) tegra_pmc_init_tsense_reset() argument 2238 struct tegra_pmc *pmc = pinctrl_dev_get_drvdata(pctl_dev); tegra_io_pad_pinctrl_get_groups_count() local 2246 struct tegra_pmc *pmc = pinctrl_dev_get_drvdata(pctl); tegra_io_pad_pinctrl_get_group_name() local 2256 struct tegra_pmc *pmc = pinctrl_dev_get_drvdata(pctl_dev); tegra_io_pad_pinctrl_get_group_pins() local 2276 struct tegra_pmc *pmc = pinctrl_dev_get_drvdata(pctl_dev); tegra_io_pad_pinconf_get() local 2315 struct tegra_pmc *pmc = pinctrl_dev_get_drvdata(pctl_dev); tegra_io_pad_pinconf_set() local 2366 tegra_pmc_pinctrl_init(struct tegra_pmc * pmc) tegra_pmc_pinctrl_init() argument 2392 struct tegra_pmc *pmc = dev_get_drvdata(dev); reset_reason_show() local 2410 struct tegra_pmc *pmc = dev_get_drvdata(dev); reset_level_show() local 2425 tegra_pmc_reset_sysfs_init(struct tegra_pmc * pmc) tegra_pmc_reset_sysfs_init() argument 2464 struct tegra_pmc *pmc = domain->host_data; tegra_pmc_irq_alloc() local 2539 struct tegra_pmc *pmc = irq_data_get_irq_chip_data(data); tegra210_pmc_irq_set_wake() local 2573 struct tegra_pmc *pmc = irq_data_get_irq_chip_data(data); tegra210_pmc_irq_set_type() local 2611 tegra186_pmc_set_wake_filters(struct tegra_pmc * pmc) tegra186_pmc_set_wake_filters() argument 2624 struct tegra_pmc *pmc = irq_data_get_irq_chip_data(data); tegra186_pmc_irq_set_wake() local 2652 struct tegra_pmc *pmc = irq_data_get_irq_chip_data(data); tegra186_pmc_irq_set_type() local 2715 tegra_pmc_irq_init(struct tegra_pmc * pmc) tegra_pmc_irq_init() argument 2750 struct tegra_pmc *pmc = container_of(nb, struct tegra_pmc, clk_nb); tegra_pmc_clk_notify_cb() local 2774 pmc_clk_fence_udelay(struct tegra_pmc * pmc,u32 offset) pmc_clk_fence_udelay() argument 2816 pmc_clk_set_state(struct tegra_pmc * pmc,unsigned long offs,u32 shift,int state) pmc_clk_set_state() argument 2853 tegra_pmc_clk_out_register(struct tegra_pmc * pmc,const struct pmc_clk_init_data * data,unsigned long offset) tegra_pmc_clk_out_register() argument 2911 tegra_pmc_clk_gate_register(struct tegra_pmc * pmc,const char * name,const char * parent_name,unsigned long offset,u32 shift) tegra_pmc_clk_gate_register() argument 2936 tegra_pmc_clock_register(struct tegra_pmc * pmc,struct device_node * np) tegra_pmc_clock_register() argument 3048 struct tegra_pmc *pmc = context; tegra_pmc_regmap_readl() local 3056 struct tegra_pmc *pmc = context; tegra_pmc_regmap_writel() local 3074 tegra_pmc_regmap_init(struct tegra_pmc * pmc) tegra_pmc_regmap_init() argument 3093 struct tegra_pmc *pmc = data; tegra_pmc_reset_suspend_mode() local 3282 wke_32kwritel(struct tegra_pmc * pmc,u32 value,unsigned int offset) wke_32kwritel() argument 3288 wke_write_wake_level(struct tegra_pmc * pmc,int wake,int level) wke_write_wake_level() argument 3302 wke_write_wake_levels(struct tegra_pmc * pmc) wke_write_wake_levels() argument 3310 wke_clear_sw_wake_status(struct tegra_pmc * pmc) wke_clear_sw_wake_status() argument 3315 wke_read_sw_wake_status(struct tegra_pmc * pmc) wke_read_sw_wake_status() argument 3355 wke_clear_wake_status(struct tegra_pmc * pmc) wke_clear_wake_status() argument 3372 struct tegra_pmc *pmc = data; tegra186_pmc_wake_syscore_resume() local 3387 struct tegra_pmc *pmc = data; tegra186_pmc_wake_syscore_suspend() local 3422 struct tegra_pmc *pmc = dev_get_drvdata(dev); tegra_pmc_suspend() local 3431 struct tegra_pmc *pmc = dev_get_drvdata(dev); tegra_pmc_resume() local 3461 tegra20_pmc_init(struct tegra_pmc * pmc) tegra20_pmc_init() argument 3501 tegra20_pmc_setup_irq_polarity(struct tegra_pmc * pmc,struct device_node * np,bool invert) tegra20_pmc_setup_irq_polarity() argument 4067 tegra186_pmc_init(struct tegra_pmc * pmc) tegra186_pmc_init() argument 4074 tegra186_pmc_setup_irq_polarity(struct tegra_pmc * pmc,struct device_node * np,bool invert) tegra186_pmc_setup_irq_polarity() argument 4691 tegra_pmc_detect_tz_only(struct tegra_pmc * pmc) tegra_pmc_detect_tz_only() argument [all...] |
| /linux/tools/testing/selftests/powerpc/pmu/sampling_tests/ |
| H A D | misc.h | 65 static inline int get_mmcr0_fc56(u64 mmcr0, int pmc) 70 static inline int get_mmcr0_pmccext(u64 mmcr0, int pmc) 75 static inline int get_mmcr0_pmao(u64 mmcr0, int pmc) 80 static inline int get_mmcr0_cc56run(u64 mmcr0, int pmc) 85 static inline int get_mmcr0_pmcjce(u64 mmcr0, int pmc) 90 static inline int get_mmcr0_pmc1ce(u64 mmcr0, int pmc) 95 static inline int get_mmcr0_pmae(u64 mmcr0, int pmc) 100 static inline int get_mmcr1_pmcxsel(u64 mmcr1, int pmc) 102 return ((mmcr1 >> ((24 - (((pmc) - 1) * 8))) & 0xff)); in get_mmcr1_unit() 105 static inline int get_mmcr1_unit(u64 mmcr1, int pmc) 61 get_mmcr0_fc56(u64 mmcr0,int pmc) get_mmcr0_fc56() argument 66 get_mmcr0_pmccext(u64 mmcr0,int pmc) get_mmcr0_pmccext() argument 71 get_mmcr0_pmao(u64 mmcr0,int pmc) get_mmcr0_pmao() argument 76 get_mmcr0_cc56run(u64 mmcr0,int pmc) get_mmcr0_cc56run() argument 81 get_mmcr0_pmcjce(u64 mmcr0,int pmc) get_mmcr0_pmcjce() argument 86 get_mmcr0_pmc1ce(u64 mmcr0,int pmc) get_mmcr0_pmc1ce() argument 91 get_mmcr0_pmae(u64 mmcr0,int pmc) get_mmcr0_pmae() argument 96 get_mmcr1_pmcxsel(u64 mmcr1,int pmc) get_mmcr1_pmcxsel() argument 101 get_mmcr1_unit(u64 mmcr1,int pmc) get_mmcr1_unit() argument 106 get_mmcr1_comb(u64 mmcr1,int pmc) get_mmcr1_comb() argument 111 get_mmcr1_cache(u64 mmcr1,int pmc) get_mmcr1_cache() argument 116 get_mmcr1_rsq(u64 mmcr1,int pmc) get_mmcr1_rsq() argument 121 get_mmcr2_fcs(u64 mmcr2,int pmc) get_mmcr2_fcs() argument 126 get_mmcr2_fcp(u64 mmcr2,int pmc) get_mmcr2_fcp() argument 131 get_mmcr2_fcpc(u64 mmcr2,int pmc) get_mmcr2_fcpc() argument 136 get_mmcr2_fcm1(u64 mmcr2,int pmc) get_mmcr2_fcm1() argument 141 get_mmcr2_fcm0(u64 mmcr2,int pmc) get_mmcr2_fcm0() argument 146 get_mmcr2_fcwait(u64 mmcr2,int pmc) get_mmcr2_fcwait() argument 151 get_mmcr2_fch(u64 mmcr2,int pmc) get_mmcr2_fch() argument 156 get_mmcr2_fcti(u64 mmcr2,int pmc) get_mmcr2_fcti() argument 161 get_mmcr2_fcta(u64 mmcr2,int pmc) get_mmcr2_fcta() argument 166 get_mmcr2_l2l3(u64 mmcr2,int pmc) get_mmcr2_l2l3() argument 173 get_mmcr3_src(u64 mmcr3,int pmc) get_mmcr3_src() argument 180 get_mmcra_thd_cmp(u64 mmcra,int pmc) get_mmcra_thd_cmp() argument 187 get_mmcra_sm(u64 mmcra,int pmc) get_mmcra_sm() argument 192 get_mmcra_bhrb_disable(u64 mmcra,int pmc) get_mmcra_bhrb_disable() argument 199 get_mmcra_ifm(u64 mmcra,int pmc) get_mmcra_ifm() argument 204 get_mmcra_thd_sel(u64 mmcra,int pmc) get_mmcra_thd_sel() argument 209 get_mmcra_thd_start(u64 mmcra,int pmc) get_mmcra_thd_start() argument 214 get_mmcra_thd_stop(u64 mmcra,int pmc) get_mmcra_thd_stop() argument 219 get_mmcra_rand_samp_elig(u64 mmcra,int pmc) get_mmcra_rand_samp_elig() argument 224 get_mmcra_sample_mode(u64 mmcra,int pmc) get_mmcra_sample_mode() argument 229 get_mmcra_marked(u64 mmcra,int pmc) get_mmcra_marked() argument [all...] |
| /linux/drivers/mfd/ |
| H A D | intel_pmc_bxt.c | 3 * Driver for the Intel Broxton PMC 10 * The PMC (Power Management Controller) running on the ARC processor 13 * turn sends messages between the IA and the PMC. 51 * BIOS does not create an ACPI device for each PMC function, but 73 * intel_pmc_gcr_read64() - Read a 64-bit PMC GCR register 74 * @pmc: PMC device pointer 78 * Reads the 64-bit PMC GCR register at given offset. 82 int intel_pmc_gcr_read64(struct intel_pmc_dev *pmc, u32 offset, u64 *data) in intel_pmc_gcr_read64() argument 87 spin_lock(&pmc->gcr_lock); in intel_pmc_gcr_read64() 88 *data = readq(pmc->gcr_mem_base + offset); in intel_pmc_gcr_read64() [all …]
|
| /linux/net/ipv4/ |
| H A D | igmp.c | 163 static int sf_setstate(struct ip_mc_list *pmc); 164 static void sf_markstate(struct ip_mc_list *pmc); 166 static void ip_mc_clear_src(struct ip_mc_list *pmc); 178 #define for_each_pmc_rcu(in_dev, pmc) \ argument 179 for (pmc = rcu_dereference(in_dev->mc_list); \ 180 pmc != NULL; \ 181 pmc = rcu_dereference(pmc->next_rcu)) 183 #define for_each_pmc_rtnl(in_dev, pmc) \ argument 184 for (pmc = rtnl_dereference(in_dev->mc_list); \ 185 pmc != NULL; \ [all …]
|
| /linux/arch/riscv/kvm/ |
| H A D | vcpu_pmu.c | 39 static u64 kvm_pmu_get_sample_period(struct kvm_pmc *pmc) in kvm_pmu_get_sample_period() 41 u64 counter_val_mask = GENMASK(pmc->cinfo.width, 0); in kvm_pmu_get_sample_period() 44 if (!pmc->counter_val) in kvm_pmu_get_sample_period() 47 sample_period = (-pmc->counter_val) & counter_val_mask; in kvm_pmu_get_sample_period() 81 static void kvm_pmu_release_perf_event(struct kvm_pmc *pmc) in kvm_pmu_release_perf_event() 83 if (pmc->perf_event) { in kvm_pmu_release_perf_event() 84 perf_event_disable(pmc->perf_event); in kvm_pmu_release_perf_event() 85 perf_event_release_kernel(pmc->perf_event); in kvm_pmu_release_perf_event() 86 pmc->perf_event = NULL; in kvm_pmu_release_perf_event() 211 struct kvm_pmc *pmc; in pmu_fw_ctr_read_hi() 38 kvm_pmu_get_sample_period(struct kvm_pmc * pmc) kvm_pmu_get_sample_period() argument 80 kvm_pmu_release_perf_event(struct kvm_pmc * pmc) kvm_pmu_release_perf_event() argument 210 struct kvm_pmc *pmc; pmu_fw_ctr_read_hi() local 241 struct kvm_pmc *pmc; pmu_ctr_read() local 280 struct kvm_pmc *pmc = perf_event->overflow_handler_context; kvm_riscv_pmu_overflow() local 317 kvm_pmu_create_perf_event(struct kvm_pmc * pmc,struct perf_event_attr * attr,unsigned long flags,unsigned long eidx,unsigned long evtdata) kvm_pmu_create_perf_event() argument 544 struct kvm_pmc *pmc; kvm_riscv_vcpu_pmu_ctr_start() local 622 struct kvm_pmc *pmc; kvm_riscv_vcpu_pmu_ctr_stop() local 724 struct kvm_pmc *pmc = NULL; kvm_riscv_vcpu_pmu_ctr_cfg_match() local 823 struct kvm_pmc *pmc; kvm_riscv_vcpu_pmu_init() local 890 struct kvm_pmc *pmc; kvm_riscv_vcpu_pmu_deinit() local [all...] |
| /linux/arch/arm/mach-at91/ |
| H A D | pm_suspend.S | 22 pmc .req r0 label 42 2: ldr r8, [pmc, #AT91_PMC_SR] 54 1: ldr r7, [pmc, #AT91_PMC_SR] 65 1: ldr r7, [pmc, #AT91_PMC_SR] 79 str r7, [pmc, #AT91_PMC_SCDR] 453 ldr pmc, .pmc_base 462 ldr tmp1, [pmc, tmp3] 465 str tmp1, [pmc, tmp3] 473 ldr tmp1, [pmc, #AT91_CKGR_MOR] 476 str tmp1, [pmc, #AT91_CKGR_MOR] [all …]
|
| /linux/arch/arm64/kvm/ |
| H A D | pmu-emul.c | 23 static void kvm_pmu_create_perf_event(struct kvm_pmc *pmc); 24 static void kvm_pmu_release_perf_event(struct kvm_pmc *pmc); 25 static bool kvm_pmu_counter_is_enabled(struct kvm_pmc *pmc); 33 static struct kvm_vcpu *kvm_pmc_to_vcpu(const struct kvm_pmc *pmc) in kvm_pmc_to_vcpu() argument 35 return container_of(pmc, struct kvm_vcpu, arch.pmu.pmc[pmc->idx]); in kvm_pmc_to_vcpu() 40 return &vcpu->arch.pmu.pmc[cnt_idx]; in kvm_vcpu_idx_to_pmc() 85 * @pmc: counter context 87 static bool kvm_pmc_is_64bit(struct kvm_pmc *pmc) in kvm_pmc_is_64bit() argument 95 kvm_pmc_has_64bit_overflow(struct kvm_pmc * pmc) kvm_pmc_has_64bit_overflow() argument 107 kvm_pmu_counter_can_chain(struct kvm_pmc * pmc) kvm_pmu_counter_can_chain() argument 123 kvm_pmc_read_evtreg(const struct kvm_pmc * pmc) kvm_pmc_read_evtreg() argument 128 kvm_pmu_get_pmc_value(struct kvm_pmc * pmc) kvm_pmu_get_pmc_value() argument 160 kvm_pmu_set_pmc_value(struct kvm_pmc * pmc,u64 val,bool force) kvm_pmu_set_pmc_value() argument 215 kvm_pmu_release_perf_event(struct kvm_pmc * pmc) kvm_pmu_release_perf_event() argument 230 kvm_pmu_stop_counter(struct kvm_pmc * pmc) kvm_pmu_stop_counter() argument 328 kvm_pmc_enable_perf_event(struct kvm_pmc * pmc) kvm_pmc_enable_perf_event() argument 340 kvm_pmc_disable_perf_event(struct kvm_pmc * pmc) kvm_pmc_disable_perf_event() argument 354 struct kvm_pmc *pmc = kvm_vcpu_idx_to_pmc(vcpu, i); kvm_pmu_reprogram_counter_mask() local 493 struct kvm_pmc *pmc = kvm_vcpu_idx_to_pmc(vcpu, i); kvm_pmu_counter_increment() local 522 compute_period(struct kvm_pmc * pmc,u64 counter) compute_period() argument 541 struct kvm_pmc *pmc = perf_event->overflow_handler_context; kvm_pmu_perf_overflow() local 622 kvm_pmu_counter_is_enabled(struct kvm_pmc * pmc) kvm_pmu_counter_is_enabled() argument 636 kvm_pmc_counts_at_el0(struct kvm_pmc * pmc) kvm_pmc_counts_at_el0() argument 645 kvm_pmc_counts_at_el1(struct kvm_pmc * pmc) kvm_pmc_counts_at_el1() argument 654 kvm_pmc_counts_at_el2(struct kvm_pmc * pmc) kvm_pmc_counts_at_el2() argument 683 kvm_pmu_create_perf_event(struct kvm_pmc * pmc) kvm_pmu_create_perf_event() argument 778 struct kvm_pmc *pmc = kvm_vcpu_idx_to_pmc(vcpu, select_idx); kvm_pmu_set_counter_event_type() local 1319 struct kvm_pmc *pmc = kvm_vcpu_idx_to_pmc(vcpu, i); kvm_pmu_nested_transition() local [all...] |
| /linux/net/ipv6/ |
| H A D | mcast.c | 82 static int sf_setstate(struct ifmcaddr6 *pmc); 83 static void sf_markstate(struct ifmcaddr6 *pmc); 84 static void ip6_mc_clear_src(struct ifmcaddr6 *pmc); 120 #define for_each_pmc_socklock(np, sk, pmc) \ argument 121 for (pmc = sock_dereference((np)->ipv6_mc_list, sk); \ 122 pmc; \ 123 pmc = sock_dereference(pmc->next, sk)) 125 #define for_each_pmc_rcu(np, pmc) \ argument 126 for (pmc = rcu_dereference((np)->ipv6_mc_list); \ 127 pmc; \ [all …]
|
| /linux/arch/arm/boot/dts/microchip/ |
| H A D | sama7g5.dtsi | 37 clocks = <&pmc PMC_TYPE_CORE PMC_CPUPLL>; 205 clocks = <&pmc PMC_TYPE_CORE PMC_MCK1>; 223 clocks = <&pmc PMC_TYPE_PERIPHERAL 18>; 254 clocks = <&pmc PMC_TYPE_PERIPHERAL 11>; 257 pmc: clock-controller@e0018000 { label 258 compatible = "microchip,sama7g5-pmc", "syscon"; 328 …clocks = <&pmc PMC_TYPE_PERIPHERAL 91>, <&pmc PMC_TYPE_PERIPHERAL 92>, <&pmc PMC_TYPE_PERIPHERAL 9… 336 clocks = <&pmc PMC_TYPE_PERIPHERAL 21>; 356 clocks = <&pmc PMC_TYPE_PERIPHERAL 78>, <&pmc PMC_TYPE_GCK 78>; 371 clocks = <&pmc PMC_TYPE_PERIPHERAL 79>, <&pmc PMC_TYPE_GCK 79>; [all …]
|
| H A D | sama7d65.dtsi | 33 clocks = <&pmc PMC_TYPE_CORE PMC_CPUPLL>; 85 clocks = <&pmc PMC_TYPE_PERIPHERAL 17>; 111 clocks = <&pmc PMC_TYPE_PERIPHERAL 10>; 118 pmc: clock-controller@e0018000 { 119 compatible = "microchip,sama7d65-pmc", "syscon"; 190 clocks = <&pmc PMC_TYPE_PERIPHERAL 58>, <&pmc PMC_TYPE_GCK 58>; 192 assigned-clocks = <&pmc PMC_TYPE_GCK 58>; 194 assigned-clock-parents = <&pmc PMC_TYPE_CORE PMC_UTMI>; 206 clocks = <&pmc PMC_TYPE_PERIPHERA 113 pmc: clock-controller@e0018000 { global() label [all...] |
| H A D | sama5d2.dtsi | 50 clocks = <&pmc PMC_TYPE_CORE PMC_MCK>; 66 clocks = <&pmc PMC_TYPE_CORE PMC_MCK>; 136 clocks = <&pmc PMC_TYPE_PERIPHERAL 42>, <&pmc PMC_TYPE_CORE PMC_UTMI>; 145 clocks = <&pmc PMC_TYPE_PERIPHERAL 41>, <&pmc PMC_TYPE_PERIPHERAL 41>, <&pmc PMC_TYPE_SYSTEM 6>; 154 clocks = <&pmc PMC_TYPE_CORE PMC_UTMI>, <&pmc PMC_TYPE_PERIPHERAL 41>; 179 clocks = <&pmc PMC_TYPE_CORE PMC_MCK2>; 198 clocks = <&pmc PMC_TYPE_PERIPHERAL 31>, <&pmc PMC_TYPE_GCK 31>, <&pmc PMC_TYPE_CORE PMC_MAIN>; 200 assigned-clocks = <&pmc PMC_TYPE_GCK 31>; 209 clocks = <&pmc PMC_TYPE_PERIPHERAL 32>, <&pmc PMC_TYPE_GCK 32>, <&pmc PMC_TYPE_CORE PMC_MAIN>; 211 assigned-clocks = <&pmc PMC_TYPE_GCK 32>; [all …]
|
| H A D | sam9x7.dtsi | 77 clocks = <&pmc PMC_TYPE_PERIPHERAL 12>, <&pmc PMC_TYPE_GCK 12>; 79 assigned-clocks = <&pmc PMC_TYPE_GCK 12>; 88 clocks = <&pmc PMC_TYPE_PERIPHERAL 26>, <&pmc PMC_TYPE_GCK 26>; 90 assigned-clocks = <&pmc PMC_TYPE_GCK 26>; 108 clocks = <&pmc PMC_TYPE_PERIPHERAL 13>; 115 clocks = <&pmc PMC_TYPE_PERIPHERAL 13>; 139 clocks = <&pmc PMC_TYPE_PERIPHERAL 13>; 160 clocks = <&pmc PMC_TYPE_PERIPHERAL 13>; 181 clocks = <&pmc PMC_TYPE_PERIPHERAL 14>; 188 clocks = <&pmc PMC_TYPE_PERIPHERAL 14>; [all …]
|
| H A D | sam9x60.dtsi | 82 clocks = <&pmc PMC_TYPE_PERIPHERAL 23>, <&pmc PMC_TYPE_CORE PMC_UTMI>; 84 assigned-clocks = <&pmc PMC_TYPE_CORE PMC_UTMI>; 93 clocks = <&pmc PMC_TYPE_PERIPHERAL 22>, <&pmc PMC_TYPE_PERIPHERAL 22>, <&pmc PMC_TYPE_SYSTEM 6>; 102 clocks = <&pmc PMC_TYPE_CORE PMC_UTMI>, <&pmc PMC_TYPE_PERIPHERAL 22>; 104 assigned-clocks = <&pmc PMC_TYPE_CORE PMC_UTMI>; 122 clocks = <&pmc PMC_TYPE_COR 1335 pmc: clock-controller@fffffc00 { global() label [all...] |
| /linux/drivers/platform/x86/ |
| H A D | pmc_atom.c | 15 #include <linux/platform_data/x86/clk-pmc-atom.h> 206 static inline u32 pmc_reg_read(struct pmc_dev *pmc, int reg_offset) in pmc_reg_read() argument 208 return readl(pmc->regmap + reg_offset); in pmc_reg_read() 211 static inline void pmc_reg_write(struct pmc_dev *pmc, int reg_offset, u32 val) in pmc_reg_write() argument 213 writel(val, pmc->regmap + reg_offset); in pmc_reg_write() 218 struct pmc_dev *pmc = &pmc_device; in pmc_atom_read() local 220 if (!pmc->init) in pmc_atom_read() 223 *value = pmc_reg_read(pmc, offset); in pmc_atom_read() 244 static void pmc_hw_reg_setup(struct pmc_dev *pmc) in pmc_hw_reg_setup() argument 247 * Disable PMC S0IX_WAKE_EN events coming from: in pmc_hw_reg_setup() [all …]
|
| /linux/arch/powerpc/perf/ |
| H A D | power7-pmu.c | 18 #define PM_PMC_SH 16 /* PMC number (1-based) for direct events */ 86 int pmc, sh, unit; in power7_get_constraint() local 89 pmc = (event >> PM_PMC_SH) & PM_PMC_MSK; in power7_get_constraint() 90 if (pmc) { in power7_get_constraint() 91 if (pmc > 6) in power7_get_constraint() 93 sh = (pmc - 1) * 2; in power7_get_constraint() 96 if (pmc >= 5 && !(event == 0x500fa || event == 0x600f4)) in power7_get_constraint() 99 if (pmc < 5) { in power7_get_constraint() 146 int pmc, psel; in find_alternative_decode() local 149 pmc = (event >> PM_PMC_SH) & PM_PMC_MSK; in find_alternative_decode() [all …]
|
| H A D | ppc970-pmu.c | 17 #define PM_PMC_SH 12 /* PMC number (1-based) for direct events */ 147 int pmc, psel, unit, byte, bit; in p970_marked_instr_event() local 150 pmc = (event >> PM_PMC_SH) & PM_PMC_MSK; in p970_marked_instr_event() 152 if (pmc) { in p970_marked_instr_event() 153 if (direct_marked_event[pmc - 1] & (1 << psel)) in p970_marked_instr_event() 156 bit = (pmc <= 4)? pmc - 1: 8 - pmc; in p970_marked_instr_event() 195 int pmc, byte, unit, sh, spcsel; in p970_get_constraint() local 199 pmc = (event >> PM_PMC_SH) & PM_PMC_MSK; in p970_get_constraint() 200 if (pmc) { in p970_get_constraint() 201 if (pmc > 8) in p970_get_constraint() [all …]
|
| H A D | power5-pmu.c | 18 #define PM_PMC_SH 20 /* PMC number (1-based) for direct events */ 141 int pmc, byte, unit, sh; in power5_get_constraint() local 146 pmc = (event >> PM_PMC_SH) & PM_PMC_MSK; in power5_get_constraint() 147 if (pmc) { in power5_get_constraint() 148 if (pmc > 6) in power5_get_constraint() 150 sh = (pmc - 1) * 2; in power5_get_constraint() 153 if (pmc <= 4) in power5_get_constraint() 154 grp = (pmc - 1) >> 1; in power5_get_constraint() 186 if (!pmc) in power5_get_constraint() 201 if (pmc < 5) { in power5_get_constraint() [all …]
|
| H A D | power5+-pmu.c | 18 #define PM_PMC_SH 20 /* PMC number (1-based) for direct events */ 137 int pmc, byte, unit, sh; in power5p_get_constraint() local 141 pmc = (event >> PM_PMC_SH) & PM_PMC_MSK; in power5p_get_constraint() 142 if (pmc) { in power5p_get_constraint() 143 if (pmc > 6) in power5p_get_constraint() 145 sh = (pmc - 1) * 2; in power5p_get_constraint() 148 if (pmc >= 5 && !(event == 0x500009 || event == 0x600005)) in power5p_get_constraint() 179 if (pmc < 5) { in power5p_get_constraint() 191 int pmc = (event >> PM_PMC_SH) & PM_PMC_MSK; in power5p_limited_pmc_event() local 193 return pmc == 5 || pmc == 6; in power5p_limited_pmc_event() [all …]
|
| H A D | power6-pmu.c | 18 #define PM_PMC_SH 20 /* PMC number (1-based) for direct events */ 139 int pmc, psel, ptype; in power6_marked_instr_event() local 143 pmc = (event >> PM_PMC_SH) & PM_PMC_MSK; in power6_marked_instr_event() 145 if (pmc >= 5) in power6_marked_instr_event() 151 if (pmc == 0 || !(ptype & (1 << (pmc - 1)))) in power6_marked_instr_event() 159 bit = ptype ^ (pmc - 1); in power6_marked_instr_event() 173 * Assign PMC numbers and compute MMCR1 value for a set of events 182 unsigned int pmc, ev, b, u, s, psel; in p6_compute_mmcr() local 189 pmc = (event[i] >> PM_PMC_SH) & PM_PMC_MSK; in p6_compute_mmcr() 190 if (pmc) { in p6_compute_mmcr() [all …]
|
| H A D | isa207-common.h | 38 #define EVENT_PMC_SHIFT 16 /* PMC number (1-based) */ 138 * BHRB IFM -* | | |*radix_scope | Count of events for each PMC. 143 * The PMC fields P1..P6, and NC, are adder fields. As we accumulate constraints 196 * For the per-PMC fields we have two bits. The low bit is added, so if two 197 * events ask for the same PMC the sum will overflow, setting the high bit, 200 #define CNST_PMC_SHIFT(pmc) ((pmc - 1) * 2) argument 201 #define CNST_PMC_VAL(pmc) (1 << CNST_PMC_SHIFT(pmc)) argument 202 #define CNST_PMC_MASK(pmc) (2 << CNST_PMC_SHIFT(pmc)) argument 210 #define MMCR1_UNIT_SHIFT(pmc) (60 - (4 * ((pmc) - 1))) argument 211 #define MMCR1_COMBINE_SHIFT(pmc) (35 - ((pmc) - 1)) argument [all …]
|
| /linux/drivers/platform/mellanox/ |
| H A D | mlxbf-pmc.c | 111 * @mmio_base: The VA at which the PMC block is mapped 138 * struct mlxbf_pmc_context - Structure to hold PMC context info 1000 static struct mlxbf_pmc_context *pmc; variable 1011 arm_smccc_smc(command, pmc->sreg_tbl_perf, (uintptr_t)addr, 0, 0, 0, 0, in mlxbf_pmc_secure_read() 1034 if (pmc->svc_sreg_support) in mlxbf_pmc_read() 1065 arm_smccc_smc(command, pmc->sreg_tbl_perf, value, (uintptr_t)addr, 0, 0, in mlxbf_pmc_secure_write() 1085 if (pmc->svc_sreg_support) in mlxbf_pmc_write() 1100 (offset + MLXBF_PMC_REG_SIZE <= pmc->block[blk_num].blk_size)) in mlxbf_pmc_valid_range() 1101 return true; /* inside the mapped PMC space */ in mlxbf_pmc_valid_range() 1122 switch (pmc->event_set) { in mlxbf_pmc_event_list() [all …]
|
| /linux/drivers/usb/typec/mux/ |
| H A D | intel_pmc_mux.c | 3 * Driver for Intel PMC USB mux control 135 struct pmc_usb *pmc; member 172 port->iom_status = readl(port->pmc->iom_base + in update_port_status() 173 port->pmc->iom_port_status_offset + in update_port_status() 174 port_num * port->pmc->iom_port_status_size); in update_port_status() 235 * If PMC is busy then retry the command once again in pmc_usb_command() 238 ret = pmc_usb_send_command(port->pmc->ipc, msg, len); in pmc_usb_command() 301 if (!is_pmc_mux_tbt(port->pmc->iom_adev)) { in pmc_usb_mux_dp() 357 if (acpi_dev_hid_uid_match(port->pmc->iom_adev, "INTC1072", NULL) || in pmc_usb_mux_tbt() 358 acpi_dev_hid_uid_match(port->pmc->iom_adev, "INTC1079", NULL)) { in pmc_usb_mux_tbt() [all …]
|
| /linux/mm/ |
| H A D | mremap.c | 197 static int move_ptes(struct pagetable_move_control *pmc, in move_ptes() argument 200 struct vm_area_struct *vma = pmc->old; in move_ptes() 208 unsigned long old_addr = pmc->old_addr; in move_ptes() 209 unsigned long new_addr = pmc->new_addr; in move_ptes() 234 if (pmc->need_rmap_locks) in move_ptes() 316 if (pmc->need_rmap_locks) in move_ptes() 330 static inline bool uffd_supports_page_table_move(struct pagetable_move_control *pmc) in uffd_supports_page_table_move() argument 345 return !vma_has_uffd_without_event_remap(pmc->old) && in uffd_supports_page_table_move() 346 !vma_has_uffd_without_event_remap(pmc->new); in uffd_supports_page_table_move() 350 static bool move_normal_pmd(struct pagetable_move_control *pmc, in move_normal_pmd() argument 419 move_normal_pmd(struct pagetable_move_control * pmc,pmd_t * old_pmd,pmd_t * new_pmd) move_normal_pmd() argument 427 move_normal_pud(struct pagetable_move_control * pmc,pud_t * old_pud,pud_t * new_pud) move_normal_pud() argument 470 move_normal_pud(struct pagetable_move_control * pmc,pud_t * old_pud,pud_t * new_pud) move_normal_pud() argument 478 move_huge_pud(struct pagetable_move_control * pmc,pud_t * old_pud,pud_t * new_pud) move_huge_pud() argument 519 move_huge_pud(struct pagetable_move_control * pmc,pud_t * old_pud,pud_t * new_pud) move_huge_pud() argument 542 get_extent(enum pgt_entry entry,struct pagetable_move_control * pmc) get_extent() argument 580 should_take_rmap_locks(struct pagetable_move_control * pmc,enum pgt_entry entry) should_take_rmap_locks() argument 596 move_pgt_entry(struct pagetable_move_control * pmc,enum pgt_entry entry,void * old_entry,void * new_entry) move_pgt_entry() argument 640 can_align_down(struct pagetable_move_control * pmc,struct vm_area_struct * vma,unsigned long addr_to_align,unsigned long mask) can_align_down() argument 669 can_realign_addr(struct pagetable_move_control * pmc,unsigned long pagetable_mask) can_realign_addr() argument 748 try_realign_addr(struct pagetable_move_control * pmc,unsigned long pagetable_mask) try_realign_addr() argument 766 pmc_done(struct pagetable_move_control * pmc) pmc_done() argument 772 pmc_next(struct pagetable_move_control * pmc,unsigned long extent) pmc_next() argument 782 pmc_progress(struct pagetable_move_control * pmc) pmc_progress() argument 795 move_page_tables(struct pagetable_move_control * pmc) move_page_tables() argument [all...] |