mirror of
https://github.com/LineageOS/android_kernel_fxtec_sm6115.git
synced 2026-04-24 15:13:10 +00:00
Merge "coresight-etm4x: enable ETM driver on SDM845"
This commit is contained in:
committed by
Gerrit - the friendly Code Review server
commit
aa810ad47c
@ -1,6 +1,6 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Copyright (c) 2014, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2014,2016, The Linux Foundation. All rights reserved.
|
||||
*/
|
||||
|
||||
#include <linux/kernel.h>
|
||||
@ -55,7 +55,7 @@ static void etm4_os_unlock(struct etmv4_drvdata *drvdata)
|
||||
static bool etm4_arch_supported(u8 arch)
|
||||
{
|
||||
switch (arch) {
|
||||
case ETM_ARCH_V4:
|
||||
case ETM_ARCH_MAJOR_V4:
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
@ -483,7 +483,7 @@ static void etm4_init_arch_data(void *info)
|
||||
* TRCARCHMIN, bits[7:4] architecture the minor version number
|
||||
* TRCARCHMAJ, bits[11:8] architecture major versin number
|
||||
*/
|
||||
drvdata->arch = BMVAL(etmidr1, 4, 11);
|
||||
drvdata->arch = BMVAL(etmidr1, 8, 11);
|
||||
|
||||
/* maximum size of resources */
|
||||
etmidr2 = readl_relaxed(drvdata->base + TRCIDR2);
|
||||
@ -529,8 +529,8 @@ static void etm4_init_arch_data(void *info)
|
||||
else
|
||||
drvdata->sysstall = false;
|
||||
|
||||
/* NUMPROC, bits[30:28] the number of PEs available for tracing */
|
||||
drvdata->nr_pe = BMVAL(etmidr3, 28, 30);
|
||||
/* NUMPROC, bits[13:12, 30:28] the number of PEs available for trace */
|
||||
drvdata->nr_pe = (BMVAL(etmidr3, 12, 13) << 3) | BMVAL(etmidr3, 28, 30);
|
||||
|
||||
/* NOOVERFLOW, bit[31] is trace overflow prevention supported */
|
||||
if (BMVAL(etmidr3, 31, 31))
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
/*
|
||||
* Copyright (c) 2014-2015, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2014-2016, The Linux Foundation. All rights reserved.
|
||||
*/
|
||||
|
||||
#ifndef _CORESIGHT_CORESIGHT_ETM_H
|
||||
@ -136,7 +136,7 @@
|
||||
#define ETM_MAX_RES_SEL 16
|
||||
#define ETM_MAX_SS_CMP 8
|
||||
|
||||
#define ETM_ARCH_V4 0x40
|
||||
#define ETM_ARCH_MAJOR_V4 0x4
|
||||
#define ETMv4_SYNC_MASK 0x1F
|
||||
#define ETM_CYC_THRESHOLD_MASK 0xFFF
|
||||
#define ETM_CYC_THRESHOLD_DEFAULT 0x100
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
#define _LINUX_CORESIGHT_PMU_H
|
||||
|
||||
#define CORESIGHT_ETM_PMU_NAME "cs_etm"
|
||||
#define CORESIGHT_ETM_PMU_SEED 0x10
|
||||
#define CORESIGHT_ETM_PMU_SEED 0x01
|
||||
|
||||
/* ETMv3.5/PTM's ETMCR config bit */
|
||||
#define ETM_OPT_CYCACC 12
|
||||
@ -28,7 +28,7 @@ static inline int coresight_get_trace_id(int cpu)
|
||||
* 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));
|
||||
return (CORESIGHT_ETM_PMU_SEED + cpu);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user