[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