hisi_pmu           64 drivers/perf/hisilicon/hisi_uncore_ddrc_pmu.c static u64 hisi_ddrc_pmu_read_counter(struct hisi_pmu *ddrc_pmu,
hisi_pmu           78 drivers/perf/hisilicon/hisi_uncore_ddrc_pmu.c static void hisi_ddrc_pmu_write_counter(struct hisi_pmu *ddrc_pmu,
hisi_pmu           96 drivers/perf/hisilicon/hisi_uncore_ddrc_pmu.c static void hisi_ddrc_pmu_write_evtype(struct hisi_pmu *hha_pmu, int idx,
hisi_pmu          101 drivers/perf/hisilicon/hisi_uncore_ddrc_pmu.c static void hisi_ddrc_pmu_start_counters(struct hisi_pmu *ddrc_pmu)
hisi_pmu          111 drivers/perf/hisilicon/hisi_uncore_ddrc_pmu.c static void hisi_ddrc_pmu_stop_counters(struct hisi_pmu *ddrc_pmu)
hisi_pmu          121 drivers/perf/hisilicon/hisi_uncore_ddrc_pmu.c static void hisi_ddrc_pmu_enable_counter(struct hisi_pmu *ddrc_pmu,
hisi_pmu          132 drivers/perf/hisilicon/hisi_uncore_ddrc_pmu.c static void hisi_ddrc_pmu_disable_counter(struct hisi_pmu *ddrc_pmu,
hisi_pmu          145 drivers/perf/hisilicon/hisi_uncore_ddrc_pmu.c 	struct hisi_pmu *ddrc_pmu = to_hisi_pmu(event->pmu);
hisi_pmu          159 drivers/perf/hisilicon/hisi_uncore_ddrc_pmu.c static void hisi_ddrc_pmu_enable_counter_int(struct hisi_pmu *ddrc_pmu,
hisi_pmu          170 drivers/perf/hisilicon/hisi_uncore_ddrc_pmu.c static void hisi_ddrc_pmu_disable_counter_int(struct hisi_pmu *ddrc_pmu,
hisi_pmu          183 drivers/perf/hisilicon/hisi_uncore_ddrc_pmu.c 	struct hisi_pmu *ddrc_pmu = dev_id;
hisi_pmu          213 drivers/perf/hisilicon/hisi_uncore_ddrc_pmu.c static int hisi_ddrc_pmu_init_irq(struct hisi_pmu *ddrc_pmu,
hisi_pmu          244 drivers/perf/hisilicon/hisi_uncore_ddrc_pmu.c 				   struct hisi_pmu *ddrc_pmu)
hisi_pmu          335 drivers/perf/hisilicon/hisi_uncore_ddrc_pmu.c 				   struct hisi_pmu *ddrc_pmu)
hisi_pmu          359 drivers/perf/hisilicon/hisi_uncore_ddrc_pmu.c 	struct hisi_pmu *ddrc_pmu;
hisi_pmu          409 drivers/perf/hisilicon/hisi_uncore_ddrc_pmu.c 	struct hisi_pmu *ddrc_pmu = platform_get_drvdata(pdev);
hisi_pmu           50 drivers/perf/hisilicon/hisi_uncore_hha_pmu.c static u64 hisi_hha_pmu_read_counter(struct hisi_pmu *hha_pmu,
hisi_pmu           64 drivers/perf/hisilicon/hisi_uncore_hha_pmu.c static void hisi_hha_pmu_write_counter(struct hisi_pmu *hha_pmu,
hisi_pmu           78 drivers/perf/hisilicon/hisi_uncore_hha_pmu.c static void hisi_hha_pmu_write_evtype(struct hisi_pmu *hha_pmu, int idx,
hisi_pmu          101 drivers/perf/hisilicon/hisi_uncore_hha_pmu.c static void hisi_hha_pmu_start_counters(struct hisi_pmu *hha_pmu)
hisi_pmu          114 drivers/perf/hisilicon/hisi_uncore_hha_pmu.c static void hisi_hha_pmu_stop_counters(struct hisi_pmu *hha_pmu)
hisi_pmu          127 drivers/perf/hisilicon/hisi_uncore_hha_pmu.c static void hisi_hha_pmu_enable_counter(struct hisi_pmu *hha_pmu,
hisi_pmu          138 drivers/perf/hisilicon/hisi_uncore_hha_pmu.c static void hisi_hha_pmu_disable_counter(struct hisi_pmu *hha_pmu,
hisi_pmu          149 drivers/perf/hisilicon/hisi_uncore_hha_pmu.c static void hisi_hha_pmu_enable_counter_int(struct hisi_pmu *hha_pmu,
hisi_pmu          160 drivers/perf/hisilicon/hisi_uncore_hha_pmu.c static void hisi_hha_pmu_disable_counter_int(struct hisi_pmu *hha_pmu,
hisi_pmu          173 drivers/perf/hisilicon/hisi_uncore_hha_pmu.c 	struct hisi_pmu *hha_pmu = dev_id;
hisi_pmu          203 drivers/perf/hisilicon/hisi_uncore_hha_pmu.c static int hisi_hha_pmu_init_irq(struct hisi_pmu *hha_pmu,
hisi_pmu          234 drivers/perf/hisilicon/hisi_uncore_hha_pmu.c 				  struct hisi_pmu *hha_pmu)
hisi_pmu          346 drivers/perf/hisilicon/hisi_uncore_hha_pmu.c 				  struct hisi_pmu *hha_pmu)
hisi_pmu          370 drivers/perf/hisilicon/hisi_uncore_hha_pmu.c 	struct hisi_pmu *hha_pmu;
hisi_pmu          420 drivers/perf/hisilicon/hisi_uncore_hha_pmu.c 	struct hisi_pmu *hha_pmu = platform_get_drvdata(pdev);
hisi_pmu           49 drivers/perf/hisilicon/hisi_uncore_l3c_pmu.c static u64 hisi_l3c_pmu_read_counter(struct hisi_pmu *l3c_pmu,
hisi_pmu           63 drivers/perf/hisilicon/hisi_uncore_l3c_pmu.c static void hisi_l3c_pmu_write_counter(struct hisi_pmu *l3c_pmu,
hisi_pmu           77 drivers/perf/hisilicon/hisi_uncore_l3c_pmu.c static void hisi_l3c_pmu_write_evtype(struct hisi_pmu *l3c_pmu, int idx,
hisi_pmu          100 drivers/perf/hisilicon/hisi_uncore_l3c_pmu.c static void hisi_l3c_pmu_start_counters(struct hisi_pmu *l3c_pmu)
hisi_pmu          113 drivers/perf/hisilicon/hisi_uncore_l3c_pmu.c static void hisi_l3c_pmu_stop_counters(struct hisi_pmu *l3c_pmu)
hisi_pmu          126 drivers/perf/hisilicon/hisi_uncore_l3c_pmu.c static void hisi_l3c_pmu_enable_counter(struct hisi_pmu *l3c_pmu,
hisi_pmu          137 drivers/perf/hisilicon/hisi_uncore_l3c_pmu.c static void hisi_l3c_pmu_disable_counter(struct hisi_pmu *l3c_pmu,
hisi_pmu          148 drivers/perf/hisilicon/hisi_uncore_l3c_pmu.c static void hisi_l3c_pmu_enable_counter_int(struct hisi_pmu *l3c_pmu,
hisi_pmu          159 drivers/perf/hisilicon/hisi_uncore_l3c_pmu.c static void hisi_l3c_pmu_disable_counter_int(struct hisi_pmu *l3c_pmu,
hisi_pmu          172 drivers/perf/hisilicon/hisi_uncore_l3c_pmu.c 	struct hisi_pmu *l3c_pmu = dev_id;
hisi_pmu          202 drivers/perf/hisilicon/hisi_uncore_l3c_pmu.c static int hisi_l3c_pmu_init_irq(struct hisi_pmu *l3c_pmu,
hisi_pmu          233 drivers/perf/hisilicon/hisi_uncore_l3c_pmu.c 				  struct hisi_pmu *l3c_pmu)
hisi_pmu          336 drivers/perf/hisilicon/hisi_uncore_l3c_pmu.c 				  struct hisi_pmu *l3c_pmu)
hisi_pmu          360 drivers/perf/hisilicon/hisi_uncore_l3c_pmu.c 	struct hisi_pmu *l3c_pmu;
hisi_pmu          410 drivers/perf/hisilicon/hisi_uncore_l3c_pmu.c 	struct hisi_pmu *l3c_pmu = platform_get_drvdata(pdev);
hisi_pmu           57 drivers/perf/hisilicon/hisi_uncore_pmu.c 	struct hisi_pmu *hisi_pmu = to_hisi_pmu(dev_get_drvdata(dev));
hisi_pmu           59 drivers/perf/hisilicon/hisi_uncore_pmu.c 	return sprintf(buf, "%d\n", hisi_pmu->on_cpu);
hisi_pmu           65 drivers/perf/hisilicon/hisi_uncore_pmu.c 	struct hisi_pmu *hisi_pmu = to_hisi_pmu(event->pmu);
hisi_pmu           92 drivers/perf/hisilicon/hisi_uncore_pmu.c 	return counters <= hisi_pmu->num_counters;
hisi_pmu           95 drivers/perf/hisilicon/hisi_uncore_pmu.c int hisi_uncore_pmu_counter_valid(struct hisi_pmu *hisi_pmu, int idx)
hisi_pmu           97 drivers/perf/hisilicon/hisi_uncore_pmu.c 	return idx >= 0 && idx < hisi_pmu->num_counters;
hisi_pmu          102 drivers/perf/hisilicon/hisi_uncore_pmu.c 	struct hisi_pmu *hisi_pmu = to_hisi_pmu(event->pmu);
hisi_pmu          103 drivers/perf/hisilicon/hisi_uncore_pmu.c 	unsigned long *used_mask = hisi_pmu->pmu_events.used_mask;
hisi_pmu          104 drivers/perf/hisilicon/hisi_uncore_pmu.c 	u32 num_counters = hisi_pmu->num_counters;
hisi_pmu          116 drivers/perf/hisilicon/hisi_uncore_pmu.c static void hisi_uncore_pmu_clear_event_idx(struct hisi_pmu *hisi_pmu, int idx)
hisi_pmu          118 drivers/perf/hisilicon/hisi_uncore_pmu.c 	if (!hisi_uncore_pmu_counter_valid(hisi_pmu, idx)) {
hisi_pmu          119 drivers/perf/hisilicon/hisi_uncore_pmu.c 		dev_err(hisi_pmu->dev, "Unsupported event index:%d!\n", idx);
hisi_pmu          123 drivers/perf/hisilicon/hisi_uncore_pmu.c 	clear_bit(idx, hisi_pmu->pmu_events.used_mask);
hisi_pmu          129 drivers/perf/hisilicon/hisi_uncore_pmu.c 	struct hisi_pmu *hisi_pmu;
hisi_pmu          156 drivers/perf/hisilicon/hisi_uncore_pmu.c 	hisi_pmu = to_hisi_pmu(event->pmu);
hisi_pmu          157 drivers/perf/hisilicon/hisi_uncore_pmu.c 	if (event->attr.config > hisi_pmu->check_event)
hisi_pmu          160 drivers/perf/hisilicon/hisi_uncore_pmu.c 	if (hisi_pmu->on_cpu == -1)
hisi_pmu          171 drivers/perf/hisilicon/hisi_uncore_pmu.c 	event->cpu = hisi_pmu->on_cpu;
hisi_pmu          182 drivers/perf/hisilicon/hisi_uncore_pmu.c 	struct hisi_pmu *hisi_pmu = to_hisi_pmu(event->pmu);
hisi_pmu          185 drivers/perf/hisilicon/hisi_uncore_pmu.c 	hisi_pmu->ops->write_evtype(hisi_pmu, hwc->idx,
hisi_pmu          188 drivers/perf/hisilicon/hisi_uncore_pmu.c 	hisi_pmu->ops->enable_counter_int(hisi_pmu, hwc);
hisi_pmu          189 drivers/perf/hisilicon/hisi_uncore_pmu.c 	hisi_pmu->ops->enable_counter(hisi_pmu, hwc);
hisi_pmu          197 drivers/perf/hisilicon/hisi_uncore_pmu.c 	struct hisi_pmu *hisi_pmu = to_hisi_pmu(event->pmu);
hisi_pmu          200 drivers/perf/hisilicon/hisi_uncore_pmu.c 	hisi_pmu->ops->disable_counter(hisi_pmu, hwc);
hisi_pmu          201 drivers/perf/hisilicon/hisi_uncore_pmu.c 	hisi_pmu->ops->disable_counter_int(hisi_pmu, hwc);
hisi_pmu          206 drivers/perf/hisilicon/hisi_uncore_pmu.c 	struct hisi_pmu *hisi_pmu = to_hisi_pmu(event->pmu);
hisi_pmu          216 drivers/perf/hisilicon/hisi_uncore_pmu.c 	u64 val = BIT_ULL(hisi_pmu->counter_bits - 1);
hisi_pmu          220 drivers/perf/hisilicon/hisi_uncore_pmu.c 	hisi_pmu->ops->write_counter(hisi_pmu, hwc, val);
hisi_pmu          225 drivers/perf/hisilicon/hisi_uncore_pmu.c 	struct hisi_pmu *hisi_pmu = to_hisi_pmu(event->pmu);
hisi_pmu          231 drivers/perf/hisilicon/hisi_uncore_pmu.c 		new_raw_count = hisi_pmu->ops->read_counter(hisi_pmu, hwc);
hisi_pmu          239 drivers/perf/hisilicon/hisi_uncore_pmu.c 		HISI_MAX_PERIOD(hisi_pmu->counter_bits);
hisi_pmu          245 drivers/perf/hisilicon/hisi_uncore_pmu.c 	struct hisi_pmu *hisi_pmu = to_hisi_pmu(event->pmu);
hisi_pmu          258 drivers/perf/hisilicon/hisi_uncore_pmu.c 		hisi_pmu->ops->write_counter(hisi_pmu, hwc, prev_raw_count);
hisi_pmu          283 drivers/perf/hisilicon/hisi_uncore_pmu.c 	struct hisi_pmu *hisi_pmu = to_hisi_pmu(event->pmu);
hisi_pmu          290 drivers/perf/hisilicon/hisi_uncore_pmu.c 	idx = hisi_pmu->ops->get_event_idx(event);
hisi_pmu          295 drivers/perf/hisilicon/hisi_uncore_pmu.c 	hisi_pmu->pmu_events.hw_events[idx] = event;
hisi_pmu          305 drivers/perf/hisilicon/hisi_uncore_pmu.c 	struct hisi_pmu *hisi_pmu = to_hisi_pmu(event->pmu);
hisi_pmu          309 drivers/perf/hisilicon/hisi_uncore_pmu.c 	hisi_uncore_pmu_clear_event_idx(hisi_pmu, hwc->idx);
hisi_pmu          311 drivers/perf/hisilicon/hisi_uncore_pmu.c 	hisi_pmu->pmu_events.hw_events[hwc->idx] = NULL;
hisi_pmu          322 drivers/perf/hisilicon/hisi_uncore_pmu.c 	struct hisi_pmu *hisi_pmu = to_hisi_pmu(pmu);
hisi_pmu          323 drivers/perf/hisilicon/hisi_uncore_pmu.c 	int enabled = bitmap_weight(hisi_pmu->pmu_events.used_mask,
hisi_pmu          324 drivers/perf/hisilicon/hisi_uncore_pmu.c 				    hisi_pmu->num_counters);
hisi_pmu          329 drivers/perf/hisilicon/hisi_uncore_pmu.c 	hisi_pmu->ops->start_counters(hisi_pmu);
hisi_pmu          334 drivers/perf/hisilicon/hisi_uncore_pmu.c 	struct hisi_pmu *hisi_pmu = to_hisi_pmu(pmu);
hisi_pmu          336 drivers/perf/hisilicon/hisi_uncore_pmu.c 	hisi_pmu->ops->stop_counters(hisi_pmu);
hisi_pmu          367 drivers/perf/hisilicon/hisi_uncore_pmu.c static bool hisi_pmu_cpu_is_associated_pmu(struct hisi_pmu *hisi_pmu)
hisi_pmu          371 drivers/perf/hisilicon/hisi_uncore_pmu.c 	if (hisi_pmu->ccl_id == -1) {
hisi_pmu          375 drivers/perf/hisilicon/hisi_uncore_pmu.c 		return sccl_id == hisi_pmu->sccl_id;
hisi_pmu          380 drivers/perf/hisilicon/hisi_uncore_pmu.c 	return sccl_id == hisi_pmu->sccl_id && ccl_id == hisi_pmu->ccl_id;
hisi_pmu          385 drivers/perf/hisilicon/hisi_uncore_pmu.c 	struct hisi_pmu *hisi_pmu = hlist_entry_safe(node, struct hisi_pmu,
hisi_pmu          388 drivers/perf/hisilicon/hisi_uncore_pmu.c 	if (!hisi_pmu_cpu_is_associated_pmu(hisi_pmu))
hisi_pmu          391 drivers/perf/hisilicon/hisi_uncore_pmu.c 	cpumask_set_cpu(cpu, &hisi_pmu->associated_cpus);
hisi_pmu          394 drivers/perf/hisilicon/hisi_uncore_pmu.c 	if (hisi_pmu->on_cpu != -1)
hisi_pmu          398 drivers/perf/hisilicon/hisi_uncore_pmu.c 	hisi_pmu->on_cpu = cpu;
hisi_pmu          401 drivers/perf/hisilicon/hisi_uncore_pmu.c 	WARN_ON(irq_set_affinity(hisi_pmu->irq, cpumask_of(cpu)));
hisi_pmu          408 drivers/perf/hisilicon/hisi_uncore_pmu.c 	struct hisi_pmu *hisi_pmu = hlist_entry_safe(node, struct hisi_pmu,
hisi_pmu          413 drivers/perf/hisilicon/hisi_uncore_pmu.c 	if (!cpumask_test_and_clear_cpu(cpu, &hisi_pmu->associated_cpus))
hisi_pmu          417 drivers/perf/hisilicon/hisi_uncore_pmu.c 	if (hisi_pmu->on_cpu != cpu)
hisi_pmu          421 drivers/perf/hisilicon/hisi_uncore_pmu.c 	hisi_pmu->on_cpu = -1;
hisi_pmu          424 drivers/perf/hisilicon/hisi_uncore_pmu.c 	cpumask_and(&pmu_online_cpus, &hisi_pmu->associated_cpus,
hisi_pmu          430 drivers/perf/hisilicon/hisi_uncore_pmu.c 	perf_pmu_migrate_context(&hisi_pmu->pmu, cpu, target);
hisi_pmu          432 drivers/perf/hisilicon/hisi_uncore_pmu.c 	hisi_pmu->on_cpu = target;
hisi_pmu          433 drivers/perf/hisilicon/hisi_uncore_pmu.c 	WARN_ON(irq_set_affinity(hisi_pmu->irq, cpumask_of(target)));
hisi_pmu           24 drivers/perf/hisilicon/hisi_uncore_pmu.h #define to_hisi_pmu(p)	(container_of(p, struct hisi_pmu, pmu))
hisi_pmu           36 drivers/perf/hisilicon/hisi_uncore_pmu.h struct hisi_pmu;
hisi_pmu           39 drivers/perf/hisilicon/hisi_uncore_pmu.h 	void (*write_evtype)(struct hisi_pmu *, int, u32);
hisi_pmu           41 drivers/perf/hisilicon/hisi_uncore_pmu.h 	u64 (*read_counter)(struct hisi_pmu *, struct hw_perf_event *);
hisi_pmu           42 drivers/perf/hisilicon/hisi_uncore_pmu.h 	void (*write_counter)(struct hisi_pmu *, struct hw_perf_event *, u64);
hisi_pmu           43 drivers/perf/hisilicon/hisi_uncore_pmu.h 	void (*enable_counter)(struct hisi_pmu *, struct hw_perf_event *);
hisi_pmu           44 drivers/perf/hisilicon/hisi_uncore_pmu.h 	void (*disable_counter)(struct hisi_pmu *, struct hw_perf_event *);
hisi_pmu           45 drivers/perf/hisilicon/hisi_uncore_pmu.h 	void (*enable_counter_int)(struct hisi_pmu *, struct hw_perf_event *);
hisi_pmu           46 drivers/perf/hisilicon/hisi_uncore_pmu.h 	void (*disable_counter_int)(struct hisi_pmu *, struct hw_perf_event *);
hisi_pmu           47 drivers/perf/hisilicon/hisi_uncore_pmu.h 	void (*start_counters)(struct hisi_pmu *);
hisi_pmu           48 drivers/perf/hisilicon/hisi_uncore_pmu.h 	void (*stop_counters)(struct hisi_pmu *);
hisi_pmu           79 drivers/perf/hisilicon/hisi_uncore_pmu.h int hisi_uncore_pmu_counter_valid(struct hisi_pmu *hisi_pmu, int idx);