acrn-kernel/drivers/hwtracing/coresight
Suzuki K Poulose 735e7b30a5 coresight: etm4x: Do not access TRCIDR1 for identification
CoreSight ETM4x architecture clearly provides ways to identify a device
via registers in the "Management" class, TRCDEVARCH and TRCDEVTYPE. These
registers can be accessed without the Trace domain being powered on.
We additionally added TRCIDR1 as fallback in order to cover for any
ETMs that may not have implemented TRCDEVARCH. So far, nobody has
reported hitting a WARNING we placed to catch such systems.

Also, more importantly it is problematic to access TRCIDR1, which is a
"Trace" register via MMIO access, without clearing the OSLK. But we cannot
mess with the OSLK until we know for sure that this is an ETMv4 device.
Thus, this kind of creates a chicken and egg problem unnecessarily for
systems "which are compliant" to the ETMv4 architecture.

Let us remove the TRCIDR1 fall back check and rely only on TRCDEVARCH.

Fixes: 8b94db1eda ("coresight: etm4x: Use TRCDEVARCH for component discovery")
Cc: stable@vger.kernel.org
Reported-by: Steve Clevenger <scclevenger@os.amperecomputing.com>
Link: https://lore.kernel.org/all/143540e5623d4c7393d24833f2b80600d8d745d2.1677881753.git.scclevenger@os.amperecomputing.com/
Cc: Mike Leach <mike.leach@linaro.org>
Cc: James Clark <james.clark@arm.com>
Reviewed-by: Mike Leach <mike.leach@linaro.org>
Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Link: https://lore.kernel.org/r/20230321104530.1547136-1-suzuki.poulose@arm.com
2023-03-21 12:31:02 +00:00
..
Kconfig Coresight: Add TPDA link driver 2023-01-20 11:39:03 +00:00
Makefile Coresight: Add TPDA link driver 2023-01-20 11:39:03 +00:00
coresight-catu.c
coresight-catu.h
coresight-cfg-afdo.c
coresight-cfg-preload.c
coresight-cfg-preload.h
coresight-config.c
coresight-config.h
coresight-core.c coresight: Fix uninitialised variable use in coresight_disable 2023-01-24 10:36:53 +00:00
coresight-cpu-debug.c
coresight-cti-core.c coresight: cti: Remove atomic type from enable_req_count 2023-01-16 10:11:01 +00:00
coresight-cti-platform.c
coresight-cti-sysfs.c coresight: cti: Remove atomic type from enable_req_count 2023-01-16 10:11:01 +00:00
coresight-cti.h coresight: cti: Remove atomic type from enable_req_count 2023-01-16 10:11:01 +00:00
coresight-etb10.c
coresight-etm-cp14.c
coresight-etm-perf.c coresight: perf: Output trace id only once 2023-01-24 10:41:46 +00:00
coresight-etm-perf.h coresight: perf: Output trace id only once 2023-01-24 10:41:46 +00:00
coresight-etm.h coresight: etmX.X: stm: Remove trace_id() callback 2023-01-19 10:16:47 +00:00
coresight-etm3x-core.c coresight: etmX.X: stm: Remove trace_id() callback 2023-01-19 10:16:47 +00:00
coresight-etm3x-sysfs.c coresight: etm3x: Update ETM3 driver to use Trace ID API 2023-01-19 10:16:47 +00:00
coresight-etm4x-cfg.c
coresight-etm4x-cfg.h
coresight-etm4x-core.c coresight: etm4x: Do not access TRCIDR1 for identification 2023-03-21 12:31:02 +00:00
coresight-etm4x-sysfs.c coresight: etm4x: Update ETM4 driver to use Trace ID API 2023-01-19 10:16:47 +00:00
coresight-etm4x.h coresight: etm4x: Do not access TRCIDR1 for identification 2023-03-21 12:31:02 +00:00
coresight-funnel.c
coresight-platform.c
coresight-priv.h
coresight-replicator.c
coresight-self-hosted-trace.h
coresight-stm.c coresight: etmX.X: stm: Remove trace_id() callback 2023-01-19 10:16:47 +00:00
coresight-syscfg-configfs.c
coresight-syscfg-configfs.h
coresight-syscfg.c
coresight-syscfg.h
coresight-sysfs.c
coresight-tmc-core.c coresight: tmc: Don't enable TMC when it's not ready. 2023-01-30 11:45:32 +00:00
coresight-tmc-etf.c coresight: tmc: Don't enable TMC when it's not ready. 2023-01-30 11:45:32 +00:00
coresight-tmc-etr.c coresight: tmc: Don't enable TMC when it's not ready. 2023-01-30 11:45:32 +00:00
coresight-tmc.h coresight: tmc: Don't enable TMC when it's not ready. 2023-01-30 11:45:32 +00:00
coresight-tpda.c coresight: tpda: fix return value check in tpda_probe() 2023-01-30 09:42:35 +00:00
coresight-tpda.h Coresight: Add TPDA link driver 2023-01-20 11:39:03 +00:00
coresight-tpdm.c Coresight: tpda/tpdm: remove incorrect __exit annotation 2023-01-26 18:17:42 +00:00
coresight-tpdm.h coresight-tpdm: Add integration test support 2023-01-20 11:39:03 +00:00
coresight-tpiu.c
coresight-trace-id.c coresight: trace-id: Add debug & test macros to Trace ID allocation 2023-01-19 10:16:47 +00:00
coresight-trace-id.h coresight: trace-id: Add API to dynamically assign Trace ID values 2023-01-19 10:16:46 +00:00
coresight-trbe.c coresight: trbe: remove cpuhp instance node before remove cpuhp state 2022-11-28 18:29:46 +00:00
coresight-trbe.h
ultrasoc-smb.c coresight: ultrasoc-smb: fix return value check in smb_init_data_buffer() 2023-01-19 10:04:44 +00:00
ultrasoc-smb.h drivers/coresight: Add UltraSoc System Memory Buffer driver 2023-01-16 10:16:15 +00:00