All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH/RFC 0/4] OMAP: PM debug: remove register dump, misc cleanups
@ 2011-05-26 23:02 Kevin Hilman
  2011-05-26 23:02 ` [PATCH/RFC 1/4] OMAP3: PM debug: remove sleep_while_idle feature Kevin Hilman
                   ` (5 more replies)
  0 siblings, 6 replies; 26+ messages in thread
From: Kevin Hilman @ 2011-05-26 23:02 UTC (permalink / raw)
  To: linux-omap; +Cc: p-titiano

Inspired by Jean's work to move PM code to modules, I decided it's
time to remove a bunch of ugly and difficult to maintain code from PM
debug.

The main chunk here is removing the register dump features for
OMAP2/OMAP3 which are awful to read, and impossible to scale for
OMAP4+.  Also, there are now some userspace /dev/mem-based tools (like
omapconf) that can handle this type of thing much better, and with a
much better interface and display.

Series applies to v2.6.39.

Kevin Hilman (4):
  OMAP3: PM debug: remove sleep_while_idle feature
  OMAP2: PM debug: remove register dumping
  OMAP3: PM debug: remove register dumping
  OMAP2: PM debug: move wakeup timer into clockevent code

 arch/arm/mach-omap2/pm-debug.c            |  362 -----------------------------
 arch/arm/mach-omap2/pm.h                  |    9 -
 arch/arm/mach-omap2/pm24xx.c              |    6 +-
 arch/arm/mach-omap2/pm34xx.c              |    6 -
 arch/arm/mach-omap2/timer-gp.c            |   33 +++-
 arch/arm/plat-omap/include/plat/dmtimer.h |    1 -
 6 files changed, 32 insertions(+), 385 deletions(-)

-- 
1.7.4


^ permalink raw reply	[flat|nested] 26+ messages in thread

* [PATCH/RFC 1/4] OMAP3: PM debug: remove sleep_while_idle feature
  2011-05-26 23:02 [PATCH/RFC 0/4] OMAP: PM debug: remove register dump, misc cleanups Kevin Hilman
@ 2011-05-26 23:02 ` Kevin Hilman
  2011-05-27  7:37   ` Jean Pihet
  2011-05-30  7:15   ` Santosh Shilimkar
  2011-05-26 23:02 ` [PATCH/RFC 2/4] OMAP2: PM debug: remove register dumping Kevin Hilman
                   ` (4 subsequent siblings)
  5 siblings, 2 replies; 26+ messages in thread
From: Kevin Hilman @ 2011-05-26 23:02 UTC (permalink / raw)
  To: linux-omap; +Cc: p-titiano

Remove the OMAP-specific PM debug 'sleep_while_idle' feature which is
currently available as an OMAP-specific debugfs entry.

This duplicates existing ARM-generic functionality available as a
boot-time option using the boot cmdline option 'hohlt'.

If runtime configuration of this is needed, then adding a debugfs
entry for the ARM-generic hlt/nohlt interface should be added.

Signed-off-by: Kevin Hilman <khilman@ti.com>
---
 arch/arm/mach-omap2/pm-debug.c |    3 ---
 arch/arm/mach-omap2/pm.h       |    2 --
 arch/arm/mach-omap2/pm34xx.c   |    2 --
 3 files changed, 0 insertions(+), 7 deletions(-)

diff --git a/arch/arm/mach-omap2/pm-debug.c b/arch/arm/mach-omap2/pm-debug.c
index a5a83b3..cf9bc15 100644
--- a/arch/arm/mach-omap2/pm-debug.c
+++ b/arch/arm/mach-omap2/pm-debug.c
@@ -40,7 +40,6 @@
 
 int omap2_pm_debug;
 u32 enable_off_mode;
-u32 sleep_while_idle;
 u32 wakeup_timer_seconds;
 u32 wakeup_timer_milliseconds;
 
@@ -639,8 +638,6 @@ static int __init pm_dbg_init(void)
 
 	(void) debugfs_create_file("enable_off_mode", S_IRUGO | S_IWUSR, d,
 				   &enable_off_mode, &pm_dbg_option_fops);
-	(void) debugfs_create_file("sleep_while_idle", S_IRUGO | S_IWUSR, d,
-				   &sleep_while_idle, &pm_dbg_option_fops);
 	(void) debugfs_create_file("wakeup_timer_seconds", S_IRUGO | S_IWUSR, d,
 				   &wakeup_timer_seconds, &pm_dbg_option_fops);
 	(void) debugfs_create_file("wakeup_timer_milliseconds",
diff --git a/arch/arm/mach-omap2/pm.h b/arch/arm/mach-omap2/pm.h
index 797bfd1..fc2377c 100644
--- a/arch/arm/mach-omap2/pm.h
+++ b/arch/arm/mach-omap2/pm.h
@@ -64,13 +64,11 @@ extern void omap2_pm_dump(int mode, int resume, unsigned int us);
 extern void omap2_pm_wakeup_on_timer(u32 seconds, u32 milliseconds);
 extern int omap2_pm_debug;
 extern u32 enable_off_mode;
-extern u32 sleep_while_idle;
 #else
 #define omap2_pm_dump(mode, resume, us)		do {} while (0);
 #define omap2_pm_wakeup_on_timer(seconds, milliseconds)	do {} while (0);
 #define omap2_pm_debug				0
 #define enable_off_mode 0
-#define sleep_while_idle 0
 #endif
 
 #if defined(CONFIG_CPU_IDLE)
diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c
index 0c5e3a4..991ade6 100644
--- a/arch/arm/mach-omap2/pm34xx.c
+++ b/arch/arm/mach-omap2/pm34xx.c
@@ -497,8 +497,6 @@ console_still_active:
 
 int omap3_can_sleep(void)
 {
-	if (!sleep_while_idle)
-		return 0;
 	if (!omap_uart_can_sleep())
 		return 0;
 	return 1;
-- 
1.7.4


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH/RFC 2/4] OMAP2: PM debug: remove register dumping
  2011-05-26 23:02 [PATCH/RFC 0/4] OMAP: PM debug: remove register dump, misc cleanups Kevin Hilman
  2011-05-26 23:02 ` [PATCH/RFC 1/4] OMAP3: PM debug: remove sleep_while_idle feature Kevin Hilman
@ 2011-05-26 23:02 ` Kevin Hilman
  2011-05-30  7:17   ` Santosh Shilimkar
  2011-05-30  8:05   ` Jean Pihet
  2011-05-26 23:02 ` [PATCH/RFC 3/4] OMAP3: " Kevin Hilman
                   ` (3 subsequent siblings)
  5 siblings, 2 replies; 26+ messages in thread
From: Kevin Hilman @ 2011-05-26 23:02 UTC (permalink / raw)
  To: linux-omap; +Cc: p-titiano

Signed-off-by: Kevin Hilman <khilman@ti.com>
---
 arch/arm/mach-omap2/pm-debug.c |  119 ----------------------------------------
 arch/arm/mach-omap2/pm.h       |    4 -
 arch/arm/mach-omap2/pm24xx.c   |    6 +-
 3 files changed, 2 insertions(+), 127 deletions(-)

diff --git a/arch/arm/mach-omap2/pm-debug.c b/arch/arm/mach-omap2/pm-debug.c
index cf9bc15..6fe1700 100644
--- a/arch/arm/mach-omap2/pm-debug.c
+++ b/arch/arm/mach-omap2/pm-debug.c
@@ -38,129 +38,10 @@
 #include "prm2xxx_3xxx.h"
 #include "pm.h"
 
-int omap2_pm_debug;
 u32 enable_off_mode;
 u32 wakeup_timer_seconds;
 u32 wakeup_timer_milliseconds;
 
-#define DUMP_PRM_MOD_REG(mod, reg)    \
-	regs[reg_count].name = #mod "." #reg; \
-	regs[reg_count++].val = omap2_prm_read_mod_reg(mod, reg)
-#define DUMP_CM_MOD_REG(mod, reg)     \
-	regs[reg_count].name = #mod "." #reg; \
-	regs[reg_count++].val = omap2_cm_read_mod_reg(mod, reg)
-#define DUMP_PRM_REG(reg) \
-	regs[reg_count].name = #reg; \
-	regs[reg_count++].val = __raw_readl(reg)
-#define DUMP_CM_REG(reg) \
-	regs[reg_count].name = #reg; \
-	regs[reg_count++].val = __raw_readl(reg)
-#define DUMP_INTC_REG(reg, off) \
-	regs[reg_count].name = #reg; \
-	regs[reg_count++].val = \
-			 __raw_readl(OMAP2_L4_IO_ADDRESS(0x480fe000 + (off)))
-
-void omap2_pm_dump(int mode, int resume, unsigned int us)
-{
-	struct reg {
-		const char *name;
-		u32 val;
-	} regs[32];
-	int reg_count = 0, i;
-	const char *s1 = NULL, *s2 = NULL;
-
-	if (!resume) {
-#if 0
-		/* MPU */
-		DUMP_PRM_MOD_REG(OCP_MOD, OMAP2_PRM_IRQENABLE_MPU_OFFSET);
-		DUMP_CM_MOD_REG(MPU_MOD, OMAP2_CM_CLKSTCTRL);
-		DUMP_PRM_MOD_REG(MPU_MOD, OMAP2_PM_PWSTCTRL);
-		DUMP_PRM_MOD_REG(MPU_MOD, OMAP2_PM_PWSTST);
-		DUMP_PRM_MOD_REG(MPU_MOD, PM_WKDEP);
-#endif
-#if 0
-		/* INTC */
-		DUMP_INTC_REG(INTC_MIR0, 0x0084);
-		DUMP_INTC_REG(INTC_MIR1, 0x00a4);
-		DUMP_INTC_REG(INTC_MIR2, 0x00c4);
-#endif
-#if 0
-		DUMP_CM_MOD_REG(CORE_MOD, CM_FCLKEN1);
-		if (cpu_is_omap24xx()) {
-			DUMP_CM_MOD_REG(CORE_MOD, OMAP24XX_CM_FCLKEN2);
-			DUMP_PRM_MOD_REG(OMAP24XX_GR_MOD,
-					OMAP2_PRCM_CLKEMUL_CTRL_OFFSET);
-			DUMP_PRM_MOD_REG(OMAP24XX_GR_MOD,
-					OMAP2_PRCM_CLKSRC_CTRL_OFFSET);
-		}
-		DUMP_CM_MOD_REG(WKUP_MOD, CM_FCLKEN);
-		DUMP_CM_MOD_REG(CORE_MOD, CM_ICLKEN1);
-		DUMP_CM_MOD_REG(CORE_MOD, CM_ICLKEN2);
-		DUMP_CM_MOD_REG(WKUP_MOD, CM_ICLKEN);
-		DUMP_CM_MOD_REG(PLL_MOD, CM_CLKEN);
-		DUMP_CM_MOD_REG(PLL_MOD, CM_AUTOIDLE);
-		DUMP_PRM_MOD_REG(CORE_MOD, OMAP2_PM_PWSTST);
-#endif
-#if 0
-		/* DSP */
-		if (cpu_is_omap24xx()) {
-			DUMP_CM_MOD_REG(OMAP24XX_DSP_MOD, CM_FCLKEN);
-			DUMP_CM_MOD_REG(OMAP24XX_DSP_MOD, CM_ICLKEN);
-			DUMP_CM_MOD_REG(OMAP24XX_DSP_MOD, CM_IDLEST);
-			DUMP_CM_MOD_REG(OMAP24XX_DSP_MOD, CM_AUTOIDLE);
-			DUMP_CM_MOD_REG(OMAP24XX_DSP_MOD, CM_CLKSEL);
-			DUMP_CM_MOD_REG(OMAP24XX_DSP_MOD, OMAP2_CM_CLKSTCTRL);
-			DUMP_PRM_MOD_REG(OMAP24XX_DSP_MOD, OMAP2_RM_RSTCTRL);
-			DUMP_PRM_MOD_REG(OMAP24XX_DSP_MOD, OMAP2_RM_RSTST);
-			DUMP_PRM_MOD_REG(OMAP24XX_DSP_MOD, OMAP2_PM_PWSTCTRL);
-			DUMP_PRM_MOD_REG(OMAP24XX_DSP_MOD, OMAP2_PM_PWSTST);
-		}
-#endif
-	} else {
-		DUMP_PRM_MOD_REG(CORE_MOD, PM_WKST1);
-		if (cpu_is_omap24xx())
-			DUMP_PRM_MOD_REG(CORE_MOD, OMAP24XX_PM_WKST2);
-		DUMP_PRM_MOD_REG(WKUP_MOD, PM_WKST);
-		DUMP_PRM_MOD_REG(OCP_MOD, OMAP2_PRCM_IRQSTATUS_MPU_OFFSET);
-#if 1
-		DUMP_INTC_REG(INTC_PENDING_IRQ0, 0x0098);
-		DUMP_INTC_REG(INTC_PENDING_IRQ1, 0x00b8);
-		DUMP_INTC_REG(INTC_PENDING_IRQ2, 0x00d8);
-#endif
-	}
-
-	switch (mode) {
-	case 0:
-		s1 = "full";
-		s2 = "retention";
-		break;
-	case 1:
-		s1 = "MPU";
-		s2 = "retention";
-		break;
-	case 2:
-		s1 = "MPU";
-		s2 = "idle";
-		break;
-	}
-
-	if (!resume)
-#ifdef CONFIG_NO_HZ
-		printk(KERN_INFO
-		       "--- Going to %s %s (next timer after %u ms)\n", s1, s2,
-		       jiffies_to_msecs(get_next_timer_interrupt(jiffies) -
-					jiffies));
-#else
-		printk(KERN_INFO "--- Going to %s %s\n", s1, s2);
-#endif
-	else
-		printk(KERN_INFO "--- Woke up (slept for %u.%03u ms)\n",
-			us / 1000, us % 1000);
-
-	for (i = 0; i < reg_count; i++)
-		printk(KERN_INFO "%-20s: 0x%08x\n", regs[i].name, regs[i].val);
-}
-
 void omap2_pm_wakeup_on_timer(u32 seconds, u32 milliseconds)
 {
 	u32 tick_rate, cycles;
diff --git a/arch/arm/mach-omap2/pm.h b/arch/arm/mach-omap2/pm.h
index fc2377c..dd1c2e4 100644
--- a/arch/arm/mach-omap2/pm.h
+++ b/arch/arm/mach-omap2/pm.h
@@ -60,14 +60,10 @@ extern u32 wakeup_timer_milliseconds;
 extern struct omap_dm_timer *gptimer_wakeup;
 
 #ifdef CONFIG_PM_DEBUG
-extern void omap2_pm_dump(int mode, int resume, unsigned int us);
 extern void omap2_pm_wakeup_on_timer(u32 seconds, u32 milliseconds);
-extern int omap2_pm_debug;
 extern u32 enable_off_mode;
 #else
-#define omap2_pm_dump(mode, resume, us)		do {} while (0);
 #define omap2_pm_wakeup_on_timer(seconds, milliseconds)	do {} while (0);
-#define omap2_pm_debug				0
 #define enable_off_mode 0
 #endif
 
diff --git a/arch/arm/mach-omap2/pm24xx.c b/arch/arm/mach-omap2/pm24xx.c
index df3ded6..bf089e7 100644
--- a/arch/arm/mach-omap2/pm24xx.c
+++ b/arch/arm/mach-omap2/pm24xx.c
@@ -53,6 +53,8 @@
 #include "powerdomain.h"
 #include "clockdomain.h"
 
+static int omap2_pm_debug;
+
 #ifdef CONFIG_SUSPEND
 static suspend_state_t suspend_state = PM_SUSPEND_ON;
 static inline bool is_suspending(void)
@@ -123,7 +125,6 @@ static void omap2_enter_full_retention(void)
 	omap2_gpio_prepare_for_idle(0);
 
 	if (omap2_pm_debug) {
-		omap2_pm_dump(0, 0, 0);
 		getnstimeofday(&ts_preidle);
 	}
 
@@ -160,7 +161,6 @@ no_sleep:
 		getnstimeofday(&ts_postidle);
 		ts_idle = timespec_sub(ts_postidle, ts_preidle);
 		tmp = timespec_to_ns(&ts_idle) * NSEC_PER_USEC;
-		omap2_pm_dump(0, 1, tmp);
 	}
 	omap2_gpio_resume_after_idle();
 
@@ -247,7 +247,6 @@ static void omap2_enter_mpu_retention(void)
 	}
 
 	if (omap2_pm_debug) {
-		omap2_pm_dump(only_idle ? 2 : 1, 0, 0);
 		getnstimeofday(&ts_preidle);
 	}
 
@@ -259,7 +258,6 @@ static void omap2_enter_mpu_retention(void)
 		getnstimeofday(&ts_postidle);
 		ts_idle = timespec_sub(ts_postidle, ts_preidle);
 		tmp = timespec_to_ns(&ts_idle) * NSEC_PER_USEC;
-		omap2_pm_dump(only_idle ? 2 : 1, 1, tmp);
 	}
 }
 
-- 
1.7.4


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH/RFC 3/4] OMAP3: PM debug: remove register dumping
  2011-05-26 23:02 [PATCH/RFC 0/4] OMAP: PM debug: remove register dump, misc cleanups Kevin Hilman
  2011-05-26 23:02 ` [PATCH/RFC 1/4] OMAP3: PM debug: remove sleep_while_idle feature Kevin Hilman
  2011-05-26 23:02 ` [PATCH/RFC 2/4] OMAP2: PM debug: remove register dumping Kevin Hilman
@ 2011-05-26 23:02 ` Kevin Hilman
  2011-05-30  7:18   ` Santosh Shilimkar
  2011-05-26 23:02 ` [PATCH/RFC 4/4] OMAP2: PM debug: move wakeup timer into clockevent code Kevin Hilman
                   ` (2 subsequent siblings)
  5 siblings, 1 reply; 26+ messages in thread
From: Kevin Hilman @ 2011-05-26 23:02 UTC (permalink / raw)
  To: linux-omap; +Cc: p-titiano

Remove OMAP3-specific register dumping feature from PM debug layer.
This is removed because:

- it's ugly
- it's OMAP3-specific, and will obviously not scale to OMAP4+
- userspace /dev/mem-based tools (like omapconf) can do this much better

Signed-off-by: Kevin Hilman <khilman@ti.com>
---
 arch/arm/mach-omap2/pm-debug.c |  221 ----------------------------------------
 1 files changed, 0 insertions(+), 221 deletions(-)

diff --git a/arch/arm/mach-omap2/pm-debug.c b/arch/arm/mach-omap2/pm-debug.c
index 6fe1700..7c72f29 100644
--- a/arch/arm/mach-omap2/pm-debug.c
+++ b/arch/arm/mach-omap2/pm-debug.c
@@ -63,10 +63,6 @@ void omap2_pm_wakeup_on_timer(u32 seconds, u32 milliseconds)
 #include <linux/debugfs.h>
 #include <linux/seq_file.h>
 
-static void pm_dbg_regset_store(u32 *ptr);
-
-static struct dentry *pm_dbg_dir;
-
 static int pm_dbg_init_done;
 
 static int __init pm_dbg_init(void);
@@ -76,160 +72,6 @@ enum {
 	DEBUG_FILE_TIMERS,
 };
 
-struct pm_module_def {
-	char name[8]; /* Name of the module */
-	short type; /* CM or PRM */
-	unsigned short offset;
-	int low; /* First register address on this module */
-	int high; /* Last register address on this module */
-};
-
-#define MOD_CM 0
-#define MOD_PRM 1
-
-static const struct pm_module_def *pm_dbg_reg_modules;
-static const struct pm_module_def omap3_pm_reg_modules[] = {
-	{ "IVA2", MOD_CM, OMAP3430_IVA2_MOD, 0, 0x4c },
-	{ "OCP", MOD_CM, OCP_MOD, 0, 0x10 },
-	{ "MPU", MOD_CM, MPU_MOD, 4, 0x4c },
-	{ "CORE", MOD_CM, CORE_MOD, 0, 0x4c },
-	{ "SGX", MOD_CM, OMAP3430ES2_SGX_MOD, 0, 0x4c },
-	{ "WKUP", MOD_CM, WKUP_MOD, 0, 0x40 },
-	{ "CCR", MOD_CM, PLL_MOD, 0, 0x70 },
-	{ "DSS", MOD_CM, OMAP3430_DSS_MOD, 0, 0x4c },
-	{ "CAM", MOD_CM, OMAP3430_CAM_MOD, 0, 0x4c },
-	{ "PER", MOD_CM, OMAP3430_PER_MOD, 0, 0x4c },
-	{ "EMU", MOD_CM, OMAP3430_EMU_MOD, 0x40, 0x54 },
-	{ "NEON", MOD_CM, OMAP3430_NEON_MOD, 0x20, 0x48 },
-	{ "USB", MOD_CM, OMAP3430ES2_USBHOST_MOD, 0, 0x4c },
-
-	{ "IVA2", MOD_PRM, OMAP3430_IVA2_MOD, 0x50, 0xfc },
-	{ "OCP", MOD_PRM, OCP_MOD, 4, 0x1c },
-	{ "MPU", MOD_PRM, MPU_MOD, 0x58, 0xe8 },
-	{ "CORE", MOD_PRM, CORE_MOD, 0x58, 0xf8 },
-	{ "SGX", MOD_PRM, OMAP3430ES2_SGX_MOD, 0x58, 0xe8 },
-	{ "WKUP", MOD_PRM, WKUP_MOD, 0xa0, 0xb0 },
-	{ "CCR", MOD_PRM, PLL_MOD, 0x40, 0x70 },
-	{ "DSS", MOD_PRM, OMAP3430_DSS_MOD, 0x58, 0xe8 },
-	{ "CAM", MOD_PRM, OMAP3430_CAM_MOD, 0x58, 0xe8 },
-	{ "PER", MOD_PRM, OMAP3430_PER_MOD, 0x58, 0xe8 },
-	{ "EMU", MOD_PRM, OMAP3430_EMU_MOD, 0x58, 0xe4 },
-	{ "GLBL", MOD_PRM, OMAP3430_GR_MOD, 0x20, 0xe4 },
-	{ "NEON", MOD_PRM, OMAP3430_NEON_MOD, 0x58, 0xe8 },
-	{ "USB", MOD_PRM, OMAP3430ES2_USBHOST_MOD, 0x58, 0xe8 },
-	{ "", 0, 0, 0, 0 },
-};
-
-#define PM_DBG_MAX_REG_SETS 4
-
-static void *pm_dbg_reg_set[PM_DBG_MAX_REG_SETS];
-
-static int pm_dbg_get_regset_size(void)
-{
-	static int regset_size;
-
-	if (regset_size == 0) {
-		int i = 0;
-
-		while (pm_dbg_reg_modules[i].name[0] != 0) {
-			regset_size += pm_dbg_reg_modules[i].high +
-				4 - pm_dbg_reg_modules[i].low;
-			i++;
-		}
-	}
-	return regset_size;
-}
-
-static int pm_dbg_show_regs(struct seq_file *s, void *unused)
-{
-	int i, j;
-	unsigned long val;
-	int reg_set = (int)s->private;
-	u32 *ptr;
-	void *store = NULL;
-	int regs;
-	int linefeed;
-
-	if (reg_set == 0) {
-		store = kmalloc(pm_dbg_get_regset_size(), GFP_KERNEL);
-		ptr = store;
-		pm_dbg_regset_store(ptr);
-	} else {
-		ptr = pm_dbg_reg_set[reg_set - 1];
-	}
-
-	i = 0;
-
-	while (pm_dbg_reg_modules[i].name[0] != 0) {
-		regs = 0;
-		linefeed = 0;
-		if (pm_dbg_reg_modules[i].type == MOD_CM)
-			seq_printf(s, "MOD: CM_%s (%08x)\n",
-				pm_dbg_reg_modules[i].name,
-				(u32)(OMAP3430_CM_BASE +
-				pm_dbg_reg_modules[i].offset));
-		else
-			seq_printf(s, "MOD: PRM_%s (%08x)\n",
-				pm_dbg_reg_modules[i].name,
-				(u32)(OMAP3430_PRM_BASE +
-				pm_dbg_reg_modules[i].offset));
-
-		for (j = pm_dbg_reg_modules[i].low;
-			j <= pm_dbg_reg_modules[i].high; j += 4) {
-			val = *(ptr++);
-			if (val != 0) {
-				regs++;
-				if (linefeed) {
-					seq_printf(s, "\n");
-					linefeed = 0;
-				}
-				seq_printf(s, "  %02x => %08lx", j, val);
-				if (regs % 4 == 0)
-					linefeed = 1;
-			}
-		}
-		seq_printf(s, "\n");
-		i++;
-	}
-
-	if (store != NULL)
-		kfree(store);
-
-	return 0;
-}
-
-static void pm_dbg_regset_store(u32 *ptr)
-{
-	int i, j;
-	u32 val;
-
-	i = 0;
-
-	while (pm_dbg_reg_modules[i].name[0] != 0) {
-		for (j = pm_dbg_reg_modules[i].low;
-			j <= pm_dbg_reg_modules[i].high; j += 4) {
-			if (pm_dbg_reg_modules[i].type == MOD_CM)
-				val = omap2_cm_read_mod_reg(
-					pm_dbg_reg_modules[i].offset, j);
-			else
-				val = omap2_prm_read_mod_reg(
-					pm_dbg_reg_modules[i].offset, j);
-			*(ptr++) = val;
-		}
-		i++;
-	}
-}
-
-int pm_dbg_regset_save(int reg_set)
-{
-	if (pm_dbg_reg_set[reg_set-1] == NULL)
-		return -EINVAL;
-
-	pm_dbg_regset_store(pm_dbg_reg_set[reg_set-1]);
-
-	return 0;
-}
-
 static const char pwrdm_state_names[][PWRDM_MAX_PWRSTS] = {
 	"OFF",
 	"RET",
@@ -349,11 +191,6 @@ static int pm_dbg_open(struct inode *inode, struct file *file)
 	};
 }
 
-static int pm_dbg_reg_open(struct inode *inode, struct file *file)
-{
-	return single_open(file, pm_dbg_show_regs, inode->i_private);
-}
-
 static const struct file_operations debug_fops = {
 	.open           = pm_dbg_open,
 	.read           = seq_read,
@@ -361,40 +198,6 @@ static const struct file_operations debug_fops = {
 	.release        = single_release,
 };
 
-static const struct file_operations debug_reg_fops = {
-	.open           = pm_dbg_reg_open,
-	.read           = seq_read,
-	.llseek         = seq_lseek,
-	.release        = single_release,
-};
-
-int pm_dbg_regset_init(int reg_set)
-{
-	char name[2];
-
-	if (!pm_dbg_init_done)
-		pm_dbg_init();
-
-	if (reg_set < 1 || reg_set > PM_DBG_MAX_REG_SETS ||
-		pm_dbg_reg_set[reg_set-1] != NULL)
-		return -EINVAL;
-
-	pm_dbg_reg_set[reg_set-1] =
-		kmalloc(pm_dbg_get_regset_size(), GFP_KERNEL);
-
-	if (pm_dbg_reg_set[reg_set-1] == NULL)
-		return -ENOMEM;
-
-	if (pm_dbg_dir != NULL) {
-		sprintf(name, "%d", reg_set);
-
-		(void) debugfs_create_file(name, S_IRUGO,
-			pm_dbg_dir, (void *)reg_set, &debug_reg_fops);
-	}
-
-	return 0;
-}
-
 static int pwrdm_suspend_get(void *data, u64 *val)
 {
 	int ret = -EINVAL;
@@ -477,20 +280,11 @@ DEFINE_SIMPLE_ATTRIBUTE(pm_dbg_option_fops, option_get, option_set, "%llu\n");
 
 static int __init pm_dbg_init(void)
 {
-	int i;
 	struct dentry *d;
-	char name[2];
 
 	if (pm_dbg_init_done)
 		return 0;
 
-	if (cpu_is_omap34xx())
-		pm_dbg_reg_modules = omap3_pm_reg_modules;
-	else {
-		printk(KERN_ERR "%s: only OMAP3 supported\n", __func__);
-		return -ENODEV;
-	}
-
 	d = debugfs_create_dir("pm_debug", NULL);
 	if (IS_ERR(d))
 		return PTR_ERR(d);
@@ -502,21 +296,6 @@ static int __init pm_dbg_init(void)
 
 	pwrdm_for_each(pwrdms_setup, (void *)d);
 
-	pm_dbg_dir = debugfs_create_dir("registers", d);
-	if (IS_ERR(pm_dbg_dir))
-		return PTR_ERR(pm_dbg_dir);
-
-	(void) debugfs_create_file("current", S_IRUGO,
-		pm_dbg_dir, (void *)0, &debug_reg_fops);
-
-	for (i = 0; i < PM_DBG_MAX_REG_SETS; i++)
-		if (pm_dbg_reg_set[i] != NULL) {
-			sprintf(name, "%d", i+1);
-			(void) debugfs_create_file(name, S_IRUGO,
-				pm_dbg_dir, (void *)(i+1), &debug_reg_fops);
-
-		}
-
 	(void) debugfs_create_file("enable_off_mode", S_IRUGO | S_IWUSR, d,
 				   &enable_off_mode, &pm_dbg_option_fops);
 	(void) debugfs_create_file("wakeup_timer_seconds", S_IRUGO | S_IWUSR, d,
-- 
1.7.4


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH/RFC 4/4] OMAP2: PM debug: move wakeup timer into clockevent code
  2011-05-26 23:02 [PATCH/RFC 0/4] OMAP: PM debug: remove register dump, misc cleanups Kevin Hilman
                   ` (2 preceding siblings ...)
  2011-05-26 23:02 ` [PATCH/RFC 3/4] OMAP3: " Kevin Hilman
@ 2011-05-26 23:02 ` Kevin Hilman
  2011-05-27  5:18   ` Santosh Shilimkar
  2011-05-27  7:34 ` [PATCH/RFC 0/4] OMAP: PM debug: remove register dump, misc cleanups Jean Pihet
  2011-06-13 12:28 ` Santosh Shilimkar
  5 siblings, 1 reply; 26+ messages in thread
From: Kevin Hilman @ 2011-05-26 23:02 UTC (permalink / raw)
  To: linux-omap; +Cc: p-titiano

Move suspend wakeup timer from suspend path to be triggered based
on clockevent suspend path.

When gptimers are eventually converted to be a driver, the wakeup
timer feature can be made to be a driver-specific feature using the
driver's suspend method.

Signed-off-by: Kevin Hilman <khilman@ti.com>
---
 arch/arm/mach-omap2/pm-debug.c            |   19 ----------------
 arch/arm/mach-omap2/pm.h                  |    3 --
 arch/arm/mach-omap2/pm34xx.c              |    4 ---
 arch/arm/mach-omap2/timer-gp.c            |   33 ++++++++++++++++++++++++++--
 arch/arm/plat-omap/include/plat/dmtimer.h |    1 -
 5 files changed, 30 insertions(+), 30 deletions(-)

diff --git a/arch/arm/mach-omap2/pm-debug.c b/arch/arm/mach-omap2/pm-debug.c
index 7c72f29..72dee22 100644
--- a/arch/arm/mach-omap2/pm-debug.c
+++ b/arch/arm/mach-omap2/pm-debug.c
@@ -39,25 +39,6 @@
 #include "pm.h"
 
 u32 enable_off_mode;
-u32 wakeup_timer_seconds;
-u32 wakeup_timer_milliseconds;
-
-void omap2_pm_wakeup_on_timer(u32 seconds, u32 milliseconds)
-{
-	u32 tick_rate, cycles;
-
-	if (!seconds && !milliseconds)
-		return;
-
-	tick_rate = clk_get_rate(omap_dm_timer_get_fclk(gptimer_wakeup));
-	cycles = tick_rate * seconds + tick_rate * milliseconds / 1000;
-	omap_dm_timer_stop(gptimer_wakeup);
-	omap_dm_timer_set_load_start(gptimer_wakeup, 0, 0xffffffff - cycles);
-
-	pr_info("PM: Resume timer in %u.%03u secs"
-		" (%d ticks at %d ticks/sec.)\n",
-		seconds, milliseconds, cycles, tick_rate);
-}
 
 #ifdef CONFIG_DEBUG_FS
 #include <linux/debugfs.h>
diff --git a/arch/arm/mach-omap2/pm.h b/arch/arm/mach-omap2/pm.h
index dd1c2e4..803bf1c 100644
--- a/arch/arm/mach-omap2/pm.h
+++ b/arch/arm/mach-omap2/pm.h
@@ -57,13 +57,10 @@ extern int omap3_pm_set_suspend_state(struct powerdomain *pwrdm, int state);
 
 extern u32 wakeup_timer_seconds;
 extern u32 wakeup_timer_milliseconds;
-extern struct omap_dm_timer *gptimer_wakeup;
 
 #ifdef CONFIG_PM_DEBUG
-extern void omap2_pm_wakeup_on_timer(u32 seconds, u32 milliseconds);
 extern u32 enable_off_mode;
 #else
-#define omap2_pm_wakeup_on_timer(seconds, milliseconds)	do {} while (0);
 #define enable_off_mode 0
 #endif
 
diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c
index 991ade6..a9d9bb1c8 100644
--- a/arch/arm/mach-omap2/pm34xx.c
+++ b/arch/arm/mach-omap2/pm34xx.c
@@ -532,10 +532,6 @@ static int omap3_pm_suspend(void)
 	struct power_state *pwrst;
 	int state, ret = 0;
 
-	if (wakeup_timer_seconds || wakeup_timer_milliseconds)
-		omap2_pm_wakeup_on_timer(wakeup_timer_seconds,
-					 wakeup_timer_milliseconds);
-
 	/* Read current next_pwrsts */
 	list_for_each_entry(pwrst, &pwrst_list, node)
 		pwrst->saved_state = pwrdm_read_next_pwrst(pwrst->pwrdm);
diff --git a/arch/arm/mach-omap2/timer-gp.c b/arch/arm/mach-omap2/timer-gp.c
index 3b9cf85..4de51a1 100644
--- a/arch/arm/mach-omap2/timer-gp.c
+++ b/arch/arm/mach-omap2/timer-gp.c
@@ -44,7 +44,7 @@
 #include <plat/omap_hwmod.h>
 
 #include "timer-gp.h"
-
+#include "pm.h"
 
 /* MAX_GPTIMER_ID: number of GPTIMERs on the chip */
 #define MAX_GPTIMER_ID		12
@@ -53,7 +53,30 @@ static struct omap_dm_timer *gptimer;
 static struct clock_event_device clockevent_gpt;
 static u8 __initdata gptimer_id = 1;
 static u8 __initdata inited;
-struct omap_dm_timer *gptimer_wakeup;
+static struct omap_dm_timer *gptimer_wakeup;
+
+u32 wakeup_timer_seconds;
+u32 wakeup_timer_milliseconds;
+
+static void omap2_pm_wakeup_on_timer(u32 seconds, u32 milliseconds)
+{
+	u32 tick_rate, cycles;
+
+	if (!gptimer_wakeup)
+		return;
+
+	if (!seconds && !milliseconds)
+		return;
+
+	tick_rate = clk_get_rate(omap_dm_timer_get_fclk(gptimer_wakeup));
+	cycles = tick_rate * seconds + tick_rate * milliseconds / 1000;
+	omap_dm_timer_stop(gptimer_wakeup);
+	omap_dm_timer_set_load_start(gptimer_wakeup, 0, 0xffffffff - cycles);
+
+	pr_info("PM: Resume timer in %u.%03u secs"
+		" (%d ticks at %d ticks/sec.)\n",
+		seconds, milliseconds, cycles, tick_rate);
+}
 
 static irqreturn_t omap2_gp_timer_interrupt(int irq, void *dev_id)
 {
@@ -95,8 +118,12 @@ static void omap2_gp_timer_set_mode(enum clock_event_mode mode,
 		break;
 	case CLOCK_EVT_MODE_ONESHOT:
 		break;
-	case CLOCK_EVT_MODE_UNUSED:
 	case CLOCK_EVT_MODE_SHUTDOWN:
+		if (wakeup_timer_seconds || wakeup_timer_milliseconds)
+			omap2_pm_wakeup_on_timer(wakeup_timer_seconds,
+						 wakeup_timer_milliseconds);
+		break;
+	case CLOCK_EVT_MODE_UNUSED:
 	case CLOCK_EVT_MODE_RESUME:
 		break;
 	}
diff --git a/arch/arm/plat-omap/include/plat/dmtimer.h b/arch/arm/plat-omap/include/plat/dmtimer.h
index d6c70d2..db230b3 100644
--- a/arch/arm/plat-omap/include/plat/dmtimer.h
+++ b/arch/arm/plat-omap/include/plat/dmtimer.h
@@ -56,7 +56,6 @@
  */
 #define OMAP_TIMER_IP_VERSION_1                        0x1
 struct omap_dm_timer;
-extern struct omap_dm_timer *gptimer_wakeup;
 extern struct sys_timer omap_timer;
 struct clk;
 
-- 
1.7.4


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* Re: [PATCH/RFC 4/4] OMAP2: PM debug: move wakeup timer into clockevent code
  2011-05-26 23:02 ` [PATCH/RFC 4/4] OMAP2: PM debug: move wakeup timer into clockevent code Kevin Hilman
@ 2011-05-27  5:18   ` Santosh Shilimkar
  2011-05-30  7:21     ` Santosh Shilimkar
  0 siblings, 1 reply; 26+ messages in thread
From: Santosh Shilimkar @ 2011-05-27  5:18 UTC (permalink / raw)
  To: Kevin Hilman; +Cc: linux-omap, p-titiano

On 5/27/2011 4:32 AM, Kevin Hilman wrote:
> Move suspend wakeup timer from suspend path to be triggered based
> on clockevent suspend path.
>
> When gptimers are eventually converted to be a driver, the wakeup
> timer feature can be made to be a driver-specific feature using the
> driver's suspend method.
>
Excellent idea and patch. Never crossed my mind that we could
have used "CLOCK_EVT_MODE_SHUTDOWN" instead of our long old
hack.

Regards
Santosh




^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH/RFC 0/4] OMAP: PM debug: remove register dump, misc cleanups
  2011-05-26 23:02 [PATCH/RFC 0/4] OMAP: PM debug: remove register dump, misc cleanups Kevin Hilman
                   ` (3 preceding siblings ...)
  2011-05-26 23:02 ` [PATCH/RFC 4/4] OMAP2: PM debug: move wakeup timer into clockevent code Kevin Hilman
@ 2011-05-27  7:34 ` Jean Pihet
  2011-05-27 15:00   ` Kevin Hilman
  2011-06-13 12:28 ` Santosh Shilimkar
  5 siblings, 1 reply; 26+ messages in thread
From: Jean Pihet @ 2011-05-27  7:34 UTC (permalink / raw)
  To: Kevin Hilman; +Cc: linux-omap, p-titiano

On Fri, May 27, 2011 at 1:02 AM, Kevin Hilman <khilman@ti.com> wrote:
> Inspired by Jean's work to move PM code to modules, I decided it's
> time to remove a bunch of ugly and difficult to maintain code from PM
> debug.
Indeed this code is a spaghetti mess and makes pm-debug difficult to
be modularized.

> The main chunk here is removing the register dump features for
> OMAP2/OMAP3 which are awful to read, and impossible to scale for
> OMAP4+.  Also, there are now some userspace /dev/mem-based tools (like
> omapconf) that can handle this type of thing much better, and with a
> much better interface and display.
Agree. However we still need the equivalent of [1] to retrieve the
PRCM registers just before and after the WFI instructions.
I would like to propose some replacement when the current code
clean-up is settled down a bit.

[1] http://git.kernel.org/?p=linux/kernel/git/khilman/linux-omap-pm.git;a=commitdiff;h=5dd36389eb6ef4837a2aad128e4bd0226468c171

Regards,
Jean

> Series applies to v2.6.39.
>
> Kevin Hilman (4):
>  OMAP3: PM debug: remove sleep_while_idle feature
>  OMAP2: PM debug: remove register dumping
>  OMAP3: PM debug: remove register dumping
>  OMAP2: PM debug: move wakeup timer into clockevent code
>
>  arch/arm/mach-omap2/pm-debug.c            |  362 -----------------------------
>  arch/arm/mach-omap2/pm.h                  |    9 -
>  arch/arm/mach-omap2/pm24xx.c              |    6 +-
>  arch/arm/mach-omap2/pm34xx.c              |    6 -
>  arch/arm/mach-omap2/timer-gp.c            |   33 +++-
>  arch/arm/plat-omap/include/plat/dmtimer.h |    1 -
>  6 files changed, 32 insertions(+), 385 deletions(-)
>
> --
> 1.7.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH/RFC 1/4] OMAP3: PM debug: remove sleep_while_idle feature
  2011-05-26 23:02 ` [PATCH/RFC 1/4] OMAP3: PM debug: remove sleep_while_idle feature Kevin Hilman
@ 2011-05-27  7:37   ` Jean Pihet
  2011-05-27 15:26     ` Kevin Hilman
  2011-05-30  7:15   ` Santosh Shilimkar
  1 sibling, 1 reply; 26+ messages in thread
From: Jean Pihet @ 2011-05-27  7:37 UTC (permalink / raw)
  To: Kevin Hilman; +Cc: linux-omap, p-titiano

On Fri, May 27, 2011 at 1:02 AM, Kevin Hilman <khilman@ti.com> wrote:
> Remove the OMAP-specific PM debug 'sleep_while_idle' feature which is
> currently available as an OMAP-specific debugfs entry.
>
> This duplicates existing ARM-generic functionality available as a
> boot-time option using the boot cmdline option 'hohlt'.
'nohlt' is only for the default arch idle handler (pm_idle). It does
not apply to the cpuidle handler (omap3_enter_idle) which depends on
CONFIG_CPU_IDLE.

> If runtime configuration of this is needed, then adding a debugfs
> entry for the ARM-generic hlt/nohlt interface should be added.
Is there a need for it?

Regards,
Jean

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH/RFC 0/4] OMAP: PM debug: remove register dump, misc cleanups
  2011-05-27  7:34 ` [PATCH/RFC 0/4] OMAP: PM debug: remove register dump, misc cleanups Jean Pihet
@ 2011-05-27 15:00   ` Kevin Hilman
  0 siblings, 0 replies; 26+ messages in thread
From: Kevin Hilman @ 2011-05-27 15:00 UTC (permalink / raw)
  To: Jean Pihet; +Cc: linux-omap, p-titiano

Jean Pihet <jean.pihet@newoldbits.com> writes:

> On Fri, May 27, 2011 at 1:02 AM, Kevin Hilman <khilman@ti.com> wrote:
>> Inspired by Jean's work to move PM code to modules, I decided it's
>> time to remove a bunch of ugly and difficult to maintain code from PM
>> debug.
> Indeed this code is a spaghetti mess and makes pm-debug difficult to
> be modularized.
>
>> The main chunk here is removing the register dump features for
>> OMAP2/OMAP3 which are awful to read, and impossible to scale for
>> OMAP4+.  Also, there are now some userspace /dev/mem-based tools (like
>> omapconf) that can handle this type of thing much better, and with a
>> much better interface and display.
>
> Agree. However we still need the equivalent of [1] to retrieve the
> PRCM registers just before and after the WFI instructions.

Correct, but as that patch is not upstream, I'm not considering it 
as support that needs to be maintained.

> I would like to propose some replacement when the current code
> clean-up is settled down a bit.

Great!  

Kevin

> [1] http://git.kernel.org/?p=linux/kernel/git/khilman/linux-omap-pm.git;a=commitdiff;h=5dd36389eb6ef4837a2aad128e4bd0226468c171
>
> Regards,
> Jean
>
>> Series applies to v2.6.39.
>>
>> Kevin Hilman (4):
>>  OMAP3: PM debug: remove sleep_while_idle feature
>>  OMAP2: PM debug: remove register dumping
>>  OMAP3: PM debug: remove register dumping
>>  OMAP2: PM debug: move wakeup timer into clockevent code
>>
>>  arch/arm/mach-omap2/pm-debug.c            |  362 -----------------------------
>>  arch/arm/mach-omap2/pm.h                  |    9 -
>>  arch/arm/mach-omap2/pm24xx.c              |    6 +-
>>  arch/arm/mach-omap2/pm34xx.c              |    6 -
>>  arch/arm/mach-omap2/timer-gp.c            |   33 +++-
>>  arch/arm/plat-omap/include/plat/dmtimer.h |    1 -
>>  6 files changed, 32 insertions(+), 385 deletions(-)
>>
>> --
>> 1.7.4
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH/RFC 1/4] OMAP3: PM debug: remove sleep_while_idle feature
  2011-05-27  7:37   ` Jean Pihet
@ 2011-05-27 15:26     ` Kevin Hilman
  2011-05-27 16:01       ` Jean Pihet
  0 siblings, 1 reply; 26+ messages in thread
From: Kevin Hilman @ 2011-05-27 15:26 UTC (permalink / raw)
  To: Jean Pihet; +Cc: linux-omap, p-titiano

Jean Pihet <jean.pihet@newoldbits.com> writes:

> On Fri, May 27, 2011 at 1:02 AM, Kevin Hilman <khilman@ti.com> wrote:
>> Remove the OMAP-specific PM debug 'sleep_while_idle' feature which is
>> currently available as an OMAP-specific debugfs entry.
>>
>> This duplicates existing ARM-generic functionality available as a
>> boot-time option using the boot cmdline option 'hohlt'.
> 'nohlt' is only for the default arch idle handler (pm_idle). It does
> not apply to the cpuidle handler (omap3_enter_idle) which depends on
> CONFIG_CPU_IDLE.

AFAICT, it affects CPUidle also, since CPUidle replaces pm_idle, which
is protected by the hlt_counter check.

I think the CPUidle folks are looking for a way to replace using
pm_idle though.  After that happens, there are a couple options.  1) add
a check for hlt_counter in the CPUidle path, or 2) just disable CPUidle
at Kconfig level.

>> If runtime configuration of this is needed, then adding a debugfs
>> entry for the ARM-generic hlt/nohlt interface should be added.
> Is there a need for it?

I don't think so.    But my point was that if anyone wants this feature
back, this would be the way to add it.

Kevin


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH/RFC 1/4] OMAP3: PM debug: remove sleep_while_idle feature
  2011-05-27 15:26     ` Kevin Hilman
@ 2011-05-27 16:01       ` Jean Pihet
  0 siblings, 0 replies; 26+ messages in thread
From: Jean Pihet @ 2011-05-27 16:01 UTC (permalink / raw)
  To: Kevin Hilman; +Cc: linux-omap, p-titiano

On Fri, May 27, 2011 at 5:26 PM, Kevin Hilman <khilman@ti.com> wrote:
> Jean Pihet <jean.pihet@newoldbits.com> writes:
>
>> On Fri, May 27, 2011 at 1:02 AM, Kevin Hilman <khilman@ti.com> wrote:
>>> Remove the OMAP-specific PM debug 'sleep_while_idle' feature which is
>>> currently available as an OMAP-specific debugfs entry.
>>>
>>> This duplicates existing ARM-generic functionality available as a
>>> boot-time option using the boot cmdline option 'hohlt'.
>> 'nohlt' is only for the default arch idle handler (pm_idle). It does
>> not apply to the cpuidle handler (omap3_enter_idle) which depends on
>> CONFIG_CPU_IDLE.
>
> AFAICT, it affects CPUidle also, since CPUidle replaces pm_idle, which
> is protected by the hlt_counter check.
That is correct, please ignore my comment.

> I think the CPUidle folks are looking for a way to replace using
> pm_idle though.  After that happens, there are a couple options.  1) add
> a check for hlt_counter in the CPUidle path, or 2) just disable CPUidle
> at Kconfig level.
1) makes sense if the kernel parameter is used to enable/disable idle.

>
>>> If runtime configuration of this is needed, then adding a debugfs
>>> entry for the ARM-generic hlt/nohlt interface should be added.
>> Is there a need for it?
>
> I don't think so.    But my point was that if anyone wants this feature
> back, this would be the way to add it.
>
> Kevin
>
>

Jean
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH/RFC 1/4] OMAP3: PM debug: remove sleep_while_idle feature
  2011-05-26 23:02 ` [PATCH/RFC 1/4] OMAP3: PM debug: remove sleep_while_idle feature Kevin Hilman
  2011-05-27  7:37   ` Jean Pihet
@ 2011-05-30  7:15   ` Santosh Shilimkar
  2011-05-30  7:59     ` Jean Pihet
  1 sibling, 1 reply; 26+ messages in thread
From: Santosh Shilimkar @ 2011-05-30  7:15 UTC (permalink / raw)
  To: Kevin Hilman; +Cc: linux-omap, p-titiano

On 5/27/2011 4:32 AM, Kevin Hilman wrote:
> Remove the OMAP-specific PM debug 'sleep_while_idle' feature which is
> currently available as an OMAP-specific debugfs entry.
>
> This duplicates existing ARM-generic functionality available as a
> boot-time option using the boot cmdline option 'hohlt'.
>
> If runtime configuration of this is needed, then adding a debugfs
> entry for the ARM-generic hlt/nohlt interface should be added.
>
> Signed-off-by: Kevin Hilman<khilman@ti.com>

This makes it easy for future OMAP PM code as well.
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>

Regards
Santosh

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH/RFC 2/4] OMAP2: PM debug: remove register dumping
  2011-05-26 23:02 ` [PATCH/RFC 2/4] OMAP2: PM debug: remove register dumping Kevin Hilman
@ 2011-05-30  7:17   ` Santosh Shilimkar
  2011-06-01  1:34     ` Kevin Hilman
  2011-05-30  8:05   ` Jean Pihet
  1 sibling, 1 reply; 26+ messages in thread
From: Santosh Shilimkar @ 2011-05-30  7:17 UTC (permalink / raw)
  To: Kevin Hilman; +Cc: linux-omap, p-titiano

On 5/27/2011 4:32 AM, Kevin Hilman wrote:
> Signed-off-by: Kevin Hilman<khilman@ti.com>

Do you plan to keep wroking the patch which dumps registers
before and after WFI ?
Ofcourse this patch is in your pm-debug branch.

For this change
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>	


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH/RFC 3/4] OMAP3: PM debug: remove register dumping
  2011-05-26 23:02 ` [PATCH/RFC 3/4] OMAP3: " Kevin Hilman
@ 2011-05-30  7:18   ` Santosh Shilimkar
  2011-05-30  8:06     ` Jean Pihet
  0 siblings, 1 reply; 26+ messages in thread
From: Santosh Shilimkar @ 2011-05-30  7:18 UTC (permalink / raw)
  To: Kevin Hilman; +Cc: linux-omap, p-titiano

On 5/27/2011 4:32 AM, Kevin Hilman wrote:
> Remove OMAP3-specific register dumping feature from PM debug layer.
> This is removed because:
>
> - it's ugly
> - it's OMAP3-specific, and will obviously not scale to OMAP4+
> - userspace /dev/mem-based tools (like omapconf) can do this much better
>
Fully agree and indeed it doesn't scale for OMAP4.

Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>





^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH/RFC 4/4] OMAP2: PM debug: move wakeup timer into clockevent code
  2011-05-27  5:18   ` Santosh Shilimkar
@ 2011-05-30  7:21     ` Santosh Shilimkar
  2011-05-30  8:08       ` Jean Pihet
  0 siblings, 1 reply; 26+ messages in thread
From: Santosh Shilimkar @ 2011-05-30  7:21 UTC (permalink / raw)
  To: Kevin Hilman; +Cc: linux-omap, p-titiano

Kevin,

On 5/27/2011 10:48 AM, Santosh Shilimkar wrote:
> On 5/27/2011 4:32 AM, Kevin Hilman wrote:
>> Move suspend wakeup timer from suspend path to be triggered based
>> on clockevent suspend path.
>>
>> When gptimers are eventually converted to be a driver, the wakeup
>> timer feature can be made to be a driver-specific feature using the
>> driver's suspend method.
>>
> Excellent idea and patch. Never crossed my mind that we could
> have used "CLOCK_EVT_MODE_SHUTDOWN" instead of our long old
> hack.
>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>


I will use this patch and other series for my OMAP4 re-basing
since it's all necessary and good clean-up.

Is that ok with you ?

Regards
Santosh





^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH/RFC 1/4] OMAP3: PM debug: remove sleep_while_idle feature
  2011-05-30  7:15   ` Santosh Shilimkar
@ 2011-05-30  7:59     ` Jean Pihet
  0 siblings, 0 replies; 26+ messages in thread
From: Jean Pihet @ 2011-05-30  7:59 UTC (permalink / raw)
  To: Santosh Shilimkar; +Cc: Kevin Hilman, linux-omap, p-titiano

On Mon, May 30, 2011 at 9:15 AM, Santosh Shilimkar
<santosh.shilimkar@ti.com> wrote:
> On 5/27/2011 4:32 AM, Kevin Hilman wrote:
>>
>> Remove the OMAP-specific PM debug 'sleep_while_idle' feature which is
>> currently available as an OMAP-specific debugfs entry.
>>
>> This duplicates existing ARM-generic functionality available as a
>> boot-time option using the boot cmdline option 'hohlt'.
>>
>> If runtime configuration of this is needed, then adding a debugfs
>> entry for the ARM-generic hlt/nohlt interface should be added.
>>
>> Signed-off-by: Kevin Hilman<khilman@ti.com>
>
> This makes it easy for future OMAP PM code as well.
> Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>

Agree!
Acked-by: Jean Pihet <j-pihet@ti.com>

>
> Regards
> Santosh
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH/RFC 2/4] OMAP2: PM debug: remove register dumping
  2011-05-26 23:02 ` [PATCH/RFC 2/4] OMAP2: PM debug: remove register dumping Kevin Hilman
  2011-05-30  7:17   ` Santosh Shilimkar
@ 2011-05-30  8:05   ` Jean Pihet
  2011-05-31  8:24     ` Titiano, Patrick
  1 sibling, 1 reply; 26+ messages in thread
From: Jean Pihet @ 2011-05-30  8:05 UTC (permalink / raw)
  To: Kevin Hilman; +Cc: linux-omap, p-titiano

On Fri, May 27, 2011 at 1:02 AM, Kevin Hilman <khilman@ti.com> wrote:
> Signed-off-by: Kevin Hilman <khilman@ti.com>
> ---
>  arch/arm/mach-omap2/pm-debug.c |  119 ----------------------------------------
>  arch/arm/mach-omap2/pm.h       |    4 -
>  arch/arm/mach-omap2/pm24xx.c   |    6 +-
>  3 files changed, 2 insertions(+), 127 deletions(-)
>
...

OK for this change. Is it the intention to use the omapconf tool as
the replacement for the regs dump code?

Acked-by: Jean Pihet <j-pihet@ti.com>

Regards,
Jean
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH/RFC 3/4] OMAP3: PM debug: remove register dumping
  2011-05-30  7:18   ` Santosh Shilimkar
@ 2011-05-30  8:06     ` Jean Pihet
  0 siblings, 0 replies; 26+ messages in thread
From: Jean Pihet @ 2011-05-30  8:06 UTC (permalink / raw)
  To: Santosh Shilimkar; +Cc: Kevin Hilman, linux-omap, p-titiano

On Mon, May 30, 2011 at 9:18 AM, Santosh Shilimkar
<santosh.shilimkar@ti.com> wrote:
> On 5/27/2011 4:32 AM, Kevin Hilman wrote:
>>
>> Remove OMAP3-specific register dumping feature from PM debug layer.
>> This is removed because:
>>
>> - it's ugly
>> - it's OMAP3-specific, and will obviously not scale to OMAP4+
>> - userspace /dev/mem-based tools (like omapconf) can do this much better
>>
> Fully agree and indeed it doesn't scale for OMAP4.
>
> Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
>

Ok. Same comment about the use of omaconf as a debug/investigation tool.
Acked-by: Jean Pihet <j-pihet@ti.com>

>
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH/RFC 4/4] OMAP2: PM debug: move wakeup timer into clockevent code
  2011-05-30  7:21     ` Santosh Shilimkar
@ 2011-05-30  8:08       ` Jean Pihet
  2011-05-30  8:10         ` Santosh Shilimkar
  0 siblings, 1 reply; 26+ messages in thread
From: Jean Pihet @ 2011-05-30  8:08 UTC (permalink / raw)
  To: Santosh Shilimkar; +Cc: Kevin Hilman, linux-omap, p-titiano

On Mon, May 30, 2011 at 9:21 AM, Santosh Shilimkar
<santosh.shilimkar@ti.com> wrote:
> Kevin,
>
> On 5/27/2011 10:48 AM, Santosh Shilimkar wrote:
>>
>> On 5/27/2011 4:32 AM, Kevin Hilman wrote:
>>>
>>> Move suspend wakeup timer from suspend path to be triggered based
>>> on clockevent suspend path.
>>>
>>> When gptimers are eventually converted to be a driver, the wakeup
>>> timer feature can be made to be a driver-specific feature using the
>>> driver's suspend method.
>>>
>> Excellent idea and patch. Never crossed my mind that we could
>> have used "CLOCK_EVT_MODE_SHUTDOWN" instead of our long old
>> hack.

Great!
Acked-by: Jean Pihet <j-pihet@ti.com>

What platform has is been tested on?

Regards,
Jean

>>
> Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
>
>
> I will use this patch and other series for my OMAP4 re-basing
> since it's all necessary and good clean-up.
>
> Is that ok with you ?
>
> Regards
> Santosh
>
>
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH/RFC 4/4] OMAP2: PM debug: move wakeup timer into clockevent code
  2011-05-30  8:08       ` Jean Pihet
@ 2011-05-30  8:10         ` Santosh Shilimkar
  0 siblings, 0 replies; 26+ messages in thread
From: Santosh Shilimkar @ 2011-05-30  8:10 UTC (permalink / raw)
  To: Jean Pihet; +Cc: Kevin Hilman, linux-omap, p-titiano

On 5/30/2011 1:38 PM, Jean Pihet wrote:
> On Mon, May 30, 2011 at 9:21 AM, Santosh Shilimkar
> <santosh.shilimkar@ti.com>  wrote:
>> Kevin,
>>
>> On 5/27/2011 10:48 AM, Santosh Shilimkar wrote:
>>>
>>> On 5/27/2011 4:32 AM, Kevin Hilman wrote:
>>>>
>>>> Move suspend wakeup timer from suspend path to be triggered based
>>>> on clockevent suspend path.
>>>>
>>>> When gptimers are eventually converted to be a driver, the wakeup
>>>> timer feature can be made to be a driver-specific feature using the
>>>> driver's suspend method.
>>>>
>>> Excellent idea and patch. Never crossed my mind that we could
>>> have used "CLOCK_EVT_MODE_SHUTDOWN" instead of our long old
>>> hack.
>
> Great!
> Acked-by: Jean Pihet<j-pihet@ti.com>
>
> What platform has is been tested on?
>
I tried thos on OMAP4430 and it works as expected.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* RE: [PATCH/RFC 2/4] OMAP2: PM debug: remove register dumping
  2011-05-30  8:05   ` Jean Pihet
@ 2011-05-31  8:24     ` Titiano, Patrick
  2011-06-01  1:40       ` Kevin Hilman
  0 siblings, 1 reply; 26+ messages in thread
From: Titiano, Patrick @ 2011-05-31  8:24 UTC (permalink / raw)
  To: Jean Pihet, Hilman, Kevin; +Cc: linux-omap


>
Texas Instruments France SA, 821 Avenue Jack Kilby, 06270 Villeneuve Loubet. 036 420 040 R.C.S Antibes. Capital de EUR 753.920

-----Original Message-----

> From: Jean Pihet [mailto:jean.pihet@newoldbits.com]
> Sent: Monday, May 30, 2011 10:05 AM
> To: Hilman, Kevin
> Cc: linux-omap@vger.kernel.org; Titiano, Patrick
> Subject: Re: [PATCH/RFC 2/4] OMAP2: PM debug: remove register dumping
>
> On Fri, May 27, 2011 at 1:02 AM, Kevin Hilman <khilman@ti.com> wrote:
> > Signed-off-by: Kevin Hilman <khilman@ti.com>
> > ---
> >  arch/arm/mach-omap2/pm-debug.c |  119 ---------------------------------
> -------
> >  arch/arm/mach-omap2/pm.h       |    4 -
> >  arch/arm/mach-omap2/pm24xx.c   |    6 +-
> >  3 files changed, 2 insertions(+), 127 deletions(-)
> >
> ...
>
> OK for this change. Is it the intention to use the omapconf tool as
> the replacement for the regs dump code?

Sorry but omapconf is run from userspace, it cannot be used to dump PRCM registers right before and after MPU WFI.

Regards,
Patrick.


>
> Acked-by: Jean Pihet <j-pihet@ti.com>
>
> Regards,
> Jean


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH/RFC 2/4] OMAP2: PM debug: remove register dumping
  2011-05-30  7:17   ` Santosh Shilimkar
@ 2011-06-01  1:34     ` Kevin Hilman
  0 siblings, 0 replies; 26+ messages in thread
From: Kevin Hilman @ 2011-06-01  1:34 UTC (permalink / raw)
  To: Santosh Shilimkar; +Cc: linux-omap, p-titiano

Santosh Shilimkar <santosh.shilimkar@ti.com> writes:

> On 5/27/2011 4:32 AM, Kevin Hilman wrote:
>> Signed-off-by: Kevin Hilman<khilman@ti.com>
>
> Do you plan to keep wroking the patch which dumps registers
> before and after WFI ?

No.

I haven't thought through all the details yet, but I'm hoping that
dropping this feature will "encourage" others to help think about it as
well. ;)

Ideally, I'd like to see this handled by perf/ftrace.  We now have
tracepoints for clock, clockdomain and powerdomain events.  Maybe adding
additional data for each of these tracepoints which snapshots some key
registers values would be useful.  Then, visualizing with tools like
pytimechart or kernelshark could be done.

Another option would be a new driver which adds a way to snapshot
registers into a hash-table based on address (maybe triggered by the
existing tracepoints.)  This data could then be readable from userspace
via the drivers read/write interface, and displayed with a tool that
already knows about all the registers/bitfields etc. (e.g. omapconf.)

I'd guess the the latter is probably prefered since all the register &
bitfield knowlege is already in a tool like omapconf.

> Ofcourse this patch is in your pm-debug branch.

Right, I'll be dropping that branch.

> For this change
> Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>	

Thanks,

Kevin

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH/RFC 2/4] OMAP2: PM debug: remove register dumping
  2011-05-31  8:24     ` Titiano, Patrick
@ 2011-06-01  1:40       ` Kevin Hilman
  2011-06-01 14:28         ` Titiano, Patrick
  0 siblings, 1 reply; 26+ messages in thread
From: Kevin Hilman @ 2011-06-01  1:40 UTC (permalink / raw)
  To: Titiano, Patrick; +Cc: Jean Pihet, linux-omap

Hi Patrick,

"Titiano, Patrick" <p-titiano@ti.com> writes:

[...]

>>
>> OK for this change. Is it the intention to use the omapconf tool as
>> the replacement for the regs dump code?
>
> Sorry but omapconf is run from userspace, it cannot be used to dump
> PRCM registers right before and after MPU WFI.
>

Right, taking register snapshots is currently beyond the scope of
omapconf.

However, as I suggested earlier in this thread, if we had a new driver
with read/write interface where register snapshots are saved, I imagine
adopting omapconf to read from such an interface for dumping register
snapshots would be relatively easy, right?  

Kevin

[1] again, I haven't really thought much about this, but something like;
write an address to /dev/foo, then reading 'len' bytes from /dev/foo
would give back the snapshot data (if any) starting from that address.


^ permalink raw reply	[flat|nested] 26+ messages in thread

* RE: [PATCH/RFC 2/4] OMAP2: PM debug: remove register dumping
  2011-06-01  1:40       ` Kevin Hilman
@ 2011-06-01 14:28         ` Titiano, Patrick
  0 siblings, 0 replies; 26+ messages in thread
From: Titiano, Patrick @ 2011-06-01 14:28 UTC (permalink / raw)
  To: Hilman, Kevin; +Cc: Jean Pihet, linux-omap

Hi Kevin,

[...]
> > Sorry but omapconf is run from userspace, it cannot be used to dump
> > PRCM registers right before and after MPU WFI.
> >
>
> Right, taking register snapshots is currently beyond the scope of
> omapconf.
>
> However, as I suggested earlier in this thread, if we had a new driver
> with read/write interface where register snapshots are saved, I imagine
> adopting omapconf to read from such an interface for dumping register
> snapshots would be relatively easy, right?
>

Correct, this feature could be pretty easily added to omapconf.

Patrick.


Texas Instruments France SA, 821 Avenue Jack Kilby, 06270 Villeneuve Loubet. 036 420 040 R.C.S Antibes. Capital de EUR 753.920




^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH/RFC 0/4] OMAP: PM debug: remove register dump, misc cleanups
  2011-05-26 23:02 [PATCH/RFC 0/4] OMAP: PM debug: remove register dump, misc cleanups Kevin Hilman
                   ` (4 preceding siblings ...)
  2011-05-27  7:34 ` [PATCH/RFC 0/4] OMAP: PM debug: remove register dump, misc cleanups Jean Pihet
@ 2011-06-13 12:28 ` Santosh Shilimkar
  2011-06-16  0:33   ` Kevin Hilman
  5 siblings, 1 reply; 26+ messages in thread
From: Santosh Shilimkar @ 2011-06-13 12:28 UTC (permalink / raw)
  To: Kevin Hilman; +Cc: linux-omap, p-titiano

On 5/27/2011 4:32 AM, Kevin Hilman wrote:
> Inspired by Jean's work to move PM code to modules, I decided it's
> time to remove a bunch of ugly and difficult to maintain code from PM
> debug.
>
> The main chunk here is removing the register dump features for
> OMAP2/OMAP3 which are awful to read, and impossible to scale for
> OMAP4+.  Also, there are now some userspace /dev/mem-based tools (like
> omapconf) that can handle this type of thing much better, and with a
> much better interface and display.
>
> Series applies to v2.6.39.
>
I have tested this series on V3.0-rc2 as part of OMAP4 PM
series. I think it's ready for merge.

Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>

> Kevin Hilman (4):
>    OMAP3: PM debug: remove sleep_while_idle feature
>    OMAP2: PM debug: remove register dumping
>    OMAP3: PM debug: remove register dumping
>    OMAP2: PM debug: move wakeup timer into clockevent code
>
>   arch/arm/mach-omap2/pm-debug.c            |  362 -----------------------------
>   arch/arm/mach-omap2/pm.h                  |    9 -
>   arch/arm/mach-omap2/pm24xx.c              |    6 +-
>   arch/arm/mach-omap2/pm34xx.c              |    6 -
>   arch/arm/mach-omap2/timer-gp.c            |   33 +++-
>   arch/arm/plat-omap/include/plat/dmtimer.h |    1 -
>   6 files changed, 32 insertions(+), 385 deletions(-)
>


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH/RFC 0/4] OMAP: PM debug: remove register dump, misc cleanups
  2011-06-13 12:28 ` Santosh Shilimkar
@ 2011-06-16  0:33   ` Kevin Hilman
  0 siblings, 0 replies; 26+ messages in thread
From: Kevin Hilman @ 2011-06-16  0:33 UTC (permalink / raw)
  To: Santosh Shilimkar; +Cc: linux-omap, p-titiano

Santosh Shilimkar <santosh.shilimkar@ti.com> writes:

> On 5/27/2011 4:32 AM, Kevin Hilman wrote:
>> Inspired by Jean's work to move PM code to modules, I decided it's
>> time to remove a bunch of ugly and difficult to maintain code from PM
>> debug.
>>
>> The main chunk here is removing the register dump features for
>> OMAP2/OMAP3 which are awful to read, and impossible to scale for
>> OMAP4+.  Also, there are now some userspace /dev/mem-based tools (like
>> omapconf) that can handle this type of thing much better, and with a
>> much better interface and display.
>>
>> Series applies to v2.6.39.
>>
> I have tested this series on V3.0-rc2 as part of OMAP4 PM
> series. I think it's ready for merge.

Thanks, adding to my queue for the next merge window (branch: for_3.1/pm-misc)

Kevin

^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2011-06-16  0:33 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-05-26 23:02 [PATCH/RFC 0/4] OMAP: PM debug: remove register dump, misc cleanups Kevin Hilman
2011-05-26 23:02 ` [PATCH/RFC 1/4] OMAP3: PM debug: remove sleep_while_idle feature Kevin Hilman
2011-05-27  7:37   ` Jean Pihet
2011-05-27 15:26     ` Kevin Hilman
2011-05-27 16:01       ` Jean Pihet
2011-05-30  7:15   ` Santosh Shilimkar
2011-05-30  7:59     ` Jean Pihet
2011-05-26 23:02 ` [PATCH/RFC 2/4] OMAP2: PM debug: remove register dumping Kevin Hilman
2011-05-30  7:17   ` Santosh Shilimkar
2011-06-01  1:34     ` Kevin Hilman
2011-05-30  8:05   ` Jean Pihet
2011-05-31  8:24     ` Titiano, Patrick
2011-06-01  1:40       ` Kevin Hilman
2011-06-01 14:28         ` Titiano, Patrick
2011-05-26 23:02 ` [PATCH/RFC 3/4] OMAP3: " Kevin Hilman
2011-05-30  7:18   ` Santosh Shilimkar
2011-05-30  8:06     ` Jean Pihet
2011-05-26 23:02 ` [PATCH/RFC 4/4] OMAP2: PM debug: move wakeup timer into clockevent code Kevin Hilman
2011-05-27  5:18   ` Santosh Shilimkar
2011-05-30  7:21     ` Santosh Shilimkar
2011-05-30  8:08       ` Jean Pihet
2011-05-30  8:10         ` Santosh Shilimkar
2011-05-27  7:34 ` [PATCH/RFC 0/4] OMAP: PM debug: remove register dump, misc cleanups Jean Pihet
2011-05-27 15:00   ` Kevin Hilman
2011-06-13 12:28 ` Santosh Shilimkar
2011-06-16  0:33   ` Kevin Hilman

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.