]> 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:37:32 +0000 (14:37 +0200)
commita8b3879b2e3b843129d928d0bf2372687ec7be3f
tree7abcb5d47aa30a94ed15763583e3b6da7fd53a5d
parent2b34bdc42df047794542f3e220fe989124e4499a
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