M7350/kernel/include/soc/qcom/perf_event_l2.h
2024-09-09 08:57:42 +00:00

81 lines
2.3 KiB
C

/*
* Copyright (c) 2015 The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
* only version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
#ifndef __PERF_EVENT_QTI_L2_H
#define __PERF_EVENT_QTI_L2_H
#define MAX_L2_CTRS 17
#define PMCR_NUM_EV_SHIFT 11
#define PMCR_NUM_EV_MASK 0x1f
#define L2PMCR 0x400
#define L2PMCNTENCLR 0x403
#define L2PMCNTENSET 0x404
#define L2PMINTENCLR 0x405
#define L2PMINTENSET 0x406
#define L2PMOVSCLR 0x407
#define L2PMOVSSET 0x408
#define L2PMCCNTCR 0x409
#define L2PMCCNTR0 0x40A
#define L2PMCCNTR1 0x40B
#define L2PMCCNTSR 0x40C
#define L2PMRESRL 0x410
#define L2PMRESRH 0x411
#define IA_L2PMXEVCNTCR_BASE 0x420
#define IA_L2PMXEVCNTR_BASE 0x421
#define IA_L2PMXEVFILTER_BASE 0x423
#define IA_L2PMXEVTYPER_BASE 0x424
#define IA_L2_REG_OFFSET 0x10
#define L2PMXEVFILTER_SUFILTER_ALL 0x000E0000
#define L2PMXEVFILTER_ORGFILTER_IDINDEP 0x00000004
#define L2PMXEVFILTER_ORGFILTER_ALL 0x00000003
#define L2PM_CC_ENABLE 0x80000000
#define L2EVTYPER_REG_SHIFT 3
#define L2CYCLE_CTR_BIT 31
#define L2CYCLE_CTR_RAW_CODE 0xFE
#define L2PMCR_RESET_ALL 0x6
#define L2PMCR_GLOBAL_ENABLE 0x1
#define L2PMCR_GLOBAL_DISABLE 0x0
#define L2PMRESRH_EN 0x80000000
#define L2_EVT_MASK 0xfffff
#define EVENT_PREFIX_MASK 0xf0000
#define EVENT_REG_MASK 0x0f000
#define EVENT_CC_MASK 0x00ff0
#define EVENT_GROUP_MASK 0x0000f
#define EVENT_PREFIX_SHIFT 16
#define EVENT_REG_SHIFT 12
#define EVENT_CC_SHIFT 4
#define L2_TRACECTR_PREFIX 5
#define L2_MAX_PERIOD U32_MAX
#define L2_CNT_PERIOD (U32_MAX - 0x07FFFFFF)
/*
* Events
*/
#define L2_CYCLES 0xFE
#endif