All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dirk Behme <dirk.behme@googlemail.com>
To: Vivek Kutal <vivek.kutal@celunite.com>,
	linux-omap-open-source@linux.omap.com
Cc: linux-omap@vger.kernel.org
Subject: Re: [PATCH] Remove omap_sram_idle()
Date: Sun, 16 Dec 2007 17:06:11 +0100	[thread overview]
Message-ID: <47654CF3.4010001@googlemail.com> (raw)
In-Reply-To: <11977918242059-git-send-email-vivek.kutal@celunite.com>

Vivek Kutal wrote:
> 	This patch removes omap_sram_idle().
> 
> Signed-off-by: Vivek Kutal <vivek.kutal@celunite.com>
> ---

Please switch over to new ML:

http://vger.kernel.org/vger-lists.html#linux-omap

Dirk

>  arch/arm/mach-omap1/pm.c    |    8 +--
>  arch/arm/mach-omap1/sleep.S |  161 -------------------------------------------
>  2 files changed, 1 insertions(+), 168 deletions(-)
> 
> diff --git a/arch/arm/mach-omap1/pm.c b/arch/arm/mach-omap1/pm.c
> index 647c58e..c5a89cd 100644
> --- a/arch/arm/mach-omap1/pm.c
> +++ b/arch/arm/mach-omap1/pm.c
> @@ -676,23 +676,17 @@ static int __init omap_pm_init(void)
>  	 * memory the MPU can see when it wakes up.
>  	 */
>  	if (cpu_is_omap730()) {
> -		omap_sram_idle = omap_sram_push(omap730_idle_loop_suspend,
> -						omap730_idle_loop_suspend_sz);
>  		omap_sram_suspend = omap_sram_push(omap730_cpu_suspend,
>  						   omap730_cpu_suspend_sz);
>  	} else if (cpu_is_omap15xx()) {
> -		omap_sram_idle = omap_sram_push(omap1510_idle_loop_suspend,
> -						omap1510_idle_loop_suspend_sz);
>  		omap_sram_suspend = omap_sram_push(omap1510_cpu_suspend,
>  						   omap1510_cpu_suspend_sz);
>  	} else if (cpu_is_omap16xx()) {
> -		omap_sram_idle = omap_sram_push(omap1610_idle_loop_suspend,
> -						omap1610_idle_loop_suspend_sz);
>  		omap_sram_suspend = omap_sram_push(omap1610_cpu_suspend,
>  						   omap1610_cpu_suspend_sz);
>  	}
>  
> -	if (omap_sram_idle == NULL || omap_sram_suspend == NULL) {
> +	if (omap_sram_suspend == NULL) {
>  		printk(KERN_ERR "PM not initialized: Missing SRAM support\n");
>  		return -ENODEV;
>  	}
> diff --git a/arch/arm/mach-omap1/sleep.S b/arch/arm/mach-omap1/sleep.S
> index abef33d..68f5b39 100644
> --- a/arch/arm/mach-omap1/sleep.S
> +++ b/arch/arm/mach-omap1/sleep.S
> @@ -39,167 +39,6 @@
>  
>  		.text
>  
> -/*
> - * Forces OMAP into idle state
> - *
> - * omapXXXX_idle_loop_suspend()
> - *
> - * Note: This code get's copied to internal SRAM at boot. When the OMAP
> - *	 wakes up it continues execution at the point it went to sleep.
> - *
> - * Note: Because of slightly different configuration values we have
> - *       processor specific functions here.
> - */
> -
> -#if defined(CONFIG_ARCH_OMAP730)
> -ENTRY(omap730_idle_loop_suspend)
> -
> -	stmfd	sp!, {r0 - r12, lr}		@ save registers on stack
> -
> -	@ load base address of ARM_IDLECT1 and ARM_IDLECT2
> -	mov	r4, #CLKGEN_REG_ASM_BASE & 0xff000000
> -	orr	r4, r4, #CLKGEN_REG_ASM_BASE & 0x00ff0000
> -	orr	r4, r4, #CLKGEN_REG_ASM_BASE & 0x0000ff00
> -
> -	@ turn off clock domains
> -	@ get ARM_IDLECT2 into r2
> -	ldrh	r2, [r4, #ARM_IDLECT2_ASM_OFFSET & 0xff]
> -	mov	r5, #OMAP730_IDLECT2_SLEEP_VAL & 0xff
> -	orr	r5, r5, #OMAP730_IDLECT2_SLEEP_VAL & 0xff00
> -	strh	r5, [r4, #ARM_IDLECT2_ASM_OFFSET & 0xff]
> -
> -	@ request ARM idle
> -	@ get ARM_IDLECT1 into r1
> -	ldrh	r1, [r4, #ARM_IDLECT1_ASM_OFFSET & 0xff]
> -	orr	r3, r1, #OMAP730_IDLE_LOOP_REQUEST & 0xffff
> -	strh	r3, [r4, #ARM_IDLECT1_ASM_OFFSET & 0xff]
> -
> -	mov	r5, #IDLE_WAIT_CYCLES & 0xff
> -	orr	r5, r5, #IDLE_WAIT_CYCLES & 0xff00
> -l_730:	subs	r5, r5, #1
> -	bne	l_730
> -/*
> - * Let's wait for the next clock tick to wake us up.
> - */
> -	mov	r0, #0
> -	mcr	p15, 0, r0, c7, c0, 4		@ wait for interrupt
> -/*
> - * omap730_idle_loop_suspend()'s resume point.
> - *
> - * It will just start executing here, so we'll restore stuff from the
> - * stack, reset the ARM_IDLECT1 and ARM_IDLECT2.
> - */
> -
> -	@ restore ARM_IDLECT1 and ARM_IDLECT2 and return
> -	@ r1 has ARM_IDLECT1 and r2 still has ARM_IDLECT2
> -	strh	r2, [r4, #ARM_IDLECT2_ASM_OFFSET & 0xff]
> -	strh	r1, [r4, #ARM_IDLECT1_ASM_OFFSET & 0xff]
> -
> -	ldmfd	sp!, {r0 - r12, pc}		@ restore regs and return
> -
> -ENTRY(omap730_idle_loop_suspend_sz)
> -	.word	. - omap730_idle_loop_suspend
> -#endif /* CONFIG_ARCH_OMAP730 */
> -
> -#ifdef CONFIG_ARCH_OMAP15XX
> -ENTRY(omap1510_idle_loop_suspend)
> -
> -	stmfd	sp!, {r0 - r12, lr}		@ save registers on stack
> -
> -	@ load base address of ARM_IDLECT1 and ARM_IDLECT2
> -	mov	r4, #CLKGEN_REG_ASM_BASE & 0xff000000
> -	orr	r4, r4, #CLKGEN_REG_ASM_BASE & 0x00ff0000
> -	orr	r4, r4, #CLKGEN_REG_ASM_BASE & 0x0000ff00
> -
> -	@ turn off clock domains
> -	@ get ARM_IDLECT2 into r2
> -	ldrh	r2, [r4, #ARM_IDLECT2_ASM_OFFSET & 0xff]
> -	mov	r5, #OMAP1510_IDLE_CLOCK_DOMAINS & 0xff
> -	orr	r5, r5, #OMAP1510_IDLE_CLOCK_DOMAINS & 0xff00
> -	strh	r5, [r4, #ARM_IDLECT2_ASM_OFFSET & 0xff]
> -
> -	@ request ARM idle
> -	@ get ARM_IDLECT1 into r1
> -	ldrh	r1, [r4, #ARM_IDLECT1_ASM_OFFSET & 0xff]
> -	orr	r3, r1, #OMAP1510_IDLE_LOOP_REQUEST & 0xffff
> -	strh	r3, [r4, #ARM_IDLECT1_ASM_OFFSET & 0xff]
> -
> -	mov	r5, #IDLE_WAIT_CYCLES & 0xff
> -	orr	r5, r5, #IDLE_WAIT_CYCLES & 0xff00
> -l_1510:	subs	r5, r5, #1
> -	bne	l_1510
> -/*
> - * Let's wait for the next clock tick to wake us up.
> - */
> -	mov	r0, #0
> -	mcr	p15, 0, r0, c7, c0, 4		@ wait for interrupt
> -/*
> - * omap1510_idle_loop_suspend()'s resume point.
> - *
> - * It will just start executing here, so we'll restore stuff from the
> - * stack, reset the ARM_IDLECT1 and ARM_IDLECT2.
> - */
> -
> -	@ restore ARM_IDLECT1 and ARM_IDLECT2 and return
> -	@ r1 has ARM_IDLECT1 and r2 still has ARM_IDLECT2
> -	strh	r2, [r4, #ARM_IDLECT2_ASM_OFFSET & 0xff]
> -	strh	r1, [r4, #ARM_IDLECT1_ASM_OFFSET & 0xff]
> -
> -	ldmfd	sp!, {r0 - r12, pc}		@ restore regs and return
> -
> -ENTRY(omap1510_idle_loop_suspend_sz)
> -	.word	. - omap1510_idle_loop_suspend
> -#endif /* CONFIG_ARCH_OMAP15XX */
> -
> -#if defined(CONFIG_ARCH_OMAP16XX)
> -ENTRY(omap1610_idle_loop_suspend)
> -
> -	stmfd	sp!, {r0 - r12, lr}		@ save registers on stack
> -
> -	@ load base address of ARM_IDLECT1 and ARM_IDLECT2
> -	mov	r4, #CLKGEN_REG_ASM_BASE & 0xff000000
> -	orr	r4, r4, #CLKGEN_REG_ASM_BASE & 0x00ff0000
> -	orr	r4, r4, #CLKGEN_REG_ASM_BASE & 0x0000ff00
> -
> -	@ turn off clock domains
> -	@ get ARM_IDLECT2 into r2
> -	ldrh	r2, [r4, #ARM_IDLECT2_ASM_OFFSET & 0xff]
> -	mov	r5, #OMAP1610_IDLECT2_SLEEP_VAL & 0xff
> -	orr	r5, r5, #OMAP1610_IDLECT2_SLEEP_VAL & 0xff00
> -	strh	r5, [r4, #ARM_IDLECT2_ASM_OFFSET & 0xff]
> -
> -	@ request ARM idle
> -	@ get ARM_IDLECT1 into r1
> -	ldrh	r1, [r4, #ARM_IDLECT1_ASM_OFFSET & 0xff]
> -	orr	r3, r1, #OMAP1610_IDLE_LOOP_REQUEST & 0xffff
> -	strh	r3, [r4, #ARM_IDLECT1_ASM_OFFSET & 0xff]
> -
> -	mov	r5, #IDLE_WAIT_CYCLES & 0xff
> -	orr	r5, r5, #IDLE_WAIT_CYCLES & 0xff00
> -l_1610:	subs	r5, r5, #1
> -	bne	l_1610
> -/*
> - * Let's wait for the next clock tick to wake us up.
> - */
> -	mov	r0, #0
> -	mcr	p15, 0, r0, c7, c0, 4		@ wait for interrupt
> -/*
> - * omap1610_idle_loop_suspend()'s resume point.
> - *
> - * It will just start executing here, so we'll restore stuff from the
> - * stack, reset the ARM_IDLECT1 and ARM_IDLECT2.
> - */
> -
> -	@ restore ARM_IDLECT1 and ARM_IDLECT2 and return
> -	@ r1 has ARM_IDLECT1 and r2 still has ARM_IDLECT2
> -	strh	r2, [r4, #ARM_IDLECT2_ASM_OFFSET & 0xff]
> -	strh	r1, [r4, #ARM_IDLECT1_ASM_OFFSET & 0xff]
> -
> -	ldmfd	sp!, {r0 - r12, pc}		@ restore regs and return
> -
> -ENTRY(omap1610_idle_loop_suspend_sz)
> -	.word	. - omap1610_idle_loop_suspend
> -#endif /* CONFIG_ARCH_OMAP16XX */
>  
>  /*
>   * Forces OMAP into deep sleep state

      parent reply	other threads:[~2007-12-16 16:06 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-12-16  7:57 [PATCH] Remove omap_sram_idle() Vivek Kutal
2007-12-16 14:44 ` Woodruff, Richard
2007-12-16 15:11   ` Igor Stoppa
2007-12-17  6:24   ` Vivek Kutal
2007-12-17 18:25     ` Tony Lindgren
2007-12-16 16:06 ` Dirk Behme [this message]

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=47654CF3.4010001@googlemail.com \
    --to=dirk.behme@googlemail.com \
    --cc=linux-omap-open-source@linux.omap.com \
    --cc=linux-omap@vger.kernel.org \
    --cc=vivek.kutal@celunite.com \
    /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: link
Be 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.