[PATCH] ARM: OMAP3: Fix iva2_pwrdm settings for 3703

Mark A. Greer mgreer at animalcreek.com
Tue May 21 11:56:12 EDT 2013


On Mon, May 20, 2013 at 03:05:40PM -0700, Tony Lindgren wrote:
> * Yegor Yefremov <yegorslists at googlemail.com> [130517 14:34]:
> > On Fri, May 17, 2013 at 8:56 PM, Mark A. Greer <mgreer at animalcreek.com> wrote:
> > > On Thu, May 16, 2013 at 12:19:20PM +0200, Yegor Yefremov wrote:
> > >> On 15.05.2013 23:50, Mark A. Greer wrote:
> > >> > On Wed, May 15, 2013 at 10:07:35AM -0700, Tony Lindgren wrote:
> > >
> > >> >> Mark, do you have some omap3 with no iva (other than am3703) to test the
> > >> >> idle states with?
> > >> >
> > >> > I have an am35xx which isn't supposed to have an IVA so I can test with it
> > >> > (although, I'm not sure how well the kernel works on the am35xx these days).
> > >> >
> > >> > I'm a bit busy today but I'll try booting the am35xx tomorrow and if it
> > >> > comes up, see what I can figure out.
> > >>
> > >> I think this issue is relevant to am3517 as you can see from this thread: http://thread.gmane.org/gmane.linux.ports.arm.omap/97903
> > >> I could boot only with your patch http://www.spinics.net/lists/arm-kernel/msg168865.html
> > >>
> > >> I have such a system running, so if you have any other patches/ideas to test, I would do it.
> > >
> > > Yegor, since I've so far been unable to get my am3517evm to fire up, can
> > > you play around with the 3517 to see if there appears to be iva registers
> > > that can be read/written to safely?  In particular, can the code that idles
> > > the iva be run safely on an am3517?
> > 
> > I'll look into this next week. am3517 and IVA seems to be a really big
> > mystery. In the TI forum will be stated, there is no IVA:
> > http://e2e.ti.com/support/arm/sitara_arm/f/791/t/150961.aspx, but TRM
> > has various appearances of IVA2 registers, but no real
> > description/explanation of what is IVA and how to eat it.
> 
> On 3703 it looks like the whole omap3_iva_idle() reset is needed, except
> for setting the iva2 bootmode to idle. So I'm planning to merge the following
> patch with just comments update this week unless somebody has a better fix
> in mind.
> 
> Regards,
> 
> Tony
> 
> 
> From: Tony Lindgren <tony at atomide.com>
> Date: Tue, 14 May 2013 20:28:15 -0700
> Subject: [PATCH] ARM: OMAP3: Fix iva2_pwrdm settings for 3703
> 
> Commit a819c4f1 (ARM: OMAP3: PM: Only access IVA if one exists)
> changed PM to not access IVA registers on omaps that don't have
> them. Turns out we still need to idle iva2 as otherwise
> iva2_pwrdm will stay on and block deeper idle states.
> 
> It seems that the only part of the reset that may not be needed
> is the setting of the iva2 boot mode to idle. But as that register
> seems to be there and is harmless if no iva2 is on the SoC, it's
> probably safest to do the complete reset.
> 
> Signed-off-by: Tony Lindgren <tony at atomide.com>
> 
> --- a/arch/arm/mach-omap2/pm34xx.c
> +++ b/arch/arm/mach-omap2/pm34xx.c
> @@ -546,8 +546,10 @@ static void __init prcm_setup_regs(void)
>  	/* Clear any pending PRCM interrupts */
>  	omap2_prm_write_mod_reg(0, OCP_MOD, OMAP3_PRM_IRQSTATUS_MPU_OFFSET);
>  
> -	if (omap3_has_iva())
> -		omap3_iva_idle();
> +	/*
> +	 * We need to idle iva2_pwrdm even on am3703 with no iva2.
> +	 */
> +	omap3_iva_idle();
>  
>  	omap3_d2d_idle();
>  }

I think that patch will work fine.  That's basically how that piece of code
was before a819c4f16 (ARM: OMAP3: PM: Only access IVA if one exists) which
ran fine on the am3517 and am3703 (AFAIK).  In addition, Yegor has verified
that the am3517 still works so...

Acked-by: Mark A. Greer <mgreer at animalcreek.com>



More information about the linux-arm-kernel mailing list