OpenCloudOS-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: Re-use same function for similar sysfs register accessors 2022-08-31 10:55:28 -06:00
coresight-catu.h coresight: Make new csdev_access offsets unsigned 2022-08-31 10:56:36 -06:00
coresight-cfg-afdo.c coresight: config: Add preloaded configurations 2021-08-18 22:33:28 +02:00
coresight-cfg-preload.c coresight: configuration: Update API to introduce load owner concept 2021-11-26 11:27:21 -07:00
coresight-cfg-preload.h coresight: config: Add preloaded configurations 2021-08-18 22:33:28 +02:00
coresight-config.c coresight: config: Add configuration and feature generic functions 2021-08-18 22:33:27 +02:00
coresight-config.h coresight: syscfg: Update load and unload operations 2022-06-29 09:35:58 -06:00
coresight-core.c coresight: Fix uninitialised variable use in coresight_disable 2023-01-24 10:36:53 +00:00
coresight-cpu-debug.c coresight: cpu-debug: Replace mutex with mutex_trylock on panic notifier 2022-05-09 16:03:24 +01:00
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: Reduce scope for the variable 'cs_fwnode' in cti_plat_create_connection() 2021-02-04 17:00:32 +01:00
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: Re-use same function for similar sysfs register accessors 2022-08-31 10:55:28 -06:00
coresight-etm-cp14.c coresight: Moving framework and drivers to SPDX identifier 2018-05-14 16:19:59 +02:00
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: Add complex configuration handlers to etmv4 2021-08-18 22:33:28 +02:00
coresight-etm4x-cfg.h coresight: config: Add preloaded configurations 2021-08-18 22:33:28 +02:00
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 Merge branch 'devel-stable' of git://git.armlinux.org.uk/~rmk/linux-arm into char-misc-next 2021-02-05 11:15:43 +01:00
coresight-platform.c hwtracing: coresight: Replace acpi_bus_get_device() 2022-03-11 10:07:34 +00:00
coresight-priv.h coresight: Make new csdev_access offsets unsigned 2022-08-31 10:56:36 -06:00
coresight-replicator.c coresight: Re-use same function for similar sysfs register accessors 2022-08-31 10:55:28 -06:00
coresight-self-hosted-trace.h coresight: trbe: Prohibit trace before disabling TRBE 2021-10-27 11:45:33 -06:00
coresight-stm.c coresight: etmX.X: stm: Remove trace_id() callback 2023-01-19 10:16:47 +00:00
coresight-syscfg-configfs.c coresight: configfs: Allow configfs to activate configuration 2021-11-26 11:34:27 -07:00
coresight-syscfg-configfs.h coresight: configfs: Allow configfs to activate configuration 2021-11-26 11:34:27 -07:00
coresight-syscfg.c coresight: syscfg: Update load and unload operations 2022-06-29 09:35:58 -06:00
coresight-syscfg.h coresight: syscfg: Update load and unload operations 2022-06-29 09:35:58 -06:00
coresight-sysfs.c coresight: Export global symbols 2020-09-28 19:47:40 +02:00
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 Merge branch 'devel-stable' of git://git.armlinux.org.uk/~rmk/linux-arm into char-misc-next 2021-02-05 11:15:43 +01:00
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 arm64/sysreg: Fix a few missed conversions 2022-09-21 09:24:29 +01:00
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