msm: qdss: CP14 based save and restore of debug and trace registers
Accessing Krait debug registers from memory mapped interface requires
qdss_pclkdbg_clk and qdss_h_clk clocks apart from the ETM clock. This
means either:
1. requesting or releasing qdss clocks for every save and restore
or
2. leaving the qdss clocks on all the time
or
3. using the CP14 interface which is based on just the ETM clock and
doesn't require the qdss clocks
We choose to use CP14 interface to avoid the pitfalls for 1. and 2. above.
Moreover, we make the save-restore autodetect the debug and trace
architecture and do the needful based on it and hence consolidate the
code for 8660 and 8960.
Change-Id: If2a383e6f755c9ed893031966fa7ef6de41a5699
Signed-off-by: Pratik Patel <pratikp@codeaurora.org>
diff --git a/arch/arm/mach-msm/Kconfig b/arch/arm/mach-msm/Kconfig
index c793e1d..4209dc9 100644
--- a/arch/arm/mach-msm/Kconfig
+++ b/arch/arm/mach-msm/Kconfig
@@ -138,7 +138,6 @@
select MSM_AUDIO_QDSP6 if SND_SOC
select CPU_HAS_L2_PMU
select MSM_SPM_V2
- select HAS_QDSS
select MSM_L2_SPM
select MSM_NATIVE_RESTART
select DONT_MAP_HOLE_AFTER_MEMBANK0
@@ -1814,41 +1813,21 @@
make the kernel reboot on a kernel panic - that must be
enabled via another mechanism.
-config HAS_QDSS
- bool "QDSS Present"
+config MSM_JTAG
+ bool "JTAG debug and trace support"
help
- Select this if the chip has Qualcomm Debug Subsystem implemented.
-
-config MSM_DEBUG_ACROSS_PC
- bool "Debug support across power collapse"
- help
- Enables debug state to be saved and restored across power collapse.
-
-config MSM_JTAG_V7
- depends on CPU_V7 && !HAS_QDSS
- default y if DEBUG_KERNEL
- bool "JTAG debug support"
- select MSM_DEBUG_ACROSS_PC
- help
- Add additional support for JTAG kernel debugging.
-
-config MSM_TRACE_ACROSS_PC
- bool "Trace support across power collapse"
- help
- Enables trace state to be saved and restored across power collapse.
+ Add additional support for JTAG kernel debugging and tracing.
config MSM_ETM
tristate "Enable MSM ETM and ETB"
- depends on ARCH_MSM8X60 && !HAS_QDSS
- select MSM_TRACE_ACROSS_PC
+ depends on ARCH_MSM8X60
+ select MSM_JTAG
help
- Enables embedded trace collection on Qualcomm v7 CPUs.
+ Enables embedded trace collection on MSM8660
config MSM_QDSS
bool "Qualcomm Debug Subsystem"
- depends on HAS_QDSS
- select MSM_DEBUG_ACROSS_PC
- select MSM_TRACE_ACROSS_PC
+ select MSM_JTAG
help
Enables support for Qualcomm Debug Subsystem.