xref: /openbmc/linux/tools/perf/arch/arm/util/pmu.c (revision c6613bd4)
18a9fd832SMathieu Poirier // SPDX-License-Identifier: GPL-2.0
27e21b0d5SMathieu Poirier /*
37e21b0d5SMathieu Poirier  * Copyright(C) 2015 Linaro Limited. All rights reserved.
47e21b0d5SMathieu Poirier  * Author: Mathieu Poirier <mathieu.poirier@linaro.org>
57e21b0d5SMathieu Poirier  */
67e21b0d5SMathieu Poirier 
77e21b0d5SMathieu Poirier #include <string.h>
87e21b0d5SMathieu Poirier #include <linux/coresight-pmu.h>
97e21b0d5SMathieu Poirier #include <linux/perf_event.h>
10af1db7f6SArnaldo Carvalho de Melo #include <linux/string.h>
117e21b0d5SMathieu Poirier 
12ffd3d18cSKim Phillips #include "arm-spe.h"
13*c6613bd4SIan Rogers #include "../../../util/pmu.h"
147e21b0d5SMathieu Poirier 
157e21b0d5SMathieu Poirier struct perf_event_attr
167e21b0d5SMathieu Poirier *perf_pmu__get_default_config(struct perf_pmu *pmu __maybe_unused)
177e21b0d5SMathieu Poirier {
187e21b0d5SMathieu Poirier #ifdef HAVE_AUXTRACE_SUPPORT
197e21b0d5SMathieu Poirier 	if (!strcmp(pmu->name, CORESIGHT_ETM_PMU_NAME)) {
207e21b0d5SMathieu Poirier 		/* add ETM default config here */
217e21b0d5SMathieu Poirier 		pmu->selectable = true;
22ffd3d18cSKim Phillips #if defined(__aarch64__)
23ffd3d18cSKim Phillips 	} else if (strstarts(pmu->name, ARM_SPE_PMU_NAME)) {
24ffd3d18cSKim Phillips 		return arm_spe_pmu_default_config(pmu);
25ffd3d18cSKim Phillips #endif
267e21b0d5SMathieu Poirier 	}
27ffd3d18cSKim Phillips 
287e21b0d5SMathieu Poirier #endif
297e21b0d5SMathieu Poirier 	return NULL;
307e21b0d5SMathieu Poirier }
31