[PATCH 0/3] ARM: OMAP2/3: DSS HWMOD fixes

Tomi Valkeinen tomi.valkeinen at ti.com
Wed Aug 22 02:24:37 EDT 2012


On Wed, 2012-07-04 at 06:11 -0600, Paul Walmsley wrote:
> Hi Tomi
> 
> On Wed, 27 Jun 2012, Paul Walmsley wrote:
> 
> > On Thu, 10 May 2012, Tomi Valkeinen wrote:
> > 
> > > These patches fix DSS hwmod data related to sysc flags. I haven't seen any
> > > problem produced by these missing bits, but by looking at the TRM it's clear
> > > that they should be defined.
> > > 
> > > However, applying these will cause additional warnings to show during boot:
> > > 
> > > omap_hwmod: dss_dispc: softreset failed (waited 10000 usec)
> > > omap_hwmod: dss_rfbi: softreset failed (waited 10000 usec)
> > > 
> > > Most likely the softreset fails even now, but as there's no check to verify it,
> > > no warnings are visible.
> > > 
> > > I think the reason for the failing softreset is the same problem as we have on
> > > OMAP4: dss_core hwmod should be enabled before other dss hwmods can be enabled
> > > (and reset).
> > 
> > Thanks, queued for 3.6.
> > 
> > Not sure what to do about the softreset issues at the moment, due to 
> > competing priorities.  But for sure the data should match the hardware.
> 
> I've dropped these for 3.6 since they cause a PM regression during a 
> system suspend test:
> 
> [   39.721282] Powerdomain (dss_pwrdm) didn't enter target state 1
> 
> Probably before we can pull these in, we need to figure out what's going 
> on there.

I was testing with omap3 overo, on v3.6-rc2 +
git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
fixes-for-linus

I don't seem to be able to enter full suspend even without dss. This is
with DSS compiled as modules, and not loaded:

# echo mem > /sys/power/state 
[   21.697265] PM: Syncing filesystems ... done.
[   21.711059] Freezing user space processes ... (elapsed 0.02 seconds) done.
[   21.740722] Freezing remaining freezable tasks ... (elapsed 0.02 seconds) done.
[   21.911407] PM: suspend of devices complete after 134.399 msecs
[   21.921874] PM: late suspend of devices complete after 4.150 msecs
[   21.934753] PM: noirq suspend of devices complete after 6.256 msecs
[   21.941467] Disabling non-boot CPUs ...
[   24.639495] Powerdomain (iva2_pwrdm) didn't enter target state 1
[   24.645812] Powerdomain (dss_pwrdm) didn't enter target state 1
[   24.652008] Powerdomain (per_pwrdm) didn't enter target state 1
[   24.658233] Powerdomain (core_pwrdm) didn't enter target state 1
[   24.664550] Powerdomain (usbhost_pwrdm) didn't enter target state 1
[   24.671112] Could not enter target state in pm_suspend
[   24.679901] PM: noirq resume of devices complete after 3.173 msecs
[   24.691101] PM: early resume of devices complete after 2.716 msecs
[   25.086517] PM: resume of devices complete after 388.793 msecs
[   25.097564] Restarting tasks ... done.

There's also still the old bug that happens if I have USB ethernet
gadget as built-in:

# echo mem > /sys/power/state 
[   25.011657] PM: Syncing filesystems ... done.
[   25.026184] Freezing user space processes ... (elapsed 0.02 seconds) done.
[   25.055145] Freezing remaining freezable tasks ... (elapsed 0.02 seconds) done.
[   25.086303] Suspending console(s) (use no_console_suspend to debug)
[   25.264953] PM: suspend of devices complete after 166.717 msecs
[   25.269348] PM: late suspend of devices complete after 4.394 msecs
[   25.275482] twl: i2c_read failed to transfer all messages
[   25.275543] twl: i2c_write failed to transfer all messages
[   25.275604] twl: i2c_write failed to transfer all messages
[   25.275634] ------------[ cut here ]------------
[   25.275665] WARNING: at drivers/usb/otg/twl4030-usb.c:360 __twl4030_phy_power+0x88/0x98()
[   25.275665] Modules linked in:
[   25.275726] [<c001b8cc>] (unwind_backtrace+0x0/0xf0) from [<c004217c>] (warn_slowpath_common+0x4c
/0x64)
[   25.275756] [<c004217c>] (warn_slowpath_common+0x4c/0x64) from [<c00421b0>] (warn_slowpath_null+0
x1c/0x24)
[   25.275787] [<c00421b0>] (warn_slowpath_null+0x1c/0x24) from [<c03babe8>] (__twl4030_phy_power+0x
88/0x98)
[   25.275787] [<c03babe8>] (__twl4030_phy_power+0x88/0x98) from [<c03bac84>] (twl4030_phy_power+0x8
c/0xf4)
[   25.275817] [<c03bac84>] (twl4030_phy_power+0x8c/0xf4) from [<c03bad90>] (twl4030_phy_suspend.clo
ne.7+0x18/0x44)
[   25.275848] [<c03bad90>] (twl4030_phy_suspend.clone.7+0x18/0x44) from [<c03bae38>] (twl4030_set_s
uspend+0x1c/0x24)
[   25.275878] [<c03bae38>] (twl4030_set_suspend+0x1c/0x24) from [<c03d92ec>] (omap2430_runtime_susp
end+0x4c/0x54)
[   25.275909] [<c03d92ec>] (omap2430_runtime_suspend+0x4c/0x54) from [<c0328b10>] (pm_generic_runti
me_suspend+0x2c/0x40)
[   25.275939] [<c0328b10>] (pm_generic_runtime_suspend+0x2c/0x40) from [<c003dcd0>] (_od_suspend_no
irq+0x34/0x68)
[   25.275939] [<c003dcd0>] (_od_suspend_noirq+0x34/0x68) from [<c0329bf0>] (dpm_run_callback.clone.
10+0x30/0xb4)
[   25.275970] [<c0329bf0>] (dpm_run_callback.clone.10+0x30/0xb4) from [<c032a3c4>] (dpm_suspend_end
+0x30c/0x514)
[   25.276000] [<c032a3c4>] (dpm_suspend_end+0x30c/0x514) from [<c00830c0>] (suspend_devices_and_ent
er+0xbc/0x2d0)
[   25.276031] [<c00830c0>] (suspend_devices_and_enter+0xbc/0x2d0) from [<c0083460>] (pm_suspend+0x1
8c/0x208)
[   25.276031] [<c0083460>] (pm_suspend+0x18c/0x208) from [<c00826f4>] (state_store+0x120/0x134)
[   25.276062] [<c00826f4>] (state_store+0x120/0x134) from [<c02c0b10>] (kobj_attr_store+0x14/0x20)
[   25.276092] [<c02c0b10>] (kobj_attr_store+0x14/0x20) from [<c0170668>] (sysfs_write_file+0x100/0x
184)
[   25.276123] [<c0170668>] (sysfs_write_file+0x100/0x184) from [<c010e238>] (vfs_write+0xb4/0x148)
[   25.276153] [<c010e238>] (vfs_write+0xb4/0x148) from [<c010e4c0>] (sys_write+0x40/0x70)
[   25.276184] [<c010e4c0>] (sys_write+0x40/0x70) from [<c0013ee0>] (ret_fast_syscall+0x0/0x3c)
[   25.276184] ---[ end trace 7ca935fb21bbfe5c ]---
[   25.276397] twl: i2c_read failed to transfer all messages
[   25.276397] VUSB1V5: failed to disable
[   25.276428] twl: i2c_read failed to transfer all messages
[   25.276428] VUSB1V8: failed to disable
[   25.276458] twl: i2c_read failed to transfer all messages
[   25.276489] VUSB3V1: failed to disable
[   25.277252] PM: noirq suspend of devices complete after 7.843 msecs
[   25.277313] Disabling non-boot CPUs ...
[   27.809631] Powerdomain (iva2_pwrdm) didn't enter target state 1
[   27.809631] Powerdomain (dss_pwrdm) didn't enter target state 1
[   27.809631] Powerdomain (per_pwrdm) didn't enter target state 1
[   27.809661] Powerdomain (core_pwrdm) didn't enter target state 1
[   27.809661] Powerdomain (usbhost_pwrdm) didn't enter target state 1
[   27.809661] Could not enter target state in pm_suspend
[   27.810699] twl: i2c_write failed to transfer all messages
[   27.810760] twl: i2c_read failed to transfer all messages
[   27.810791] twl: i2c_write failed to transfer all messages
[   27.810821] twl: i2c_write failed to transfer all messages
[   27.810852] ------------[ cut here ]------------
[   27.810882] WARNING: at drivers/usb/otg/twl4030-usb.c:360 __twl4030_phy_power+0x88/0x98()
[   27.810913] Modules linked in:
[   27.810943] [<c001b8cc>] (unwind_backtrace+0x0/0xf0) from [<c004217c>] (warn_slowpath_common+0x4c
/0x64)
[   27.810974] [<c004217c>] (warn_slowpath_common+0x4c/0x64) from [<c00421b0>] (warn_slowpath_null+0
x1c/0x24)
[   27.810974] [<c00421b0>] (warn_slowpath_null+0x1c/0x24) from [<c03babe8>] (__twl4030_phy_power+0x
88/0x98)
[   27.811004] [<c03babe8>] (__twl4030_phy_power+0x88/0x98) from [<c03bac40>] (twl4030_phy_power+0x4
8/0xf4)
[   27.811035] [<c03bac40>] (twl4030_phy_power+0x48/0xf4) from [<c03bacfc>] (__twl4030_phy_resume+0x
10/0x48)
[   27.811065] [<c03bacfc>] (__twl4030_phy_resume+0x10/0x48) from [<c03bad4c>] (twl4030_phy_resume+0
x18/0x44)
[   27.811065] [<c03bad4c>] (twl4030_phy_resume+0x18/0x44) from [<c03bae2c>] (twl4030_set_suspend+0x
10/0x24)
[   27.811096] [<c03bae2c>] (twl4030_set_suspend+0x10/0x24) from [<c03d9298>] (omap2430_runtime_resu
me+0x50/0x58)
[   27.811126] [<c03d9298>] (omap2430_runtime_resume+0x50/0x58) from [<c0328b50>] (pm_generic_runtim
e_resume+0x2c/0x40)
[   27.811157] [<c0328b50>] (pm_generic_runtime_resume+0x2c/0x40) from [<c003dc10>] (_od_resume_noir
q+0x44/0x58)
[   27.811187] [<c003dc10>] (_od_resume_noirq+0x44/0x58) from [<c0329bf0>] (dpm_run_callback.clone.1
0+0x30/0xb4)
[   27.811187] [<c0329bf0>] (dpm_run_callback.clone.10+0x30/0xb4) from [<c0329d00>] (dpm_resume_noir
q+0x8c/0x224)
[   27.811218] [<c0329d00>] (dpm_resume_noirq+0x8c/0x224) from [<c032a5d8>] (dpm_resume_start+0xc/0x
18)
[   27.811248] [<c032a5d8>] (dpm_resume_start+0xc/0x18) from [<c0083118>] (suspend_devices_and_enter
+0x114/0x2d0)
[   27.811279] [<c0083118>] (suspend_devices_and_enter+0x114/0x2d0) from [<c0083460>] (pm_suspend+0x
18c/0x208)
[   27.811279] [<c0083460>] (pm_suspend+0x18c/0x208) from [<c00826f4>] (state_store+0x120/0x134)
[   27.811309] [<c00826f4>] (state_store+0x120/0x134) from [<c02c0b10>] (kobj_attr_store+0x14/0x20)
[   27.811340] [<c02c0b10>] (kobj_attr_store+0x14/0x20) from [<c0170668>] (sysfs_write_file+0x100/0x
184)
[   27.811370] [<c0170668>] (sysfs_write_file+0x100/0x184) from [<c010e238>] (vfs_write+0xb4/0x148)
[   27.811401] [<c010e238>] (vfs_write+0xb4/0x148) from [<c010e4c0>] (sys_write+0x40/0x70)
[   27.811401] [<c010e4c0>] (sys_write+0x40/0x70) from [<c0013ee0>] (ret_fast_syscall+0x0/0x3c)
[   27.811431] ---[ end trace 7ca935fb21bbfe5d ]---
[   27.811462] twl: i2c_read failed to transfer all messages
[   27.811492] twl: i2c_write failed to transfer all messages
[   27.811523] twl: i2c_read failed to transfer all messages
[   27.811553] twl: i2c_write failed to transfer all messages
[   27.811614] twl: i2c_write failed to transfer all messages
[   27.811645] twl: i2c_write failed to transfer all messages
[   27.811676] twl: i2c_read failed to transfer all messages
[   27.814544] PM: noirq resume of devices complete after 4.638 msecs
[   27.819000] PM: early resume of devices complete after 2.960 msecs
[   28.240875] PM: resume of devices complete after 421.783 msecs
[   28.878845] Restarting tasks ... done.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20120822/3d316dd3/attachment-0001.sig>


More information about the linux-arm-kernel mailing list