cs: move qdss code under drivers

In preparation to create generic coresight drivers code move
existing qdss code under drivers/cs and include/linux

Change-Id: If7697a9961006fe94818e32d19aea75c56ce225d
Signed-off-by: Pratik Patel <pratikp@codeaurora.org>
This commit is contained in:
Pratik Patel
2012-05-17 12:43:40 -07:00
committed by Stephen Boyd
parent 49de723eac
commit 7907eb535c
18 changed files with 64 additions and 32 deletions

View File

@@ -347,12 +347,14 @@ config ARCH_MSM_SCORPIONMP
select ARCH_MSM_SCORPION
select MSM_SMP
select HAVE_ARCH_HAS_CURRENT_TIMER
select MSM_JTAG if MSM_QDSS
bool
config ARCH_MSM_KRAITMP
select ARCH_MSM_KRAIT
select MSM_SMP
select HAVE_ARCH_HAS_CURRENT_TIMER
select MSM_JTAG if MSM_QDSS
bool
select HAVE_HW_BRKPT_RESERVED_RW_ACCESS
@@ -2074,9 +2076,15 @@ config MSM_DLOAD_MODE
enabled via another mechanism.
config MSM_JTAG
bool "JTAG debug and trace support"
bool "JTAG and kernel debug and trace support across power collapse"
help
Add additional support for JTAG kernel debugging and tracing.
Enables support for kernel debugging (specifically breakpoints) and
processor tracing across power collapse both for JTag and OS hosted
software running on the target. Enabling this will ensure debug
and ETM registers are saved and restored across power collapse.
For production builds, you should probably say 'N' here to avoid
potential power, performance and memory penalty.
config MSM_ETM
tristate "Enable MSM ETM and ETB"
@@ -2085,30 +2093,6 @@ config MSM_ETM
help
Enables embedded trace collection on MSM8660
config MSM_QDSS
bool "Qualcomm Debug Subsystem"
select MSM_JTAG
help
Enables support for Qualcomm Debug Subsystem.
config MSM_QDSS_STM_DEFAULT_ENABLE
bool "Turn on QDSS STM Tracing by Default"
depends on MSM_QDSS
help
Turns on QDSS STM tracing (hardware assisted software
instrumentation based tracing) by default. Otherwise, tracing is
disabled by default but can be enabled via sysfs.
For production builds, you should probably say 'N' here to avoid
potential power, performance and memory penalty.
config MSM_QDSS_ETM_DEFAULT_ENABLE
bool "Turn on QDSS ETM Tracing by Default"
depends on MSM_QDSS
help
Turns on QDSS ETM tracing by default. Otherwise, tracing is
disabled by default but can be enabled by other means.
config MSM_SLEEP_STATS
bool "Enable exporting of MSM sleep stats to userspace"
depends on CPU_IDLE

View File

@@ -55,7 +55,6 @@ obj-$(CONFIG_MSM_JTAG) += jtag.o
msm-etm-objs := etm.o
obj-$(CONFIG_MSM_ETM) += msm-etm.o
obj-$(CONFIG_MSM_QDSS) += qdss.o qdss-etb.o qdss-tpiu.o qdss-funnel.o qdss-stm.o qdss-etm.o
quiet_cmd_mkrpcsym = MKCAP $@
cmd_mkrpcsym = $(PERL) $(srctree)/$(src)/mkrpcsym.pl $< $@

View File

@@ -17,6 +17,7 @@
#include <linux/msm_rotator.h>
#include <linux/clkdev.h>
#include <linux/dma-mapping.h>
#include <linux/qdss.h>
#include <mach/irqs-8064.h>
#include <mach/board.h>
#include <mach/msm_iomap.h>
@@ -32,7 +33,6 @@
#include <mach/msm_smd.h>
#include <mach/msm_dcvs.h>
#include <mach/msm_rtb.h>
#include <mach/qdss.h>
#include <linux/ion.h>
#include "clock.h"
#include "devices.h"

View File

@@ -17,6 +17,7 @@
#include <linux/msm_rotator.h>
#include <linux/ion.h>
#include <linux/gpio.h>
#include <linux/qdss.h>
#include <asm/clkdev.h>
#include <linux/msm_kgsl.h>
#include <linux/android_pmem.h>
@@ -37,7 +38,6 @@
#include <sound/msm-dai-q6.h>
#include <sound/apr_audio.h>
#include <mach/msm_tsif.h>
#include <mach/qdss.h>
#include <mach/msm_serial_hs_lite.h>
#include "clock.h"
#include "devices.h"

View File

@@ -11,12 +11,12 @@
#include <linux/errno.h>
#include <linux/smp.h>
#include <linux/cpu.h>
#include <linux/qdss.h>
#include <asm/cacheflush.h>
#include <asm/smp_plat.h>
#include <asm/vfp.h>
#include <mach/qdss.h>
#include <mach/msm_rtb.h>
#include "pm.h"

View File

@@ -21,9 +21,20 @@
#include <linux/ratelimit.h>
#include <mach/scm.h>
#include "qdss-priv.h"
#include "cp14.h"
/* DBGv7 with baseline CP14 registers implemented */
#define ARM_DEBUG_ARCH_V7B (0x3)
/* DBGv7 with all CP14 registers implemented */
#define ARM_DEBUG_ARCH_V7 (0x4)
#define ARM_DEBUG_ARCH_V7_1 (0x5)
#define ETM_ARCH_V3_3 (0x23)
#define PFT_ARCH_V1_1 (0x31)
#define BM(lsb, msb) ((BIT(msb) - BIT(lsb)) + BIT(msb))
#define BMVAL(val, lsb, msb) ((val & BM(lsb, msb)) >> lsb)
#define BVAL(val, n) ((val & BIT(n)) >> n)
/* no of dbg regs + 1 (for storing the reg count) */
#define MAX_DBG_REGS (90)
#define MAX_DBG_STATE_SIZE (MAX_DBG_REGS * num_possible_cpus())

View File

@@ -148,4 +148,6 @@ source "drivers/devfreq/Kconfig"
source "drivers/gud/Kconfig"
source "drivers/cs/Kconfig"
endmenu

View File

@@ -140,3 +140,5 @@ obj-$(CONFIG_PM_DEVFREQ) += devfreq/
#MobiCore
obj-$(CONFIG_MOBICORE_SUPPORT) += gud/
obj-$(CONFIG_MSM_QDSS) += cs/

32
drivers/cs/Kconfig Normal file
View File

@@ -0,0 +1,32 @@
config MSM_QDSS
bool "CoreSight tracing"
help
Enables support for CoreSight tracing. This uses CoreSight trace
components and buses to support both hardware (eg. processor ETM)
and hardware assisted software instrumentation based (eg. STM)
tracing.
For production builds, you should probably say 'N' here to avoid
potential power, performance and memory penalty.
config MSM_QDSS_STM_DEFAULT_ENABLE
bool "Turn on CoreSight STM tracing by default"
depends on MSM_QDSS
help
Turns on CoreSight STM tracing (hardware assisted software
instrumentation based tracing) by default. Otherwise, tracing is
disabled by default but can be enabled via sysfs.
For production builds, you should probably say 'N' here to avoid
potential power, performance and memory penalty.
config MSM_QDSS_ETM_DEFAULT_ENABLE
bool "Turn on CoreSight ETM tracing by default"
depends on MSM_QDSS
help
Turns on CoreSight ETM tracing (processor tracing) by default.
Otherwise, tracing is disabled by default but can be enabled via
sysfs.
For production builds, you should probably say 'N' here to avoid
potential power, performance and memory penalty.

2
drivers/cs/Makefile Normal file
View File

@@ -0,0 +1,2 @@
obj-$(CONFIG_MSM_QDSS) += qdss.o qdss-etb.o qdss-tpiu.o qdss-funnel.o qdss-stm.o qdss-etm.o

View File

@@ -14,7 +14,7 @@
#define _ARCH_ARM_MACH_MSM_QDSS_H_
#include <linux/bitops.h>
#include <mach/qdss.h>
#include <linux/qdss.h>
/* Coresight management registers (0xF00-0xFCC)
* 0xFA0 - 0xFA4: Management registers in PFTv1.0