]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
coresight-etm4x: add isb() before reading the TRCSTATR
authorYuanfang Zhang <quic_yuanfang@quicinc.com>
Thu, 16 Jan 2025 09:04:20 +0000 (17:04 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Apr 2025 12:33:35 +0000 (14:33 +0200)
commitcb385b93c87a035f9713b8e879d016bb077b8490
treecc91cffd1cc085805ddca32f00344ad1c3858dcb
parent90b7ad7678ad60cf71f2cd1910ae414ae1e736e7
coresight-etm4x: add isb() before reading the TRCSTATR

[ Upstream commit 4ff6039ffb79a4a8a44b63810a8a2f2b43264856 ]

As recommended by section 4.3.7 ("Synchronization when using system
instructions to progrom the trace unit") of ARM IHI 0064H.b, the
self-hosted trace analyzer must perform a Context synchronization
event between writing to the TRCPRGCTLR and reading the TRCSTATR.
Additionally, add an ISB between the each read of TRCSTATR on
coresight_timeout() when using system instructions to program the
trace unit.

Fixes: 1ab3bb9df5e3 ("coresight: etm4x: Add necessary synchronization for sysreg access")
Signed-off-by: Yuanfang Zhang <quic_yuanfang@quicinc.com>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Link: https://lore.kernel.org/r/20250116-etm_sync-v4-1-39f2b05e9514@quicinc.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/hwtracing/coresight/coresight-core.c
drivers/hwtracing/coresight/coresight-etm4x-core.c
include/linux/coresight.h