7fdc9bb2ce
Preload set of configurations. This patch creates a small set of preloaded configurations and features that are available immediately after coresight has been initialised. The current set provides a strobing feature for ETMv4, that creates a periodic sampling of trace by switching trace generation on and off using counters in the ETM. A configuration called "autofdo" is also provided that uses the 'strobing' feature and provides a couple of preset values, selectable on the perf command line. Link: https://lore.kernel.org/r/20210723165444.1048-9-mike.leach@linaro.org Signed-off-by: Mike Leach <mike.leach@linaro.org> Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org> Link: https://lore.kernel.org/r/20210818194022.379573-9-mathieu.poirier@linaro.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
32 lines
704 B
C
32 lines
704 B
C
// SPDX-License-Identifier: GPL-2.0
|
|
/*
|
|
* Copyright(C) 2020 Linaro Limited. All rights reserved.
|
|
* Author: Mike Leach <mike.leach@linaro.org>
|
|
*/
|
|
|
|
#include "coresight-cfg-preload.h"
|
|
#include "coresight-config.h"
|
|
#include "coresight-syscfg.h"
|
|
|
|
/* Basic features and configurations pre-loaded on initialisation */
|
|
|
|
static struct cscfg_feature_desc *preload_feats[] = {
|
|
#if IS_ENABLED(CONFIG_CORESIGHT_SOURCE_ETM4X)
|
|
&strobe_etm4x,
|
|
#endif
|
|
NULL
|
|
};
|
|
|
|
static struct cscfg_config_desc *preload_cfgs[] = {
|
|
#if IS_ENABLED(CONFIG_CORESIGHT_SOURCE_ETM4X)
|
|
&afdo_etm4x,
|
|
#endif
|
|
NULL
|
|
};
|
|
|
|
/* preload called on initialisation */
|
|
int cscfg_preload(void)
|
|
{
|
|
return cscfg_load_config_sets(preload_cfgs, preload_feats);
|
|
}
|