From: Russell King - ARM Linux <linux@arm.linux.org.uk> To: linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-omap@vger.kernel.org Subject: [PATCH 25/25] ARM: pm: omap34xx: convert to generic suspend/resume support Date: Wed, 22 Jun 2011 16:16:58 +0100 [thread overview] Message-ID: <E1QZPAo-0002XO-9G@rmk-PC.arm.linux.org.uk> (raw) In-Reply-To: <20110622150816.GT23234@n2100.arm.linux.org.uk> Convert sa11x0 to use the generic CPU suspend/resume support, rather than implementing its own version. Tested on 3430 LDP. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> --- arch/arm/mach-omap2/pm34xx.c | 39 ++---------- arch/arm/mach-omap2/sleep34xx.S | 130 +------------------------------------- 2 files changed, 11 insertions(+), 158 deletions(-) diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c index c155c9d..09e14cb 100644 --- a/arch/arm/mach-omap2/pm34xx.c +++ b/arch/arm/mach-omap2/pm34xx.c @@ -64,11 +64,6 @@ static inline bool is_suspending(void) } #endif -/* Scratchpad offsets */ -#define OMAP343X_TABLE_ADDRESS_OFFSET 0xc4 -#define OMAP343X_TABLE_VALUE_OFFSET 0xc0 -#define OMAP343X_CONTROL_REG_VALUE_OFFSET 0xc8 - /* pm34xx errata defined in pm.h */ u16 pm34xx_errata; @@ -312,28 +307,9 @@ static irqreturn_t prcm_interrupt_handler (int irq, void *dev_id) return IRQ_HANDLED; } -/* Function to restore the table entry that was modified for enabling MMU */ -static void restore_table_entry(void) +static void omap34xx_do_sram_idle(unsigned long save_state) { - void __iomem *scratchpad_address; - u32 previous_value, control_reg_value; - u32 *address; - - scratchpad_address = OMAP2_L4_IO_ADDRESS(OMAP343X_SCRATCHPAD); - - /* Get address of entry that was modified */ - address = (u32 *)__raw_readl(scratchpad_address + - OMAP343X_TABLE_ADDRESS_OFFSET); - /* Get the previous value which needs to be restored */ - previous_value = __raw_readl(scratchpad_address + - OMAP343X_TABLE_VALUE_OFFSET); - address = __va(address); - *address = previous_value; - flush_tlb_all(); - control_reg_value = __raw_readl(scratchpad_address - + OMAP343X_CONTROL_REG_VALUE_OFFSET); - /* This will enable caches and prediction */ - set_cr(control_reg_value); + _omap_sram_idle(omap3_arm_context, save_state); } void omap_sram_idle(void) @@ -436,8 +412,11 @@ void omap_sram_idle(void) * get saved. The restore path then reads from this * location and restores them back. */ - _omap_sram_idle(omap3_arm_context, save_state); - cpu_init(); + if (save_state == 1 || save_state == 3) + cpu_suspend(0, PHYS_OFFSET - PAGE_OFFSET, save_state, + omap34xx_do_sram_idle); + else + omap34xx_do_sram_idle(save_state); /* Restore normal SDRC POWER settings */ if (omap_rev() >= OMAP3430_REV_ES3_0 && @@ -445,10 +424,6 @@ void omap_sram_idle(void) core_next_state == PWRDM_POWER_OFF) sdrc_write_reg(sdrc_pwr, SDRC_POWER); - /* Restore table entry modified during MMU restoration */ - if (pwrdm_read_prev_pwrst(mpu_pwrdm) == PWRDM_POWER_OFF) - restore_table_entry(); - /* CORE */ if (core_next_state < PWRDM_POWER_ON) { core_prev_state = pwrdm_read_prev_pwrst(core_pwrdm); diff --git a/arch/arm/mach-omap2/sleep34xx.S b/arch/arm/mach-omap2/sleep34xx.S index 12e9da2..6d1d083 100644 --- a/arch/arm/mach-omap2/sleep34xx.S +++ b/arch/arm/mach-omap2/sleep34xx.S @@ -211,37 +211,6 @@ save_context_wfi: mrc p15, 1, r5, c9, c0, 2 @ Read L2 AUX ctrl register stmia r8!, {r4-r5} @ Push parameters for restore call - /* Check what that target sleep state is from r1 */ - cmp r1, #0x2 @ Only L2 lost, no need to save context - beq clean_caches - -l1_logic_lost: - mov r4, sp @ Store sp - mrs r5, spsr @ Store spsr - mov r6, lr @ Store lr - stmia r8!, {r4-r6} - - mrc p15, 0, r4, c1, c0, 2 @ Coprocessor access control register - mrc p15, 0, r5, c2, c0, 0 @ TTBR0 - mrc p15, 0, r6, c2, c0, 1 @ TTBR1 - mrc p15, 0, r7, c2, c0, 2 @ TTBCR - stmia r8!, {r4-r7} - - mrc p15, 0, r4, c3, c0, 0 @ Domain access Control Register - mrc p15, 0, r5, c10, c2, 0 @ PRRR - mrc p15, 0, r6, c10, c2, 1 @ NMRR - stmia r8!,{r4-r6} - - mrc p15, 0, r4, c13, c0, 1 @ Context ID - mrc p15, 0, r5, c13, c0, 2 @ User r/w thread and process ID - mrc p15, 0, r6, c12, c0, 0 @ Secure or NS vector base address - mrs r7, cpsr @ Store current cpsr - stmia r8!, {r4-r7} - - mrc p15, 0, r4, c1, c0, 0 @ save control register - stmia r8!, {r4} - -clean_caches: /* * jump out to kernel flush routine * - reuse that code is better @@ -473,102 +442,11 @@ skipl2reen: */ mcr p15, 0, r1, c7, c5, 0 - ldr r4, scratchpad_base - ldr r3, [r4,#0xBC] - adds r3, r3, #16 - - ldmia r3!, {r4-r6} - mov sp, r4 @ Restore sp - msr spsr_cxsf, r5 @ Restore spsr - mov lr, r6 @ Restore lr - - ldmia r3!, {r4-r7} - mcr p15, 0, r4, c1, c0, 2 @ Coprocessor access Control Register - mcr p15, 0, r5, c2, c0, 0 @ TTBR0 - mcr p15, 0, r6, c2, c0, 1 @ TTBR1 - mcr p15, 0, r7, c2, c0, 2 @ TTBCR - - ldmia r3!,{r4-r6} - mcr p15, 0, r4, c3, c0, 0 @ Domain access Control Register - mcr p15, 0, r5, c10, c2, 0 @ PRRR - mcr p15, 0, r6, c10, c2, 1 @ NMRR - - - ldmia r3!,{r4-r7} - mcr p15, 0, r4, c13, c0, 1 @ Context ID - mcr p15, 0, r5, c13, c0, 2 @ User r/w thread and process ID - mrc p15, 0, r6, c12, c0, 0 @ Secure or NS vector base address - msr cpsr, r7 @ store cpsr - - /* Enabling MMU here */ - mrc p15, 0, r7, c2, c0, 2 @ Read TTBRControl - /* Extract N (0:2) bits and decide whether to use TTBR0 or TTBR1 */ - and r7, #0x7 - cmp r7, #0x0 - beq usettbr0 -ttbr_error: - /* - * More work needs to be done to support N[0:2] value other than 0 - * So looping here so that the error can be detected - */ - b ttbr_error -usettbr0: - mrc p15, 0, r2, c2, c0, 0 - ldr r5, ttbrbit_mask - and r2, r5 - mov r4, pc - ldr r5, table_index_mask - and r4, r5 @ r4 = 31 to 20 bits of pc - /* Extract the value to be written to table entry */ - ldr r1, table_entry - /* r1 has the value to be written to table entry*/ - add r1, r1, r4 - /* Getting the address of table entry to modify */ - lsr r4, #18 - /* r2 has the location which needs to be modified */ - add r2, r4 - /* Storing previous entry of location being modified */ - ldr r5, scratchpad_base - ldr r4, [r2] - str r4, [r5, #0xC0] - /* Modify the table entry */ - str r1, [r2] - /* - * Storing address of entry being modified - * - will be restored after enabling MMU - */ - ldr r5, scratchpad_base - str r2, [r5, #0xC4] - - mov r0, #0 - mcr p15, 0, r0, c7, c5, 4 @ Flush prefetch buffer - mcr p15, 0, r0, c7, c5, 6 @ Invalidate branch predictor array - mcr p15, 0, r0, c8, c5, 0 @ Invalidate instruction TLB - mcr p15, 0, r0, c8, c6, 0 @ Invalidate data TLB - /* - * Restore control register. This enables the MMU. - * The caches and prediction are not enabled here, they - * will be enabled after restoring the MMU table entry. - */ - ldmia r3!, {r4} - /* Store previous value of control register in scratchpad */ - str r4, [r5, #0xC8] - ldr r2, cache_pred_disable_mask - and r4, r2 - mcr p15, 0, r4, c1, c0, 0 - dsb - isb - ldr r0, =restoremmu_on - bx r0 - -/* - * ============================== - * == Exit point from OFF mode == - * ============================== - */ -restoremmu_on: - ldmfd sp!, {r4 - r11, pc} @ restore regs and return + /* Now branch to the common CPU resume function */ + ldr r0, =cpu_resume + bx r0 + .ltorg /* * Internal functions -- 1.7.4.4
WARNING: multiple messages have this Message-ID (diff)
From: linux@arm.linux.org.uk (Russell King - ARM Linux) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH 25/25] ARM: pm: omap34xx: convert to generic suspend/resume support Date: Wed, 22 Jun 2011 16:16:58 +0100 [thread overview] Message-ID: <E1QZPAo-0002XO-9G@rmk-PC.arm.linux.org.uk> (raw) In-Reply-To: <20110622150816.GT23234@n2100.arm.linux.org.uk> Convert sa11x0 to use the generic CPU suspend/resume support, rather than implementing its own version. Tested on 3430 LDP. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> --- arch/arm/mach-omap2/pm34xx.c | 39 ++---------- arch/arm/mach-omap2/sleep34xx.S | 130 +------------------------------------- 2 files changed, 11 insertions(+), 158 deletions(-) diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c index c155c9d..09e14cb 100644 --- a/arch/arm/mach-omap2/pm34xx.c +++ b/arch/arm/mach-omap2/pm34xx.c @@ -64,11 +64,6 @@ static inline bool is_suspending(void) } #endif -/* Scratchpad offsets */ -#define OMAP343X_TABLE_ADDRESS_OFFSET 0xc4 -#define OMAP343X_TABLE_VALUE_OFFSET 0xc0 -#define OMAP343X_CONTROL_REG_VALUE_OFFSET 0xc8 - /* pm34xx errata defined in pm.h */ u16 pm34xx_errata; @@ -312,28 +307,9 @@ static irqreturn_t prcm_interrupt_handler (int irq, void *dev_id) return IRQ_HANDLED; } -/* Function to restore the table entry that was modified for enabling MMU */ -static void restore_table_entry(void) +static void omap34xx_do_sram_idle(unsigned long save_state) { - void __iomem *scratchpad_address; - u32 previous_value, control_reg_value; - u32 *address; - - scratchpad_address = OMAP2_L4_IO_ADDRESS(OMAP343X_SCRATCHPAD); - - /* Get address of entry that was modified */ - address = (u32 *)__raw_readl(scratchpad_address + - OMAP343X_TABLE_ADDRESS_OFFSET); - /* Get the previous value which needs to be restored */ - previous_value = __raw_readl(scratchpad_address + - OMAP343X_TABLE_VALUE_OFFSET); - address = __va(address); - *address = previous_value; - flush_tlb_all(); - control_reg_value = __raw_readl(scratchpad_address - + OMAP343X_CONTROL_REG_VALUE_OFFSET); - /* This will enable caches and prediction */ - set_cr(control_reg_value); + _omap_sram_idle(omap3_arm_context, save_state); } void omap_sram_idle(void) @@ -436,8 +412,11 @@ void omap_sram_idle(void) * get saved. The restore path then reads from this * location and restores them back. */ - _omap_sram_idle(omap3_arm_context, save_state); - cpu_init(); + if (save_state == 1 || save_state == 3) + cpu_suspend(0, PHYS_OFFSET - PAGE_OFFSET, save_state, + omap34xx_do_sram_idle); + else + omap34xx_do_sram_idle(save_state); /* Restore normal SDRC POWER settings */ if (omap_rev() >= OMAP3430_REV_ES3_0 && @@ -445,10 +424,6 @@ void omap_sram_idle(void) core_next_state == PWRDM_POWER_OFF) sdrc_write_reg(sdrc_pwr, SDRC_POWER); - /* Restore table entry modified during MMU restoration */ - if (pwrdm_read_prev_pwrst(mpu_pwrdm) == PWRDM_POWER_OFF) - restore_table_entry(); - /* CORE */ if (core_next_state < PWRDM_POWER_ON) { core_prev_state = pwrdm_read_prev_pwrst(core_pwrdm); diff --git a/arch/arm/mach-omap2/sleep34xx.S b/arch/arm/mach-omap2/sleep34xx.S index 12e9da2..6d1d083 100644 --- a/arch/arm/mach-omap2/sleep34xx.S +++ b/arch/arm/mach-omap2/sleep34xx.S @@ -211,37 +211,6 @@ save_context_wfi: mrc p15, 1, r5, c9, c0, 2 @ Read L2 AUX ctrl register stmia r8!, {r4-r5} @ Push parameters for restore call - /* Check what that target sleep state is from r1 */ - cmp r1, #0x2 @ Only L2 lost, no need to save context - beq clean_caches - -l1_logic_lost: - mov r4, sp @ Store sp - mrs r5, spsr @ Store spsr - mov r6, lr @ Store lr - stmia r8!, {r4-r6} - - mrc p15, 0, r4, c1, c0, 2 @ Coprocessor access control register - mrc p15, 0, r5, c2, c0, 0 @ TTBR0 - mrc p15, 0, r6, c2, c0, 1 @ TTBR1 - mrc p15, 0, r7, c2, c0, 2 @ TTBCR - stmia r8!, {r4-r7} - - mrc p15, 0, r4, c3, c0, 0 @ Domain access Control Register - mrc p15, 0, r5, c10, c2, 0 @ PRRR - mrc p15, 0, r6, c10, c2, 1 @ NMRR - stmia r8!,{r4-r6} - - mrc p15, 0, r4, c13, c0, 1 @ Context ID - mrc p15, 0, r5, c13, c0, 2 @ User r/w thread and process ID - mrc p15, 0, r6, c12, c0, 0 @ Secure or NS vector base address - mrs r7, cpsr @ Store current cpsr - stmia r8!, {r4-r7} - - mrc p15, 0, r4, c1, c0, 0 @ save control register - stmia r8!, {r4} - -clean_caches: /* * jump out to kernel flush routine * - reuse that code is better @@ -473,102 +442,11 @@ skipl2reen: */ mcr p15, 0, r1, c7, c5, 0 - ldr r4, scratchpad_base - ldr r3, [r4,#0xBC] - adds r3, r3, #16 - - ldmia r3!, {r4-r6} - mov sp, r4 @ Restore sp - msr spsr_cxsf, r5 @ Restore spsr - mov lr, r6 @ Restore lr - - ldmia r3!, {r4-r7} - mcr p15, 0, r4, c1, c0, 2 @ Coprocessor access Control Register - mcr p15, 0, r5, c2, c0, 0 @ TTBR0 - mcr p15, 0, r6, c2, c0, 1 @ TTBR1 - mcr p15, 0, r7, c2, c0, 2 @ TTBCR - - ldmia r3!,{r4-r6} - mcr p15, 0, r4, c3, c0, 0 @ Domain access Control Register - mcr p15, 0, r5, c10, c2, 0 @ PRRR - mcr p15, 0, r6, c10, c2, 1 @ NMRR - - - ldmia r3!,{r4-r7} - mcr p15, 0, r4, c13, c0, 1 @ Context ID - mcr p15, 0, r5, c13, c0, 2 @ User r/w thread and process ID - mrc p15, 0, r6, c12, c0, 0 @ Secure or NS vector base address - msr cpsr, r7 @ store cpsr - - /* Enabling MMU here */ - mrc p15, 0, r7, c2, c0, 2 @ Read TTBRControl - /* Extract N (0:2) bits and decide whether to use TTBR0 or TTBR1 */ - and r7, #0x7 - cmp r7, #0x0 - beq usettbr0 -ttbr_error: - /* - * More work needs to be done to support N[0:2] value other than 0 - * So looping here so that the error can be detected - */ - b ttbr_error -usettbr0: - mrc p15, 0, r2, c2, c0, 0 - ldr r5, ttbrbit_mask - and r2, r5 - mov r4, pc - ldr r5, table_index_mask - and r4, r5 @ r4 = 31 to 20 bits of pc - /* Extract the value to be written to table entry */ - ldr r1, table_entry - /* r1 has the value to be written to table entry*/ - add r1, r1, r4 - /* Getting the address of table entry to modify */ - lsr r4, #18 - /* r2 has the location which needs to be modified */ - add r2, r4 - /* Storing previous entry of location being modified */ - ldr r5, scratchpad_base - ldr r4, [r2] - str r4, [r5, #0xC0] - /* Modify the table entry */ - str r1, [r2] - /* - * Storing address of entry being modified - * - will be restored after enabling MMU - */ - ldr r5, scratchpad_base - str r2, [r5, #0xC4] - - mov r0, #0 - mcr p15, 0, r0, c7, c5, 4 @ Flush prefetch buffer - mcr p15, 0, r0, c7, c5, 6 @ Invalidate branch predictor array - mcr p15, 0, r0, c8, c5, 0 @ Invalidate instruction TLB - mcr p15, 0, r0, c8, c6, 0 @ Invalidate data TLB - /* - * Restore control register. This enables the MMU. - * The caches and prediction are not enabled here, they - * will be enabled after restoring the MMU table entry. - */ - ldmia r3!, {r4} - /* Store previous value of control register in scratchpad */ - str r4, [r5, #0xC8] - ldr r2, cache_pred_disable_mask - and r4, r2 - mcr p15, 0, r4, c1, c0, 0 - dsb - isb - ldr r0, =restoremmu_on - bx r0 - -/* - * ============================== - * == Exit point from OFF mode == - * ============================== - */ -restoremmu_on: - ldmfd sp!, {r4 - r11, pc} @ restore regs and return + /* Now branch to the common CPU resume function */ + ldr r0, =cpu_resume + bx r0 + .ltorg /* * Internal functions -- 1.7.4.4
next prev parent reply other threads:[~2011-06-22 15:16 UTC|newest] Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top 2011-06-22 15:08 [PATCH 00/25 v2] Re-jig cpu_suspend for a saner calling convention Russell King - ARM Linux 2011-06-22 15:08 ` Russell King - ARM Linux 2011-06-22 15:08 ` [PATCH 01/25] ARM: pm: make MULTI_CPU and !MULTI_CPU resume paths the same Russell King - ARM Linux 2011-06-22 15:08 ` Russell King - ARM Linux 2011-06-22 15:09 ` [PATCH 02/25] ARM: pm: move return address (for cpu_resume) to top of stack Russell King - ARM Linux 2011-06-22 15:09 ` Russell King - ARM Linux 2011-06-22 15:09 ` [PATCH 03/25] ARM: pm: extract common code from MULTI_CPU/!MULTI_CPU paths Russell King - ARM Linux 2011-06-22 15:09 ` Russell King - ARM Linux 2011-06-22 15:09 ` [PATCH 04/25] ARM: pm: preserve r4 - r11 across a suspend Russell King - ARM Linux 2011-06-22 15:09 ` Russell King - ARM Linux 2011-06-22 15:10 ` [PATCH 05/25] ARM: pm: reallocate registers to avoid r2, r3 Russell King - ARM Linux 2011-06-22 15:10 ` Russell King - ARM Linux 2011-06-22 15:10 ` [PATCH 06/25] ARM: pm: rejig suspend follow-on function calling convention Russell King - ARM Linux 2011-06-22 15:10 ` Russell King - ARM Linux 2011-06-22 15:10 ` [PATCH 07/25] ARM: pm: move sa1100 to use proper suspend func arg0 Russell King - ARM Linux 2011-06-22 15:10 ` Russell King - ARM Linux 2011-06-22 15:11 ` [PATCH 08/25] ARM: pm: convert cpu_suspend() to a normal function Russell King - ARM Linux 2011-06-22 15:11 ` Russell King - ARM Linux 2011-06-22 15:11 ` [PATCH 09/25] ARM: pm: plat-s3c24xx: cleanup s3c_cpu_save Russell King - ARM Linux 2011-06-22 15:11 ` Russell King - ARM Linux 2011-06-22 15:11 ` [PATCH 10/25] ARM: pm: sa1100: cleanup sa1100_cpu_suspend Russell King - ARM Linux 2011-06-22 15:11 ` Russell King - ARM Linux 2011-06-22 15:12 ` [PATCH 11/25] ARM: pm: mach-s5pv210: cleanup s3c_cpu_save Russell King - ARM Linux 2011-06-22 15:12 ` Russell King - ARM Linux 2011-06-22 15:12 ` [PATCH 12/25] ARM: pm: mach-exynos4: " Russell King - ARM Linux 2011-06-22 15:12 ` Russell King - ARM Linux 2011-06-22 15:12 ` [PATCH 13/25] ARM: pm: mach-s3c64xx: " Russell King - ARM Linux 2011-06-22 15:12 ` Russell King - ARM Linux 2011-06-22 15:13 ` [PATCH 14/25] ARM: pm: pxa: cleanup PXA suspend code Russell King - ARM Linux 2011-06-22 15:13 ` Russell King - ARM Linux 2011-06-22 15:13 ` [PATCH 15/25] ARM: pm: sa1100: move cpu_suspend into C code Russell King - ARM Linux 2011-06-22 15:13 ` Russell King - ARM Linux 2011-06-22 15:13 ` [PATCH 16/25] ARM: pm: pxa: " Russell King - ARM Linux 2011-06-22 15:13 ` Russell King - ARM Linux 2011-06-22 15:14 ` [PATCH 17/25] ARM: pm: move cpu_init() call into core code Russell King - ARM Linux 2011-06-22 15:14 ` Russell King - ARM Linux 2011-06-22 15:14 ` [PATCH 18/25] ARM: pm: arrange for cpu_proc_init() to be called on resume Russell King - ARM Linux 2011-06-22 15:14 ` Russell King - ARM Linux 2011-06-22 15:14 ` [PATCH 19/25] ARM: pm: sa1100: no need to re-enable clock switching Russell King - ARM Linux 2011-06-22 15:14 ` Russell King - ARM Linux 2011-06-22 15:15 ` [PATCH 20/25] ARM: pm: samsung: move cpu_suspend into C code Russell King - ARM Linux 2011-06-22 15:15 ` Russell King - ARM Linux 2011-06-22 15:15 ` [PATCH 21/25] ARM: pm: samsung: no need to call flush_cache_all() Russell King - ARM Linux 2011-06-22 15:15 ` Russell King - ARM Linux 2011-06-22 15:15 ` [PATCH 22/25] ARM: pm: omap: no need to save all registers in sleep34xx.S Russell King - ARM Linux 2011-06-22 15:15 ` Russell King - ARM Linux 2011-06-22 15:16 ` [PATCH 23/25] ARM: pm: omap34xx: remove misleading comment and use of r9 Russell King - ARM Linux 2011-06-22 15:16 ` Russell King - ARM Linux 2011-06-22 15:16 ` [PATCH 24/25] ARM: pm: ensure ARMv7 CPUs save and restore the TLS register Russell King - ARM Linux 2011-06-22 15:16 ` Russell King - ARM Linux 2011-06-22 15:16 ` Russell King - ARM Linux [this message] 2011-06-22 15:16 ` [PATCH 25/25] ARM: pm: omap34xx: convert to generic suspend/resume support Russell King - ARM Linux 2011-06-22 16:10 ` Russell King - ARM Linux 2011-06-22 16:10 ` Russell King - ARM Linux 2011-06-22 23:33 ` Santosh Shilimkar 2011-06-22 23:33 ` Santosh Shilimkar 2011-06-23 10:47 ` Russell King - ARM Linux 2011-06-23 10:47 ` Russell King - ARM Linux 2011-06-23 6:33 ` Tony Lindgren 2011-06-23 6:33 ` Tony Lindgren 2011-06-23 10:06 ` Russell King - ARM Linux 2011-06-23 10:06 ` Russell King - ARM Linux 2011-06-23 10:21 ` Russell King - ARM Linux 2011-06-23 10:21 ` Russell King - ARM Linux 2011-06-23 19:05 ` Kevin Hilman 2011-06-23 19:05 ` Kevin Hilman 2011-06-23 20:37 ` Kevin Hilman 2011-06-23 20:37 ` Kevin Hilman 2011-06-23 21:57 ` Kevin Hilman 2011-06-23 21:57 ` Kevin Hilman 2011-06-22 21:01 ` [PATCH 00/25 v2] Re-jig cpu_suspend for a saner calling convention Russell King - ARM Linux 2011-06-22 21:01 ` Russell King - ARM Linux 2011-06-22 23:26 ` Santosh Shilimkar 2011-06-22 23:26 ` Santosh Shilimkar
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=E1QZPAo-0002XO-9G@rmk-PC.arm.linux.org.uk \ --to=linux@arm.linux.org.uk \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-omap@vger.kernel.org \ --cc=linux-samsung-soc@vger.kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
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.