18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Copyright(C) 2015 Linaro Limited. All rights reserved. 48c2ecf20Sopenharmony_ci * Author: Mathieu Poirier <mathieu.poirier@linaro.org> 58c2ecf20Sopenharmony_ci */ 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ci#include <string.h> 88c2ecf20Sopenharmony_ci#include <linux/coresight-pmu.h> 98c2ecf20Sopenharmony_ci#include <linux/perf_event.h> 108c2ecf20Sopenharmony_ci#include <linux/string.h> 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ci#include "arm-spe.h" 138c2ecf20Sopenharmony_ci#include "../../util/pmu.h" 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_cistruct perf_event_attr 168c2ecf20Sopenharmony_ci*perf_pmu__get_default_config(struct perf_pmu *pmu __maybe_unused) 178c2ecf20Sopenharmony_ci{ 188c2ecf20Sopenharmony_ci#ifdef HAVE_AUXTRACE_SUPPORT 198c2ecf20Sopenharmony_ci if (!strcmp(pmu->name, CORESIGHT_ETM_PMU_NAME)) { 208c2ecf20Sopenharmony_ci /* add ETM default config here */ 218c2ecf20Sopenharmony_ci pmu->selectable = true; 228c2ecf20Sopenharmony_ci#if defined(__aarch64__) 238c2ecf20Sopenharmony_ci } else if (strstarts(pmu->name, ARM_SPE_PMU_NAME)) { 248c2ecf20Sopenharmony_ci return arm_spe_pmu_default_config(pmu); 258c2ecf20Sopenharmony_ci#endif 268c2ecf20Sopenharmony_ci } 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_ci#endif 298c2ecf20Sopenharmony_ci return NULL; 308c2ecf20Sopenharmony_ci} 31