pmu_dev           489 drivers/hwtracing/coresight/coresight-etm-perf.c 	struct device *pmu_dev = etm_pmu.dev;
pmu_dev           498 drivers/hwtracing/coresight/coresight-etm-perf.c 		ret = sysfs_create_link(&pmu_dev->kobj, &cs_dev->kobj, entry);
pmu_dev           503 drivers/hwtracing/coresight/coresight-etm-perf.c 		sysfs_remove_link(&pmu_dev->kobj, entry);
pmu_dev           525 drivers/hwtracing/coresight/coresight-etm-perf.c 	struct device *pmu_dev = etm_pmu.dev;
pmu_dev           556 drivers/hwtracing/coresight/coresight-etm-perf.c 	ret = sysfs_add_file_to_group(&pmu_dev->kobj,
pmu_dev           567 drivers/hwtracing/coresight/coresight-etm-perf.c 	struct device *pmu_dev = etm_pmu.dev;
pmu_dev           577 drivers/hwtracing/coresight/coresight-etm-perf.c 	sysfs_remove_file_from_group(&pmu_dev->kobj,
pmu_dev           108 drivers/perf/xgene_pmu.c 	void (*write_evttype)(struct xgene_pmu_dev *pmu_dev, int idx, u32 val);
pmu_dev           109 drivers/perf/xgene_pmu.c 	void (*write_agentmsk)(struct xgene_pmu_dev *pmu_dev, u32 val);
pmu_dev           110 drivers/perf/xgene_pmu.c 	void (*write_agent1msk)(struct xgene_pmu_dev *pmu_dev, u32 val);
pmu_dev           111 drivers/perf/xgene_pmu.c 	void (*enable_counter)(struct xgene_pmu_dev *pmu_dev, int idx);
pmu_dev           112 drivers/perf/xgene_pmu.c 	void (*disable_counter)(struct xgene_pmu_dev *pmu_dev, int idx);
pmu_dev           113 drivers/perf/xgene_pmu.c 	void (*enable_counter_int)(struct xgene_pmu_dev *pmu_dev, int idx);
pmu_dev           114 drivers/perf/xgene_pmu.c 	void (*disable_counter_int)(struct xgene_pmu_dev *pmu_dev, int idx);
pmu_dev           115 drivers/perf/xgene_pmu.c 	void (*reset_counters)(struct xgene_pmu_dev *pmu_dev);
pmu_dev           116 drivers/perf/xgene_pmu.c 	void (*start_counters)(struct xgene_pmu_dev *pmu_dev);
pmu_dev           117 drivers/perf/xgene_pmu.c 	void (*stop_counters)(struct xgene_pmu_dev *pmu_dev);
pmu_dev           141 drivers/perf/xgene_pmu.c 	struct xgene_pmu_dev *pmu_dev;
pmu_dev           610 drivers/perf/xgene_pmu.c 	struct xgene_pmu_dev *pmu_dev = to_pmu_dev(dev_get_drvdata(dev));
pmu_dev           612 drivers/perf/xgene_pmu.c 	return cpumap_print_to_pagebuf(true, buf, &pmu_dev->parent->cpu);
pmu_dev           695 drivers/perf/xgene_pmu.c static int get_next_avail_cntr(struct xgene_pmu_dev *pmu_dev)
pmu_dev           699 drivers/perf/xgene_pmu.c 	cntr = find_first_zero_bit(pmu_dev->cntr_assign_mask,
pmu_dev           700 drivers/perf/xgene_pmu.c 				pmu_dev->max_counters);
pmu_dev           701 drivers/perf/xgene_pmu.c 	if (cntr == pmu_dev->max_counters)
pmu_dev           703 drivers/perf/xgene_pmu.c 	set_bit(cntr, pmu_dev->cntr_assign_mask);
pmu_dev           708 drivers/perf/xgene_pmu.c static void clear_avail_cntr(struct xgene_pmu_dev *pmu_dev, int cntr)
pmu_dev           710 drivers/perf/xgene_pmu.c 	clear_bit(cntr, pmu_dev->cntr_assign_mask);
pmu_dev           734 drivers/perf/xgene_pmu.c static inline u64 xgene_pmu_read_counter32(struct xgene_pmu_dev *pmu_dev,
pmu_dev           737 drivers/perf/xgene_pmu.c 	return readl(pmu_dev->inf->csr + PMU_PMEVCNTR0 + (4 * idx));
pmu_dev           740 drivers/perf/xgene_pmu.c static inline u64 xgene_pmu_read_counter64(struct xgene_pmu_dev *pmu_dev,
pmu_dev           752 drivers/perf/xgene_pmu.c 		hi = xgene_pmu_read_counter32(pmu_dev, 2 * idx + 1);
pmu_dev           753 drivers/perf/xgene_pmu.c 		lo = xgene_pmu_read_counter32(pmu_dev, 2 * idx);
pmu_dev           754 drivers/perf/xgene_pmu.c 	} while (hi != xgene_pmu_read_counter32(pmu_dev, 2 * idx + 1));
pmu_dev           760 drivers/perf/xgene_pmu.c xgene_pmu_write_counter32(struct xgene_pmu_dev *pmu_dev, int idx, u64 val)
pmu_dev           762 drivers/perf/xgene_pmu.c 	writel(val, pmu_dev->inf->csr + PMU_PMEVCNTR0 + (4 * idx));
pmu_dev           766 drivers/perf/xgene_pmu.c xgene_pmu_write_counter64(struct xgene_pmu_dev *pmu_dev, int idx, u64 val)
pmu_dev           774 drivers/perf/xgene_pmu.c 	xgene_pmu_write_counter32(pmu_dev, 2 * idx, cnt_lo);
pmu_dev           775 drivers/perf/xgene_pmu.c 	xgene_pmu_write_counter32(pmu_dev, 2 * idx + 1, cnt_hi);
pmu_dev           779 drivers/perf/xgene_pmu.c xgene_pmu_write_evttype(struct xgene_pmu_dev *pmu_dev, int idx, u32 val)
pmu_dev           781 drivers/perf/xgene_pmu.c 	writel(val, pmu_dev->inf->csr + PMU_PMEVTYPER0 + (4 * idx));
pmu_dev           785 drivers/perf/xgene_pmu.c xgene_pmu_write_agentmsk(struct xgene_pmu_dev *pmu_dev, u32 val)
pmu_dev           787 drivers/perf/xgene_pmu.c 	writel(val, pmu_dev->inf->csr + PMU_PMAMR0);
pmu_dev           791 drivers/perf/xgene_pmu.c xgene_pmu_v3_write_agentmsk(struct xgene_pmu_dev *pmu_dev, u32 val) { }
pmu_dev           794 drivers/perf/xgene_pmu.c xgene_pmu_write_agent1msk(struct xgene_pmu_dev *pmu_dev, u32 val)
pmu_dev           796 drivers/perf/xgene_pmu.c 	writel(val, pmu_dev->inf->csr + PMU_PMAMR1);
pmu_dev           800 drivers/perf/xgene_pmu.c xgene_pmu_v3_write_agent1msk(struct xgene_pmu_dev *pmu_dev, u32 val) { }
pmu_dev           803 drivers/perf/xgene_pmu.c xgene_pmu_enable_counter(struct xgene_pmu_dev *pmu_dev, int idx)
pmu_dev           807 drivers/perf/xgene_pmu.c 	val = readl(pmu_dev->inf->csr + PMU_PMCNTENSET);
pmu_dev           809 drivers/perf/xgene_pmu.c 	writel(val, pmu_dev->inf->csr + PMU_PMCNTENSET);
pmu_dev           813 drivers/perf/xgene_pmu.c xgene_pmu_disable_counter(struct xgene_pmu_dev *pmu_dev, int idx)
pmu_dev           817 drivers/perf/xgene_pmu.c 	val = readl(pmu_dev->inf->csr + PMU_PMCNTENCLR);
pmu_dev           819 drivers/perf/xgene_pmu.c 	writel(val, pmu_dev->inf->csr + PMU_PMCNTENCLR);
pmu_dev           823 drivers/perf/xgene_pmu.c xgene_pmu_enable_counter_int(struct xgene_pmu_dev *pmu_dev, int idx)
pmu_dev           827 drivers/perf/xgene_pmu.c 	val = readl(pmu_dev->inf->csr + PMU_PMINTENSET);
pmu_dev           829 drivers/perf/xgene_pmu.c 	writel(val, pmu_dev->inf->csr + PMU_PMINTENSET);
pmu_dev           833 drivers/perf/xgene_pmu.c xgene_pmu_disable_counter_int(struct xgene_pmu_dev *pmu_dev, int idx)
pmu_dev           837 drivers/perf/xgene_pmu.c 	val = readl(pmu_dev->inf->csr + PMU_PMINTENCLR);
pmu_dev           839 drivers/perf/xgene_pmu.c 	writel(val, pmu_dev->inf->csr + PMU_PMINTENCLR);
pmu_dev           842 drivers/perf/xgene_pmu.c static inline void xgene_pmu_reset_counters(struct xgene_pmu_dev *pmu_dev)
pmu_dev           846 drivers/perf/xgene_pmu.c 	val = readl(pmu_dev->inf->csr + PMU_PMCR);
pmu_dev           848 drivers/perf/xgene_pmu.c 	writel(val, pmu_dev->inf->csr + PMU_PMCR);
pmu_dev           851 drivers/perf/xgene_pmu.c static inline void xgene_pmu_start_counters(struct xgene_pmu_dev *pmu_dev)
pmu_dev           855 drivers/perf/xgene_pmu.c 	val = readl(pmu_dev->inf->csr + PMU_PMCR);
pmu_dev           857 drivers/perf/xgene_pmu.c 	writel(val, pmu_dev->inf->csr + PMU_PMCR);
pmu_dev           860 drivers/perf/xgene_pmu.c static inline void xgene_pmu_stop_counters(struct xgene_pmu_dev *pmu_dev)
pmu_dev           864 drivers/perf/xgene_pmu.c 	val = readl(pmu_dev->inf->csr + PMU_PMCR);
pmu_dev           866 drivers/perf/xgene_pmu.c 	writel(val, pmu_dev->inf->csr + PMU_PMCR);
pmu_dev           871 drivers/perf/xgene_pmu.c 	struct xgene_pmu_dev *pmu_dev = to_pmu_dev(pmu);
pmu_dev           872 drivers/perf/xgene_pmu.c 	struct xgene_pmu *xgene_pmu = pmu_dev->parent;
pmu_dev           873 drivers/perf/xgene_pmu.c 	int enabled = bitmap_weight(pmu_dev->cntr_assign_mask,
pmu_dev           874 drivers/perf/xgene_pmu.c 			pmu_dev->max_counters);
pmu_dev           879 drivers/perf/xgene_pmu.c 	xgene_pmu->ops->start_counters(pmu_dev);
pmu_dev           884 drivers/perf/xgene_pmu.c 	struct xgene_pmu_dev *pmu_dev = to_pmu_dev(pmu);
pmu_dev           885 drivers/perf/xgene_pmu.c 	struct xgene_pmu *xgene_pmu = pmu_dev->parent;
pmu_dev           887 drivers/perf/xgene_pmu.c 	xgene_pmu->ops->stop_counters(pmu_dev);
pmu_dev           892 drivers/perf/xgene_pmu.c 	struct xgene_pmu_dev *pmu_dev = to_pmu_dev(event->pmu);
pmu_dev           919 drivers/perf/xgene_pmu.c 	event->cpu = cpumask_first(&pmu_dev->parent->cpu);
pmu_dev           949 drivers/perf/xgene_pmu.c 	struct xgene_pmu_dev *pmu_dev = to_pmu_dev(event->pmu);
pmu_dev           950 drivers/perf/xgene_pmu.c 	struct xgene_pmu *xgene_pmu = pmu_dev->parent;
pmu_dev           952 drivers/perf/xgene_pmu.c 	xgene_pmu->ops->write_evttype(pmu_dev, GET_CNTR(event),
pmu_dev           954 drivers/perf/xgene_pmu.c 	xgene_pmu->ops->write_agentmsk(pmu_dev, ~((u32)GET_AGENTID(event)));
pmu_dev           955 drivers/perf/xgene_pmu.c 	if (pmu_dev->inf->type == PMU_TYPE_IOB)
pmu_dev           956 drivers/perf/xgene_pmu.c 		xgene_pmu->ops->write_agent1msk(pmu_dev,
pmu_dev           959 drivers/perf/xgene_pmu.c 	xgene_pmu->ops->enable_counter(pmu_dev, GET_CNTR(event));
pmu_dev           960 drivers/perf/xgene_pmu.c 	xgene_pmu->ops->enable_counter_int(pmu_dev, GET_CNTR(event));
pmu_dev           965 drivers/perf/xgene_pmu.c 	struct xgene_pmu_dev *pmu_dev = to_pmu_dev(event->pmu);
pmu_dev           966 drivers/perf/xgene_pmu.c 	struct xgene_pmu *xgene_pmu = pmu_dev->parent;
pmu_dev           968 drivers/perf/xgene_pmu.c 	xgene_pmu->ops->disable_counter(pmu_dev, GET_CNTR(event));
pmu_dev           969 drivers/perf/xgene_pmu.c 	xgene_pmu->ops->disable_counter_int(pmu_dev, GET_CNTR(event));
pmu_dev           974 drivers/perf/xgene_pmu.c 	struct xgene_pmu_dev *pmu_dev = to_pmu_dev(event->pmu);
pmu_dev           975 drivers/perf/xgene_pmu.c 	struct xgene_pmu *xgene_pmu = pmu_dev->parent;
pmu_dev           987 drivers/perf/xgene_pmu.c 	xgene_pmu->ops->write_counter(pmu_dev, hw->idx, val);
pmu_dev           992 drivers/perf/xgene_pmu.c 	struct xgene_pmu_dev *pmu_dev = to_pmu_dev(event->pmu);
pmu_dev           993 drivers/perf/xgene_pmu.c 	struct xgene_pmu *xgene_pmu = pmu_dev->parent;
pmu_dev           999 drivers/perf/xgene_pmu.c 	new_raw_count = xgene_pmu->ops->read_counter(pmu_dev, GET_CNTR(event));
pmu_dev          1005 drivers/perf/xgene_pmu.c 	delta = (new_raw_count - prev_raw_count) & pmu_dev->max_period;
pmu_dev          1017 drivers/perf/xgene_pmu.c 	struct xgene_pmu_dev *pmu_dev = to_pmu_dev(event->pmu);
pmu_dev          1018 drivers/perf/xgene_pmu.c 	struct xgene_pmu *xgene_pmu = pmu_dev->parent;
pmu_dev          1032 drivers/perf/xgene_pmu.c 		xgene_pmu->ops->write_counter(pmu_dev, GET_CNTR(event),
pmu_dev          1060 drivers/perf/xgene_pmu.c 	struct xgene_pmu_dev *pmu_dev = to_pmu_dev(event->pmu);
pmu_dev          1066 drivers/perf/xgene_pmu.c 	hw->idx = get_next_avail_cntr(pmu_dev);
pmu_dev          1071 drivers/perf/xgene_pmu.c 	pmu_dev->pmu_counter_event[hw->idx] = event;
pmu_dev          1081 drivers/perf/xgene_pmu.c 	struct xgene_pmu_dev *pmu_dev = to_pmu_dev(event->pmu);
pmu_dev          1087 drivers/perf/xgene_pmu.c 	clear_avail_cntr(pmu_dev, GET_CNTR(event));
pmu_dev          1090 drivers/perf/xgene_pmu.c 	pmu_dev->pmu_counter_event[hw->idx] = NULL;
pmu_dev          1093 drivers/perf/xgene_pmu.c static int xgene_init_perf(struct xgene_pmu_dev *pmu_dev, char *name)
pmu_dev          1097 drivers/perf/xgene_pmu.c 	if (pmu_dev->parent->version == PCP_PMU_V3)
pmu_dev          1098 drivers/perf/xgene_pmu.c 		pmu_dev->max_period = PMU_V3_CNT_MAX_PERIOD;
pmu_dev          1100 drivers/perf/xgene_pmu.c 		pmu_dev->max_period = PMU_CNT_MAX_PERIOD;
pmu_dev          1102 drivers/perf/xgene_pmu.c 	xgene_pmu = pmu_dev->parent;
pmu_dev          1104 drivers/perf/xgene_pmu.c 		pmu_dev->max_counters = 1;
pmu_dev          1106 drivers/perf/xgene_pmu.c 		pmu_dev->max_counters = PMU_MAX_COUNTERS;
pmu_dev          1109 drivers/perf/xgene_pmu.c 	pmu_dev->pmu = (struct pmu) {
pmu_dev          1110 drivers/perf/xgene_pmu.c 		.attr_groups	= pmu_dev->attr_groups,
pmu_dev          1124 drivers/perf/xgene_pmu.c 	xgene_pmu->ops->stop_counters(pmu_dev);
pmu_dev          1125 drivers/perf/xgene_pmu.c 	xgene_pmu->ops->reset_counters(pmu_dev);
pmu_dev          1127 drivers/perf/xgene_pmu.c 	return perf_pmu_register(&pmu_dev->pmu, name, -1);
pmu_dev          1141 drivers/perf/xgene_pmu.c 	ctx->pmu_dev = pmu;
pmu_dev          1192 drivers/perf/xgene_pmu.c static void _xgene_pmu_isr(int irq, struct xgene_pmu_dev *pmu_dev)
pmu_dev          1194 drivers/perf/xgene_pmu.c 	struct xgene_pmu *xgene_pmu = pmu_dev->parent;
pmu_dev          1195 drivers/perf/xgene_pmu.c 	void __iomem *csr = pmu_dev->inf->csr;
pmu_dev          1199 drivers/perf/xgene_pmu.c 	xgene_pmu->ops->stop_counters(pmu_dev);
pmu_dev          1218 drivers/perf/xgene_pmu.c 		struct perf_event *event = pmu_dev->pmu_counter_event[idx];
pmu_dev          1229 drivers/perf/xgene_pmu.c 	xgene_pmu->ops->start_counters(pmu_dev);
pmu_dev          1257 drivers/perf/xgene_pmu.c 			_xgene_pmu_isr(irq, ctx->pmu_dev);
pmu_dev          1262 drivers/perf/xgene_pmu.c 			_xgene_pmu_isr(irq, ctx->pmu_dev);
pmu_dev          1267 drivers/perf/xgene_pmu.c 			_xgene_pmu_isr(irq, ctx->pmu_dev);
pmu_dev          1272 drivers/perf/xgene_pmu.c 			_xgene_pmu_isr(irq, ctx->pmu_dev);
pmu_dev          1822 drivers/perf/xgene_pmu.c 		perf_pmu_migrate_context(&ctx->pmu_dev->pmu, cpu, target);
pmu_dev          1825 drivers/perf/xgene_pmu.c 		perf_pmu_migrate_context(&ctx->pmu_dev->pmu, cpu, target);
pmu_dev          1828 drivers/perf/xgene_pmu.c 		perf_pmu_migrate_context(&ctx->pmu_dev->pmu, cpu, target);
pmu_dev          1831 drivers/perf/xgene_pmu.c 		perf_pmu_migrate_context(&ctx->pmu_dev->pmu, cpu, target);
pmu_dev          1959 drivers/perf/xgene_pmu.c 		perf_pmu_unregister(&ctx->pmu_dev->pmu);
pmu_dev          9995 kernel/events/core.c ATTRIBUTE_GROUPS(pmu_dev);