android_kernel_xiaomi_sm8450/include/linux/coresight-pmu.h
Ivaylo Georgiev cf491f5b13 Merge android12-5.10.19+ (d92620d) into msm-5.10
* refs/heads/tmp-d92620d:
  BACKPORT: media: v4l2-ctrl: Add base layer priority id control.
  ANDROID: GKI: defconfig: disable CONFIG_ION
  ANDROID: scsi: ufs: replace variants with android vendor hooks
  BACKPORT: media: v4l2-ctrl: Add layer wise bitrate controls for h264
  BACKPORT: media: v4l2-ctrl: Add frame-specific min/max qp controls for hevc
  FROMLIST: dts: bindings: Document device tree bindings for Arm TRBE
  FROMLIST: coresight: sink: Add TRBE driver
  FROMLIST: coresight: core: Add support for dedicated percpu sinks
  FROMLIST: coresight: etm-perf: Handle stale output handles
  FROMLIST: dts: bindings: Document device tree bindings for ETE
  FROMLIST: coresight: ete: Add support for ETE tracing
  FROMLIST: coresight: ete: Add support for ETE sysreg access
  FROMLIST: coresight: etm4x: Add support for PE OS lock
  FROMLIST: coresight: Do not scan for graph if none is present
  FROMLIST: coresight: etm-perf: Allow an event to use different sinks
  FROMLIST: coresight: etm4x: Move ETM to prohibited region for disable
  FROMLIST: arm64: kvm: Enable access to TRBE support for host
  FROMLIST: arm64: Add TRBE definitions
  FROMLIST: arm64: Add support for trace synchronization barrier
  FROMLIST: kvm: arm64: Disable guest access to trace filter controls
  FROMLIST: kvm: arm64: nvhe: Save the SPE context early
  FROMLIST: kvm: arm64: Hide system instruction access to Trace registers
  FROMLIST: perf: aux: Add CoreSight PMU buffer formats
  FROMLIST: perf: aux: Add flags for the buffer format
  UPSTREAM: Documentation: coresight: Add PID tracing description
  UPSTREAM: coresight: etm-perf: Support PID tracing for kernel at EL2
  UPSTREAM: coresight: etm-perf: Clarify comment on perf options
  UPSTREAM: coresight: etm4x: Fix merge resolution for amba rework
  UPSTREAM: coresight: etm4x: Handle accesses to TRCSTALLCTLR
  UPSTREAM: coresight: Add support for v8.4 SelfHosted tracing
  UPSTREAM: arm64: Add TRFCR_ELx definitions
  UPSTREAM: dts: bindings: coresight: ETM system register access only units
  UPSTREAM: coresight: etm4x: Add support for sysreg only devices
  UPSTREAM: coresight: etm4x: Run arch feature detection on the CPU
  UPSTREAM: coresight: etm4x: Refactor probing routine
  UPSTREAM: coresight: etm4x: Detect system instructions support
  UPSTREAM: coresight: etm4x: Add necessary synchronization for sysreg access
  UPSTREAM: coresight: etm4x: Expose trcdevarch via sysfs
  UPSTREAM: coresight: etm4x: Use TRCDEVARCH for component discovery
  UPSTREAM: coresight: etm4x: Detect access early on the target CPU
  UPSTREAM: coresight: etm4x: Handle ETM architecture version
  UPSTREAM: coresight: etm4x: Clean up exception level masks
  UPSTREAM: coresight: etm4x: Cleanup secure exception level masks
  UPSTREAM: coresight: etm4x: Check for Software Lock
  UPSTREAM: coresight: etm4x: Define DEVARCH register fields
  UPSTREAM: coresight: etm4x: Hide sysfs attributes for unavailable registers
  UPSTREAM: coresight: etm4x: Add sysreg access helpers
  UPSTREAM: coresight: etm4x: Add commentary on the registers
  UPSTREAM: coresight: etm4x: Make offset available for sysfs attributes
  UPSTREAM: coresight: etm4x: Convert all register accesses
  UPSTREAM: coresight: etm4x: Always read the registers on the host CPU
  UPSTREAM: coresight: Convert claim/disclaim operations to use access wrappers
  UPSTREAM: coresight: Convert coresight_timeout to use access abstraction
  UPSTREAM: coresight: tpiu: Prepare for using coresight device access abstraction
  UPSTREAM: coresight: Introduce device access abstraction
  UPSTREAM: coresight: etm4x: Skip accessing TRCPDCR in save/restore
  UPSTREAM: coresight: etm4x: Handle access to TRCSSPCICRn
  UPSTREAM: coresight: etm4x: add AMBA id for Cortex-A55 and Cortex-A75
  UPSTREAM: coresight: cti: Reduce scope for the variable 'cs_fwnode' in cti_plat_create_connection()
  BACKPORT: UPSTREAM: amba: Make the remove callback return void
  UPSTREAM: coresight: etm4x: Modify core-commit to avoid HiSilicon ETM overflow
  ANDROID: GKI: Enable CONFIG_NETFILTER_XT_TARGET_TEE=y
  ANDROID: GKI: Update abi_gki_aarch64_qcom for zram and zsmalloc
  ANDROID: sched/rt: Only enable RT sync for SMP targets
  UPSTREAM: kfence: report sensitive information based on no_hash_pointers
  ANDROID: Incremental fs: set the correct access to mapped files
  ANDROID: Incremental fs: Build merkle tree when enabling verity
  ANDROID: Incremental fs: Add FS_IOC_MEASURE_VERITY
  ANDROID: Incremental fs: Store fs-verity state in backing file
  ANDROID: Incremental fs: Add FS_IOC_GETFLAGS
  ANDROID: Incremental fs: Add FS_IOC_ENABLE_VERITY
  ANDROID: fs-verity: Export function to check signatures
  ANDROID: Incremental fs: Fix memory leak on closing file
  ANDROID: Incremental fs: inotify on create mapped file
  ANDROID: Incremental fs: inotify support
  fs-verity: support reading signature with ioctl
  fs-verity: support reading descriptor with ioctl
  fs-verity: support reading Merkle tree with ioctl
  fs-verity: add FS_IOC_READ_VERITY_METADATA ioctl
  fs-verity: don't pass whole descriptor to fsverity_verify_signature()
  fs-verity: factor out fsverity_get_descriptor()
  fs: simplify freeze_bdev/thaw_bdev
  f2fs: remove FAULT_ALLOC_BIO
  f2fs: use blkdev_issue_flush in __submit_flush_wait
  f2fs: remove a few bd_part checks
  Documentation: f2fs: fix typo s/automaic/automatic
  f2fs: give a warning only for readonly partition
  f2fs: don't grab superblock freeze for flush/ckpt thread
  f2fs: add ckpt_thread_ioprio sysfs node
  f2fs: introduce checkpoint_merge mount option
  f2fs: relocate inline conversion from mmap() to mkwrite()
  f2fs: fix a wrong condition in __submit_bio
  f2fs: remove unnecessary initialization in xattr.c
  f2fs: fix to avoid inconsistent quota data
  f2fs: flush data when enabling checkpoint back
  f2fs: deprecate f2fs_trace_io
  f2fs: Remove readahead collision detection
  f2fs: remove unused stat_{inc, dec}_atomic_write
  f2fs: introduce sb_status sysfs node
  f2fs: fix to use per-inode maxbytes
  f2fs: compress: fix potential deadlock
  libfs: unexport generic_ci_d_compare() and generic_ci_d_hash()
  f2fs: fix to set/clear I_LINKABLE under i_lock
  f2fs: fix null page reference in redirty_blocks
  f2fs: clean up post-read processing
  f2fs: trival cleanup in move_data_block()
  f2fs: fix out-of-repair __setattr_copy()
  f2fs: fix to tag FIEMAP_EXTENT_MERGED in f2fs_fiemap()
  f2fs: introduce a new per-sb directory in sysfs
  f2fs: compress: support compress level
  f2fs: compress: deny setting unsupported compress algorithm
  f2fs: relocate f2fs_precache_extents()
  f2fs: enforce the immutable flag on open files
  f2fs: enhance to update i_mode and acl atomically in f2fs_setattr()
  f2fs: fix to set inode->i_mode correctly for posix_acl_update_mode
  f2fs: Replace expression with offsetof()
  f2fs: handle unallocated section and zone on pinned/atgc

Conflicts:
	Documentation/devicetree/bindings
	Documentation/devicetree/bindings/arm/coresight.txt
	drivers/hwtracing/coresight/Kconfig
	drivers/hwtracing/coresight/coresight-core.c
	include/linux/coresight.h

Change-Id: I88ddc19d690ecf6657527b172bd7b2602fcc2c8c
Signed-off-by: Ivaylo Georgiev <irgeorgiev@codeaurora.org>
2021-03-03 22:04:14 -08:00

47 lines
1.3 KiB
C

/* SPDX-License-Identifier: GPL-2.0 */
/*
* Copyright(C) 2015 Linaro Limited. All rights reserved.
* Author: Mathieu Poirier <mathieu.poirier@linaro.org>
*/
#ifndef _LINUX_CORESIGHT_PMU_H
#define _LINUX_CORESIGHT_PMU_H
#define CORESIGHT_ETM_PMU_NAME "cs_etm"
#define CORESIGHT_ETM_PMU_SEED 0x01
/*
* Below are the definition of bit offsets for perf option, and works as
* arbitrary values for all ETM versions.
*
* Most of them are orignally from ETMv3.5/PTM's ETMCR config, therefore,
* ETMv3.5/PTM doesn't define ETMCR config bits with prefix "ETM3_" and
* directly use below macros as config bits.
*/
#define ETM_OPT_CYCACC 12
#define ETM_OPT_CTXTID 14
#define ETM_OPT_CTXTID2 15
#define ETM_OPT_TS 28
#define ETM_OPT_RETSTK 29
/* ETMv4 CONFIGR programming bits for the ETM OPTs */
#define ETM4_CFG_BIT_CYCACC 4
#define ETM4_CFG_BIT_CTXTID 6
#define ETM4_CFG_BIT_VMID 7
#define ETM4_CFG_BIT_TS 11
#define ETM4_CFG_BIT_RETSTK 12
#define ETM4_CFG_BIT_VMID_OPT 15
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);
}
#endif