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: Anshuman Khandual <khandual@linux.vnet.ibm.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
parent
73760931dc
commit
5afc9b52a7
|
@ -33,6 +33,8 @@ struct power_pmu {
|
||||||
unsigned long *valp);
|
unsigned long *valp);
|
||||||
int (*get_alternatives)(u64 event_id, unsigned int flags,
|
int (*get_alternatives)(u64 event_id, unsigned int flags,
|
||||||
u64 alt[]);
|
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[]);
|
void (*disable_pmc)(unsigned int pmc, unsigned long mmcr[]);
|
||||||
int (*limited_pmc_event)(u64 event_id);
|
int (*limited_pmc_event)(u64 event_id);
|
||||||
u32 flags;
|
u32 flags;
|
||||||
|
@ -42,6 +44,9 @@ struct power_pmu {
|
||||||
int (*cache_events)[PERF_COUNT_HW_CACHE_MAX]
|
int (*cache_events)[PERF_COUNT_HW_CACHE_MAX]
|
||||||
[PERF_COUNT_HW_CACHE_OP_MAX]
|
[PERF_COUNT_HW_CACHE_OP_MAX]
|
||||||
[PERF_COUNT_HW_CACHE_RESULT_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_SIAR_VALID 0x00000010 /* Processor has SIAR Valid bit */
|
||||||
#define PPMU_HAS_SSLOT 0x00000020 /* Has sampled slot in MMCRA */
|
#define PPMU_HAS_SSLOT 0x00000020 /* Has sampled slot in MMCRA */
|
||||||
#define PPMU_HAS_SIER 0x00000040 /* Has SIER */
|
#define PPMU_HAS_SIER 0x00000040 /* Has SIER */
|
||||||
|
#define PPMU_BHRB 0x00000080 /* has BHRB feature enabled */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Values for flags to get_alternatives()
|
* Values for flags to get_alternatives()
|
||||||
|
|
Loading…
Reference in New Issue