Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5afc9b52 authored by Anshuman Khandual's avatar Anshuman Khandual Committed by Benjamin Herrenschmidt
Browse files

powerpc/perf: Add new BHRB related generic functions, data and flags



This patch adds couple of generic functions to power_pmu structure
which would configure the BHRB and it's filters. It also adds
representation of the number of BHRB entries present on the PMU.
A new PMU flag PPMU_BHRB would indicate presence of BHRB feature.

Signed-off-by: default avatarAnshuman Khandual <khandual@linux.vnet.ibm.com>
Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
parent 73760931
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -33,6 +33,8 @@ struct power_pmu {
				unsigned long *valp);
	int		(*get_alternatives)(u64 event_id, unsigned int flags,
				u64 alt[]);
	u64             (*bhrb_filter_map)(u64 branch_sample_type);
	void            (*config_bhrb)(u64 pmu_bhrb_filter);
	void		(*disable_pmc)(unsigned int pmc, unsigned long mmcr[]);
	int		(*limited_pmc_event)(u64 event_id);
	u32		flags;
@@ -42,6 +44,9 @@ struct power_pmu {
	int		(*cache_events)[PERF_COUNT_HW_CACHE_MAX]
			       [PERF_COUNT_HW_CACHE_OP_MAX]
			       [PERF_COUNT_HW_CACHE_RESULT_MAX];

	/* BHRB entries in the PMU */
	int		bhrb_nr;
};

/*
@@ -54,6 +59,7 @@ struct power_pmu {
#define PPMU_SIAR_VALID		0x00000010 /* Processor has SIAR Valid bit */
#define PPMU_HAS_SSLOT		0x00000020 /* Has sampled slot in MMCRA */
#define PPMU_HAS_SIER		0x00000040 /* Has SIER */
#define PPMU_BHRB		0x00000080 /* has BHRB feature enabled */

/*
 * Values for flags to get_alternatives()