Message ID | 1352193483.8788.43.camel@sokoban (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Tero Kristo <t-kristo@ti.com> writes: > Hi Kevin, > > On Mon, 2012-11-05 at 14:23 -0800, Kevin Hilman wrote: >> Hi Tero, >> >> Tero Kristo <t-kristo@ti.com> writes: >> >> > Hi, >> > >> > Changes compared to previous version: >> > - rebased on top of 3.7-rc1 >> > - applies on top of latest func pwrst code (v6) >> > - added back patch #1 to this set (it wasn't queued yet after all) >> > - added patch #7 for fixing a bug in the functional pwrst code >> > - added patch #8 for fixing a regression with MUSB PHY power handling >> > (not quite sure if this is the correct way to fix this or not) >> > >> > Tested with omap4460 gp panda + omap4430 emu blaze boards, with cpuidle + >> > suspend. >> > >> > Branch also available here: >> > git://gitorious.org/~kristo/omap-pm/omap-pm-work.git >> > branch: mainline-3.7-rc1-omap4-ret-v9 >> >> I tested this branch on 4430/Panda and 4460/Panda-ES and I'm seeing >> several domains not hitting target power state in suspend[1]. >> >> Am I missing some other fixes? Using omap2plus_defconfig, I tried your >> branch alone, and merged with v3.7-rc4, and I get the same errors. [...] > This looks like a combination of boot loader/kernel problems. My guess > is that l3init is probably held on by the USB, and both ivahd / tesla > are held on by some DSP/IVA modules which are not idling properly. > > The last patch in this set should fix the USB problems at least > partially, but also the USB DPLL itself might be in wrong state, > attached patch might help for that one and get l3init to idle. > > For DSP I don't have a patch right now, what is the boot loader you are > using? (Can you provide git / commit / config info?) I was using mainline u-boot at tag v2012.04.01 when I saw the errors. To check the bootloader, I upgraded to the latest mainline tag (v2012.10) and the problems are gone on both 4430/Panda and 4460/Panda-ES... Interesting. That suggests that there's still some kernel assumptions/dependencies on the bootloader that need to be addressed. Kevin -- 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
On Tue, 2012-11-06 at 13:19 -0800, Kevin Hilman wrote: > Tero Kristo <t-kristo@ti.com> writes: > > > Hi Kevin, > > > > On Mon, 2012-11-05 at 14:23 -0800, Kevin Hilman wrote: > >> Hi Tero, > >> > >> Tero Kristo <t-kristo@ti.com> writes: > >> > >> > Hi, > >> > > >> > Changes compared to previous version: > >> > - rebased on top of 3.7-rc1 > >> > - applies on top of latest func pwrst code (v6) > >> > - added back patch #1 to this set (it wasn't queued yet after all) > >> > - added patch #7 for fixing a bug in the functional pwrst code > >> > - added patch #8 for fixing a regression with MUSB PHY power handling > >> > (not quite sure if this is the correct way to fix this or not) > >> > > >> > Tested with omap4460 gp panda + omap4430 emu blaze boards, with cpuidle + > >> > suspend. > >> > > >> > Branch also available here: > >> > git://gitorious.org/~kristo/omap-pm/omap-pm-work.git > >> > branch: mainline-3.7-rc1-omap4-ret-v9 > >> > >> I tested this branch on 4430/Panda and 4460/Panda-ES and I'm seeing > >> several domains not hitting target power state in suspend[1]. > >> > >> Am I missing some other fixes? Using omap2plus_defconfig, I tried your > >> branch alone, and merged with v3.7-rc4, and I get the same errors. > > [...] > > > This looks like a combination of boot loader/kernel problems. My guess > > is that l3init is probably held on by the USB, and both ivahd / tesla > > are held on by some DSP/IVA modules which are not idling properly. > > > > The last patch in this set should fix the USB problems at least > > partially, but also the USB DPLL itself might be in wrong state, > > attached patch might help for that one and get l3init to idle. > > > > For DSP I don't have a patch right now, what is the boot loader you are > > using? (Can you provide git / commit / config info?) > > I was using mainline u-boot at tag v2012.04.01 when I saw the errors. > > To check the bootloader, I upgraded to the latest mainline tag > (v2012.10) and the problems are gone on both 4430/Panda and > 4460/Panda-ES... Interesting. > > That suggests that there's still some kernel assumptions/dependencies on > the bootloader that need to be addressed. I am not surprised of that, the all so common bootloader madness hits again. Anyway, I can try with the bootloader tag you used hopefully next week and see if I can figure out something. The l3init problem can probably be fixed rather easily if it is because of the USB, but the tesla / ivahd might be more problematic... last time I saw that problem I wasn't able to recover from the situation without power on reset... bootloader took the tesla out of reset and it seemed impossible to put it back to idle after that. I tried resetting the DSP but it didn't help. Also, I didn't find a bootmode register similar to what omap3 has. -Tero -- 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
On Tue, 2012-11-06 at 13:19 -0800, Kevin Hilman wrote: > Tero Kristo <t-kristo@ti.com> writes: > > > Hi Kevin, > > > > On Mon, 2012-11-05 at 14:23 -0800, Kevin Hilman wrote: > >> Hi Tero, > >> > >> Tero Kristo <t-kristo@ti.com> writes: > >> > >> > Hi, > >> > > >> > Changes compared to previous version: > >> > - rebased on top of 3.7-rc1 > >> > - applies on top of latest func pwrst code (v6) > >> > - added back patch #1 to this set (it wasn't queued yet after all) > >> > - added patch #7 for fixing a bug in the functional pwrst code > >> > - added patch #8 for fixing a regression with MUSB PHY power handling > >> > (not quite sure if this is the correct way to fix this or not) > >> > > >> > Tested with omap4460 gp panda + omap4430 emu blaze boards, with cpuidle + > >> > suspend. > >> > > >> > Branch also available here: > >> > git://gitorious.org/~kristo/omap-pm/omap-pm-work.git > >> > branch: mainline-3.7-rc1-omap4-ret-v9 > >> > >> I tested this branch on 4430/Panda and 4460/Panda-ES and I'm seeing > >> several domains not hitting target power state in suspend[1]. > >> > >> Am I missing some other fixes? Using omap2plus_defconfig, I tried your > >> branch alone, and merged with v3.7-rc4, and I get the same errors. > > [...] > > > This looks like a combination of boot loader/kernel problems. My guess > > is that l3init is probably held on by the USB, and both ivahd / tesla > > are held on by some DSP/IVA modules which are not idling properly. > > > > The last patch in this set should fix the USB problems at least > > partially, but also the USB DPLL itself might be in wrong state, > > attached patch might help for that one and get l3init to idle. > > > > For DSP I don't have a patch right now, what is the boot loader you are > > using? (Can you provide git / commit / config info?) > > I was using mainline u-boot at tag v2012.04.01 when I saw the errors. > > To check the bootloader, I upgraded to the latest mainline tag > (v2012.10) and the problems are gone on both 4430/Panda and > 4460/Panda-ES... Interesting. > > That suggests that there's still some kernel assumptions/dependencies on > the bootloader that need to be addressed. After a little bit of looking into this, this is pretty similar to what I was working on quite a while back once I tried to get the core ret work with mainline kernel. I ended up sending patches against the boot-loader as there wasn't a readily visible solution to some of the issues on kernel side => so now if you update the u-boot, it gets fixed. I am seeing (at least) following subsystems being non-idle with the old bootloader: - M3 cortex (stuck in transition) - DSP (stuck in transition) - SL2IF (stuck in transition) - FSUSB (stuck in transition) ...but I am not aware of any way to get these to working properly from this state without POR. Some of them probably require firmware to be loaded and letting them out of reset also (M3 / DSP.) Benoit, do you have any clues? -Tero -- 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
Tero Kristo <t-kristo@ti.com> writes: > On Tue, 2012-11-06 at 13:19 -0800, Kevin Hilman wrote: >> Tero Kristo <t-kristo@ti.com> writes: >> >> > Hi Kevin, >> > >> > On Mon, 2012-11-05 at 14:23 -0800, Kevin Hilman wrote: >> >> Hi Tero, >> >> >> >> Tero Kristo <t-kristo@ti.com> writes: >> >> >> >> > Hi, >> >> > >> >> > Changes compared to previous version: >> >> > - rebased on top of 3.7-rc1 >> >> > - applies on top of latest func pwrst code (v6) >> >> > - added back patch #1 to this set (it wasn't queued yet after all) >> >> > - added patch #7 for fixing a bug in the functional pwrst code >> >> > - added patch #8 for fixing a regression with MUSB PHY power handling >> >> > (not quite sure if this is the correct way to fix this or not) >> >> > >> >> > Tested with omap4460 gp panda + omap4430 emu blaze boards, with cpuidle + >> >> > suspend. >> >> > >> >> > Branch also available here: >> >> > git://gitorious.org/~kristo/omap-pm/omap-pm-work.git >> >> > branch: mainline-3.7-rc1-omap4-ret-v9 >> >> >> >> I tested this branch on 4430/Panda and 4460/Panda-ES and I'm seeing >> >> several domains not hitting target power state in suspend[1]. >> >> >> >> Am I missing some other fixes? Using omap2plus_defconfig, I tried your >> >> branch alone, and merged with v3.7-rc4, and I get the same errors. >> >> [...] >> >> > This looks like a combination of boot loader/kernel problems. My guess >> > is that l3init is probably held on by the USB, and both ivahd / tesla >> > are held on by some DSP/IVA modules which are not idling properly. >> > >> > The last patch in this set should fix the USB problems at least >> > partially, but also the USB DPLL itself might be in wrong state, >> > attached patch might help for that one and get l3init to idle. >> > >> > For DSP I don't have a patch right now, what is the boot loader you are >> > using? (Can you provide git / commit / config info?) >> >> I was using mainline u-boot at tag v2012.04.01 when I saw the errors. >> >> To check the bootloader, I upgraded to the latest mainline tag >> (v2012.10) and the problems are gone on both 4430/Panda and >> 4460/Panda-ES... Interesting. >> >> That suggests that there's still some kernel assumptions/dependencies on >> the bootloader that need to be addressed. > > After a little bit of looking into this, this is pretty similar to what > I was working on quite a while back once I tried to get the core ret > work with mainline kernel. I ended up sending patches against the > boot-loader as there wasn't a readily visible solution to some of the > issues on kernel side => so now if you update the u-boot, it gets fixed. Yes, recent u-boots have become much more sane in what they initialze. Now, there is a bare set of "essential" clocks/pads that are configured, so that probably explains why things work better with a sane bootloader. Kevin > I am seeing (at least) following subsystems being non-idle with the old > bootloader: > - M3 cortex (stuck in transition) > - DSP (stuck in transition) > - SL2IF (stuck in transition) > - FSUSB (stuck in transition) > > ...but I am not aware of any way to get these to working properly from > this state without POR. Some of them probably require firmware to be > loaded and letting them out of reset also (M3 / DSP.) Benoit, do you > have any clues? > > -Tero -- 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
From 2bde02977db605822ee83042ebc0077ba133277e Mon Sep 17 00:00:00 2001 From: Tero Kristo <t-kristo@ti.com> Date: Thu, 21 Jun 2012 14:56:40 +0300 Subject: [PATCH 3/7] ARM: OMAP4: clock: setup USB DPLL during init The reset setup for USB DPLL does not allow idle, thus the kernel must program it during init. This puts the USB DPLL in locked mode, autoidle for it is enabled automatically later during the boot sequence. Signed-off-by: Tero Kristo <t-kristo@ti.com> --- arch/arm/mach-omap2/clock44xx_data.c | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-) diff --git a/arch/arm/mach-omap2/clock44xx_data.c b/arch/arm/mach-omap2/clock44xx_data.c index e2b701e..e28950a 100644 --- a/arch/arm/mach-omap2/clock44xx_data.c +++ b/arch/arm/mach-omap2/clock44xx_data.c @@ -3413,6 +3413,7 @@ int __init omap4xxx_clk_init(void) { struct omap_clk *c; u32 cpu_clkflg; + struct clk *dpll_usb; if (cpu_is_omap443x()) { cpu_mask = RATE_IN_4430; @@ -3456,5 +3457,12 @@ int __init omap4xxx_clk_init(void) */ clk_enable_init_clocks(); + /* + * Setup USB DPLL + */ + dpll_usb = clk_get(NULL, "dpll_usb_ck"); + + clk_set_rate(dpll_usb, 960000000); + return 0; } -- 1.7.4.1