Blame view

include/linux/coresight-pmu.h 989 Bytes
8a9fd8323   Mathieu Poirier   coresight: Move t...
1
  /* SPDX-License-Identifier: GPL-2.0 */
0bcbf2e30   Mathieu Poirier   coresight: etm-pe...
2
3
4
  /*
   * Copyright(C) 2015 Linaro Limited. All rights reserved.
   * Author: Mathieu Poirier <mathieu.poirier@linaro.org>
0bcbf2e30   Mathieu Poirier   coresight: etm-pe...
5
6
7
8
9
10
   */
  
  #ifndef _LINUX_CORESIGHT_PMU_H
  #define _LINUX_CORESIGHT_PMU_H
  
  #define CORESIGHT_ETM_PMU_NAME "cs_etm"
17534ceb8   Mathieu Poirier   coresight: introd...
11
  #define CORESIGHT_ETM_PMU_SEED  0x10
0bcbf2e30   Mathieu Poirier   coresight: etm-pe...
12
13
14
  
  /* ETMv3.5/PTM's ETMCR config bit */
  #define ETM_OPT_CYCACC  12
82500a810   Mathieu Poirier   coresight: etm4x:...
15
  #define ETM_OPT_CTXTID	14
0bcbf2e30   Mathieu Poirier   coresight: etm-pe...
16
  #define ETM_OPT_TS      28
b97971bee   Mike Leach   coresight: pmu: A...
17
  #define ETM_OPT_RETSTK	29
0bcbf2e30   Mathieu Poirier   coresight: etm-pe...
18

df770ff05   Mike Leach   perf: cs-etm: Fix...
19
20
  /* ETMv4 CONFIGR programming bits for the ETM OPTs */
  #define ETM4_CFG_BIT_CYCACC	4
82500a810   Mathieu Poirier   coresight: etm4x:...
21
  #define ETM4_CFG_BIT_CTXTID	6
df770ff05   Mike Leach   perf: cs-etm: Fix...
22
23
  #define ETM4_CFG_BIT_TS		11
  #define ETM4_CFG_BIT_RETSTK	12
17534ceb8   Mathieu Poirier   coresight: introd...
24
25
26
27
28
29
30
31
32
33
  static inline int coresight_get_trace_id(int cpu)
  {
  	/*
  	 * A trace ID of value 0 is invalid, so let's start at some
  	 * random value that fits in 7 bits and go from there.  Since
  	 * the common convention is to have data trace IDs be I(N) + 1,
  	 * set instruction trace IDs as a function of the CPU number.
  	 */
  	return (CORESIGHT_ETM_PMU_SEED + (cpu * 2));
  }
0bcbf2e30   Mathieu Poirier   coresight: etm-pe...
34
  #endif