All of lore.kernel.org
 help / color / mirror / Atom feed
* 3.5-rc3: vdd_mpu_iva warnings
@ 2012-06-18 10:39 Joe Woodward
  2012-06-27 15:22 ` Joe Woodward
                   ` (2 more replies)
  0 siblings, 3 replies; 14+ messages in thread
From: Joe Woodward @ 2012-06-18 10:39 UTC (permalink / raw)
  To: linux-omap

I have a GUMSTIX Overo AirSTORM module (AM3703-based).

When booting the kernel the following features are listed:
OMAP3630 ES1.2 (l2cache neon isp 192mhz_clk )

After booting I get the following (repeating every few seconds):

[   81.122558] voltdm_scale: No voltage scale API registered for vdd_mpu_iva
[   81.130340] platform mpu.0: omap_target: unable to scale voltage up.

I have SmartReflex enabled, and the same defconfig used to work on 3.4.
CONFIG_OMAP_SMARTREFLEX=y
CONFIG_OMAP_SMARTREFLEX_CLASS3=y

I'm assuming this is because of changes to twl-common.c to add the "IVA" voltage 
domain, but on the OMAP I have there is no IVA - hence the warnings?

Is there a known fix for this (disabling SmartReflex seems to make no difference)?

Cheers,
Joe Woodward



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: 3.5-rc3: vdd_mpu_iva warnings
  2012-06-18 10:39 3.5-rc3: vdd_mpu_iva warnings Joe Woodward
@ 2012-06-27 15:22 ` Joe Woodward
  2012-07-02 21:18 ` Kevin Hilman
  2012-07-02 21:19 ` Kevin Hilman
  2 siblings, 0 replies; 14+ messages in thread
From: Joe Woodward @ 2012-06-27 15:22 UTC (permalink / raw)
  To: Joe Woodward, linux-omap

Not wanting to be a pest, but I've just tried 3.5-rc4 and the same warnings exist.

I didn't get any response, so am I really the only person seeing this?

Cheers,
Joe Woodward

-----Original Message-----
From: "Joe Woodward" <jw@terrafix.co.uk>
To: "linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>
Date: Mon, 18 Jun 2012 11:39:57 +0100
Subject: 3.5-rc3: vdd_mpu_iva warnings

> I have a GUMSTIX Overo AirSTORM module (AM3703-based).
> 
> When booting the kernel the following features are listed:
> OMAP3630 ES1.2 (l2cache neon isp 192mhz_clk )
> 
> After booting I get the following (repeating every few seconds):
> 
> [   81.122558] voltdm_scale: No voltage scale API registered for
> vdd_mpu_iva
> [   81.130340] platform mpu.0: omap_target: unable to scale voltage up.
> 
> I have SmartReflex enabled, and the same defconfig used to work on 3.4.
> CONFIG_OMAP_SMARTREFLEX=y
> CONFIG_OMAP_SMARTREFLEX_CLASS3=y
> 
> I'm assuming this is because of changes to twl-common.c to add the
> "IVA" voltage 
> domain, but on the OMAP I have there is no IVA - hence the warnings?
> 
> Is there a known fix for this (disabling SmartReflex seems to make no
> difference)?
> 
> Cheers,
> Joe Woodward
> 
> 
> --
> 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



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: 3.5-rc3: vdd_mpu_iva warnings
  2012-06-18 10:39 3.5-rc3: vdd_mpu_iva warnings Joe Woodward
  2012-06-27 15:22 ` Joe Woodward
@ 2012-07-02 21:18 ` Kevin Hilman
  2012-07-02 21:19 ` Kevin Hilman
  2 siblings, 0 replies; 14+ messages in thread
From: Kevin Hilman @ 2012-07-02 21:18 UTC (permalink / raw)
  To: Joe Woodward; +Cc: linux-omap

"Joe Woodward" <jw@terrafix.co.uk> writes:

> I have a GUMSTIX Overo AirSTORM module (AM3703-based).
>
> When booting the kernel the following features are listed:
> OMAP3630 ES1.2 (l2cache neon isp 192mhz_clk )
>
> After booting I get the following (repeating every few seconds):
>
> [   81.122558] voltdm_scale: No voltage scale API registered for vdd_mpu_iva
> [   81.130340] platform mpu.0: omap_target: unable to scale voltage up.

Do you have CPUfreq enabled?  I suspect so. 

With CPUfreq enabled, this seems to be happening once on boot, even on
platforms with an IVA (like my Overo FireSTORM).  But I'm very curious
how it is happening every few seconds on your platform.  Do you have the
CPUfreq ondemand governor running with an active load?

The boot-time warning seems to be an init ordering problem.  The CPUfreq
driver (upon registration) seems to try to set the frequency (and
voltage), and this is happening before the voltage layer is fully
initialized.  I'm looking into this one.

Why it would continue to happen after boot though is a bit of a
mystery.  I'm looking into that now.

> I have SmartReflex enabled, and the same defconfig used to work on 3.4.
> CONFIG_OMAP_SMARTREFLEX=y
> CONFIG_OMAP_SMARTREFLEX_CLASS3=y
>
> I'm assuming this is because of changes to twl-common.c to add the "IVA" voltage 
> domain, but on the OMAP I have there is no IVA - hence the warnings?

I don't think it's related to IVA.  The voltage domain contains both the
MPU and the IVA (if present), so that voltage domain will be present on
all SoCs in this family.

> Is there a known fix for this (disabling SmartReflex seems to make no difference)?

I don't think it's related to SmartReflex either.

Kevin

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: 3.5-rc3: vdd_mpu_iva warnings
  2012-06-18 10:39 3.5-rc3: vdd_mpu_iva warnings Joe Woodward
  2012-06-27 15:22 ` Joe Woodward
  2012-07-02 21:18 ` Kevin Hilman
@ 2012-07-02 21:19 ` Kevin Hilman
  2012-07-03  8:37   ` 3.5-rc3: PM/DSS broken (was vdd_mpu_iva warnings) Joe Woodward
  2 siblings, 1 reply; 14+ messages in thread
From: Kevin Hilman @ 2012-07-02 21:19 UTC (permalink / raw)
  To: Joe Woodward; +Cc: linux-omap

"Joe Woodward" <jw@terrafix.co.uk> writes:

> I have a GUMSTIX Overo AirSTORM module (AM3703-based).
>
> When booting the kernel the following features are listed:
> OMAP3630 ES1.2 (l2cache neon isp 192mhz_clk )
>
> After booting I get the following (repeating every few seconds):
>
> [   81.122558] voltdm_scale: No voltage scale API registered for vdd_mpu_iva
> [   81.130340] platform mpu.0: omap_target: unable to scale voltage up.
>

BTW, after boot, can you run the shell snippet below.  This should run
the board through MPU DVFS for all the available OPPs:

Thanks,

Kevin


cd /sys/devices/system/cpu/cpu0/cpufreq
cat scaling_available_frequencies
cat scaling_cur_freq
echo userspace > scaling_governor

mpu_reg=regulator.3
for freq in `cat scaling_available_frequencies`; do
  echo ${freq} > scaling_setspeed
  echo -n "current freq: "
  cat scaling_cur_freq
  echo -n "current voltage: "
  cat /sys/class/regulator/${mpu_reg}/microvolts
  sleep 2
done

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: 3.5-rc3: PM/DSS broken (was vdd_mpu_iva warnings)
  2012-07-02 21:19 ` Kevin Hilman
@ 2012-07-03  8:37   ` Joe Woodward
  2012-07-03  8:59     ` Archit Taneja
  0 siblings, 1 reply; 14+ messages in thread
From: Joe Woodward @ 2012-07-03  8:37 UTC (permalink / raw)
  To: Kevin Hilman, tomi.valkeinen; +Cc: linux-omap

-----Original Message-----
From: Kevin Hilman <khilman@ti.com>
To: "Joe Woodward" <jw@terrafix.co.uk>
Cc: "linux-omap\@vger.kernel.org" <linux-omap@vger.kernel.org>
Date: Mon, 02 Jul 2012 14:19:49 -0700
Subject: Re: 3.5-rc3: vdd_mpu_iva warnings

> "Joe Woodward" <jw@terrafix.co.uk> writes:
> 
> > I have a GUMSTIX Overo AirSTORM module (AM3703-based).
> >
> > When booting the kernel the following features are listed:
> > OMAP3630 ES1.2 (l2cache neon isp 192mhz_clk )
> >
> > After booting I get the following (repeating every few seconds):
> >
> > [   81.122558] voltdm_scale: No voltage scale API registered for
> vdd_mpu_iva
> > [   81.130340] platform mpu.0: omap_target: unable to scale voltage
> up.
> >
> 
> BTW, after boot, can you run the shell snippet below.  This should run
> the board through MPU DVFS for all the available OPPs:
> 
> Thanks,
> 
> Kevin
> 

First, apologies...

I had added a GPIO control to board-overo.c, and after cleaning and
starting again I realised that in the process I had deleted an
important line.

So, the warnings I posted are not present (i.e. the power domains
do get registered), sorry for the noise!

But, I still have problems with 3.5-rc5 with system suspend and DSS.

I've started again with a completely clean area, built using
omap2plus_defconfig with the following changes (DSS built-in, and
use of devtmpfs and SquashFS):
CONFIG_OMAP2_DSS=y
CONFIG_OMAP2_VRAM_SIZE=4
CONFIG_FB_OMAP2=y

CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_SQUASHFS=y

I also modified board-overo.c to switch from DVI to LCD as the default device:
static struct omap_dss_board_info overo_dss_data = {
	.num_devices	= ARRAY_SIZE(overo_dss_devices),
	.devices	= overo_dss_devices,
//	.default_device	= &overo_dvi_device,
	.default_device	= &overo_lcd43_device,
};

And when suspending I get:

# echo mem > /sys/power/state
[   20.138214] PM: Syncing filesystems ... done.
[   20.158477] Freezing user space processes ... (elapsed 0.01 seconds) done.
[   20.184509] Freezing remaining freezable tasks ... (elapsed 0.02 seconds) done.
[   20.215698] Suspending console(s) (use no_console_suspend to debug)
[   20.804626] Modules linked in:
[   20.401611] PM: suspend of devices complete after 175.963 msecs
[   20.404388] PM: late suspend of devices complete after 2.777 msecs
[   20.409301] PM: noirq suspend of devices complete after 4.882 msecs
[   20.409362] Disabling non-boot CPUs ...
[   20.428527] Powerdomain (core_pwrdm) didn't enter target state 1
[   20.428558] Could not enter target state in pm_suspend
[   20.431060] PM: noirq resume of devices complete after 2.319 msecs
[   20.434173] PM: early resume of devices complete after 1.739 msecs
[   20.803344] mmc1: error -110 during resume (card was removed?)
[   20.804595] ------------[ cut here ]------------
[   20.804626] WARNING: at drivers/video/omap2/dss/dispc.c:376 dispc_runtime_get+0x50/0x64()
[   20.804687] [<c001b61c>] (unwind_backtrace+0x0/0xf0) from [<c00401fc>] (warn_slowpath_common+0x4c/0x64)
[   20.804718] [<c00401fc>] (warn_slowpath_common+0x4c/0x64) from [<c0040230>] (warn_slowpath_null+0x1c/0x24)
[   20.804718] [<c0040230>] (warn_slowpath_null+0x1c/0x24) from [<c02a72d4>] (dispc_runtime_get+0x50/0x64)
[   20.804748] [<c02a72d4>] (dispc_runtime_get+0x50/0x64) from [<c02b2d80>] (omapdss_dpi_display_enable+0x48/0x230)
[   20.804779] [<c02b2d80>] (omapdss_dpi_display_enable+0x48/0x230) from [<c02c9a28>] (generic_dpi_panel_power_on+0x2c/0x78)
[   20.804779] [<c02c9a28>] (generic_dpi_panel_power_on+0x2c/0x78) from [<c02c9a80>] (generic_dpi_panel_resume+0xc/0x1c)
[   20.804809] [<c02c9a80>] (generic_dpi_panel_resume+0xc/0x1c) from [<c02ae28c>] (dss_resume_device+0x28/0x40)
[   20.804840] [<c02ae28c>] (dss_resume_device+0x28/0x40) from [<c02fc848>] (bus_for_each_dev+0x50/0x7c)
[   20.804870] [<c02fc848>] (bus_for_each_dev+0x50/0x7c) from [<c02ff530>] (platform_pm_resume+0x2c/0x50)
[   20.804901] [<c02ff530>] (platform_pm_resume+0x2c/0x50) from [<c0303aa4>] (dpm_run_callback.clone.7+0x30/0xb0)
[   20.804901] [<c0303aa4>] (dpm_run_callback.clone.7+0x30/0xb0) from [<c0304828>] (device_resume+0xc8/0x188)
[   20.804931] [<c0304828>] (device_resume+0xc8/0x188) from [<c0304c50>] (dpm_resume+0xfc/0x21c)
[   20.804962] [<c0304c50>] (dpm_resume+0xfc/0x21c) from [<c0304f04>] (dpm_resume_end+0xc/0x18)
[   20.804962] [<c0304f04>] (dpm_resume_end+0xc/0x18) from [<c007ffe4>] (suspend_devices_and_enter+0x15c/0x2d0)
[   20.804992] [<c007ffe4>] (suspend_devices_and_enter+0x15c/0x2d0) from [<c00802e4>] (pm_suspend+0x18c/0x208)
[   20.805023] [<c00802e4>] (pm_suspend+0x18c/0x208) from [<c007f588>] (state_store+0x120/0x134)
[   20.805053] [<c007f588>] (state_store+0x120/0x134) from [<c026800c>] (kobj_attr_store+0x14/0x20)
[   20.805053] [<c026800c>] (kobj_attr_store+0x14/0x20) from [<c0169ff4>] (sysfs_write_file+0x100/0x184)
[   20.805084] [<c0169ff4>] (sysfs_write_file+0x100/0x184) from [<c01093fc>] (vfs_write+0xb4/0x148)
[   20.805114] [<c01093fc>] (vfs_write+0xb4/0x148) from [<c0109684>] (sys_write+0x40/0x70)
[   20.805145] [<c0109684>] (sys_write+0x40/0x70) from [<c0013d60>] (ret_fast_syscall+0x0/0x3c)
[   20.805145] ---[ end trace c7f1420c2bbb60a2 ]---
[   20.805511] dpm_run_callback(): platform_pm_resume+0x0/0x50 returns -13
[   20.805541] PM: Device omapdss failed to resume: error -13
[   20.857238] PM: resume of devices complete after 422.943 msecs
[   21.162658] Restarting tasks ... done.
sh: write error: Operation not permitted

This returns immediately.

Any ideas?

Cheers,
Joe Woodward



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: 3.5-rc3: PM/DSS broken (was vdd_mpu_iva warnings)
  2012-07-03  8:37   ` 3.5-rc3: PM/DSS broken (was vdd_mpu_iva warnings) Joe Woodward
@ 2012-07-03  8:59     ` Archit Taneja
  2012-07-03  9:12       ` Joe Woodward
  0 siblings, 1 reply; 14+ messages in thread
From: Archit Taneja @ 2012-07-03  8:59 UTC (permalink / raw)
  To: Joe Woodward; +Cc: Kevin Hilman, tomi.valkeinen, linux-omap

On Tuesday 03 July 2012 02:07 PM, Joe Woodward wrote:
> -----Original Message-----
> From: Kevin Hilman<khilman@ti.com>
> To: "Joe Woodward"<jw@terrafix.co.uk>
> Cc: "linux-omap\@vger.kernel.org"<linux-omap@vger.kernel.org>
> Date: Mon, 02 Jul 2012 14:19:49 -0700
> Subject: Re: 3.5-rc3: vdd_mpu_iva warnings
>
>> "Joe Woodward"<jw@terrafix.co.uk>  writes:
>>
>>> I have a GUMSTIX Overo AirSTORM module (AM3703-based).
>>>
>>> When booting the kernel the following features are listed:
>>> OMAP3630 ES1.2 (l2cache neon isp 192mhz_clk )
>>>
>>> After booting I get the following (repeating every few seconds):
>>>
>>> [   81.122558] voltdm_scale: No voltage scale API registered for
>> vdd_mpu_iva
>>> [   81.130340] platform mpu.0: omap_target: unable to scale voltage
>> up.
>>>
>>
>> BTW, after boot, can you run the shell snippet below.  This should run
>> the board through MPU DVFS for all the available OPPs:
>>
>> Thanks,
>>
>> Kevin
>>
>
> First, apologies...
>
> I had added a GPIO control to board-overo.c, and after cleaning and
> starting again I realised that in the process I had deleted an
> important line.
>
> So, the warnings I posted are not present (i.e. the power domains
> do get registered), sorry for the noise!
>
> But, I still have problems with 3.5-rc5 with system suspend and DSS.
>
> I've started again with a completely clean area, built using
> omap2plus_defconfig with the following changes (DSS built-in, and
> use of devtmpfs and SquashFS):
> CONFIG_OMAP2_DSS=y
> CONFIG_OMAP2_VRAM_SIZE=4
> CONFIG_FB_OMAP2=y
>
> CONFIG_DEVTMPFS=y
> CONFIG_DEVTMPFS_MOUNT=y
> CONFIG_SQUASHFS=y
>
> I also modified board-overo.c to switch from DVI to LCD as the default device:
> static struct omap_dss_board_info overo_dss_data = {
> 	.num_devices	= ARRAY_SIZE(overo_dss_devices),
> 	.devices	= overo_dss_devices,
> //	.default_device	=&overo_dvi_device,
> 	.default_device	=&overo_lcd43_device,
> };
>
> And when suspending I get:
>
> # echo mem>  /sys/power/state
> [   20.138214] PM: Syncing filesystems ... done.
> [   20.158477] Freezing user space processes ... (elapsed 0.01 seconds) done.
> [   20.184509] Freezing remaining freezable tasks ... (elapsed 0.02 seconds) done.
> [   20.215698] Suspending console(s) (use no_console_suspend to debug)
> [   20.804626] Modules linked in:
> [   20.401611] PM: suspend of devices complete after 175.963 msecs
> [   20.404388] PM: late suspend of devices complete after 2.777 msecs
> [   20.409301] PM: noirq suspend of devices complete after 4.882 msecs
> [   20.409362] Disabling non-boot CPUs ...
> [   20.428527] Powerdomain (core_pwrdm) didn't enter target state 1
> [   20.428558] Could not enter target state in pm_suspend
> [   20.431060] PM: noirq resume of devices complete after 2.319 msecs
> [   20.434173] PM: early resume of devices complete after 1.739 msecs
> [   20.803344] mmc1: error -110 during resume (card was removed?)
> [   20.804595] ------------[ cut here ]------------
> [   20.804626] WARNING: at drivers/video/omap2/dss/dispc.c:376 dispc_runtime_get+0x50/0x64()
> [   20.804687] [<c001b61c>] (unwind_backtrace+0x0/0xf0) from [<c00401fc>] (warn_slowpath_common+0x4c/0x64)
> [   20.804718] [<c00401fc>] (warn_slowpath_common+0x4c/0x64) from [<c0040230>] (warn_slowpath_null+0x1c/0x24)
> [   20.804718] [<c0040230>] (warn_slowpath_null+0x1c/0x24) from [<c02a72d4>] (dispc_runtime_get+0x50/0x64)
> [   20.804748] [<c02a72d4>] (dispc_runtime_get+0x50/0x64) from [<c02b2d80>] (omapdss_dpi_display_enable+0x48/0x230)
> [   20.804779] [<c02b2d80>] (omapdss_dpi_display_enable+0x48/0x230) from [<c02c9a28>] (generic_dpi_panel_power_on+0x2c/0x78)
> [   20.804779] [<c02c9a28>] (generic_dpi_panel_power_on+0x2c/0x78) from [<c02c9a80>] (generic_dpi_panel_resume+0xc/0x1c)
> [   20.804809] [<c02c9a80>] (generic_dpi_panel_resume+0xc/0x1c) from [<c02ae28c>] (dss_resume_device+0x28/0x40)
> [   20.804840] [<c02ae28c>] (dss_resume_device+0x28/0x40) from [<c02fc848>] (bus_for_each_dev+0x50/0x7c)
> [   20.804870] [<c02fc848>] (bus_for_each_dev+0x50/0x7c) from [<c02ff530>] (platform_pm_resume+0x2c/0x50)
> [   20.804901] [<c02ff530>] (platform_pm_resume+0x2c/0x50) from [<c0303aa4>] (dpm_run_callback.clone.7+0x30/0xb0)
> [   20.804901] [<c0303aa4>] (dpm_run_callback.clone.7+0x30/0xb0) from [<c0304828>] (device_resume+0xc8/0x188)
> [   20.804931] [<c0304828>] (device_resume+0xc8/0x188) from [<c0304c50>] (dpm_resume+0xfc/0x21c)
> [   20.804962] [<c0304c50>] (dpm_resume+0xfc/0x21c) from [<c0304f04>] (dpm_resume_end+0xc/0x18)
> [   20.804962] [<c0304f04>] (dpm_resume_end+0xc/0x18) from [<c007ffe4>] (suspend_devices_and_enter+0x15c/0x2d0)
> [   20.804992] [<c007ffe4>] (suspend_devices_and_enter+0x15c/0x2d0) from [<c00802e4>] (pm_suspend+0x18c/0x208)
> [   20.805023] [<c00802e4>] (pm_suspend+0x18c/0x208) from [<c007f588>] (state_store+0x120/0x134)
> [   20.805053] [<c007f588>] (state_store+0x120/0x134) from [<c026800c>] (kobj_attr_store+0x14/0x20)
> [   20.805053] [<c026800c>] (kobj_attr_store+0x14/0x20) from [<c0169ff4>] (sysfs_write_file+0x100/0x184)
> [   20.805084] [<c0169ff4>] (sysfs_write_file+0x100/0x184) from [<c01093fc>] (vfs_write+0xb4/0x148)
> [   20.805114] [<c01093fc>] (vfs_write+0xb4/0x148) from [<c0109684>] (sys_write+0x40/0x70)
> [   20.805145] [<c0109684>] (sys_write+0x40/0x70) from [<c0013d60>] (ret_fast_syscall+0x0/0x3c)
> [   20.805145] ---[ end trace c7f1420c2bbb60a2 ]---
> [   20.805511] dpm_run_callback(): platform_pm_resume+0x0/0x50 returns -13
> [   20.805541] PM: Device omapdss failed to resume: error -13
> [   20.857238] PM: resume of devices complete after 422.943 msecs
> [   21.162658] Restarting tasks ... done.
> sh: write error: Operation not permitted
>
> This returns immediately.
>
> Any ideas?

Could you try to just disable/enable the panel and see if you get the 
same error? disabling/enabling result in the same code flow from a DSS 
point of view:

echo 0 > /sys/devices/platform/omapdss/display0/enabled
echo 1 > /sys/devices/platform/omapdss/display0/enabled

The error returned from the runtime_resume call is -ENOACCES, which by 
looking at the code, is returned by rpm_resume() when:

	dev->power.disable_depth > 0

I don't know what that means, does someone have any idea?

Archit

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: 3.5-rc3: PM/DSS broken (was vdd_mpu_iva warnings)
  2012-07-03  8:59     ` Archit Taneja
@ 2012-07-03  9:12       ` Joe Woodward
  2012-07-03 10:59         ` Archit Taneja
  0 siblings, 1 reply; 14+ messages in thread
From: Joe Woodward @ 2012-07-03  9:12 UTC (permalink / raw)
  To: Archit Taneja; +Cc: Kevin Hilman, tomi.valkeinen, linux-omap



-----Original Message-----
From: Archit Taneja <a0393947@ti.com>
To: Joe Woodward <jw@terrafix.co.uk>
Cc: Kevin Hilman <khilman@ti.com>, <tomi.valkeinen@ti.com>, "linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>
Date: Tue, 3 Jul 2012 14:29:34 +0530
Subject: Re: 3.5-rc3: PM/DSS broken (was vdd_mpu_iva warnings)

> On Tuesday 03 July 2012 02:07 PM, Joe Woodward wrote:
> > -----Original Message-----
> > From: Kevin Hilman<khilman@ti.com>
> > To: "Joe Woodward"<jw@terrafix.co.uk>
> > Cc: "linux-omap\@vger.kernel.org"<linux-omap@vger.kernel.org>
> > Date: Mon, 02 Jul 2012 14:19:49 -0700
> > Subject: Re: 3.5-rc3: vdd_mpu_iva warnings
> >
> >> "Joe Woodward"<jw@terrafix.co.uk>  writes:
> >>
> >>> I have a GUMSTIX Overo AirSTORM module (AM3703-based).
> >>>
> >>> When booting the kernel the following features are listed:
> >>> OMAP3630 ES1.2 (l2cache neon isp 192mhz_clk )
> >>>
> >>> After booting I get the following (repeating every few seconds):
> >>>
> >>> [   81.122558] voltdm_scale: No voltage scale API registered for
> >> vdd_mpu_iva
> >>> [   81.130340] platform mpu.0: omap_target: unable to scale voltage
> >> up.
> >>>
> >>
> >> BTW, after boot, can you run the shell snippet below.  This should
> run
> >> the board through MPU DVFS for all the available OPPs:
> >>
> >> Thanks,
> >>
> >> Kevin
> >>
> >
> > First, apologies...
> >
> > I had added a GPIO control to board-overo.c, and after cleaning and
> > starting again I realised that in the process I had deleted an
> > important line.
> >
> > So, the warnings I posted are not present (i.e. the power domains
> > do get registered), sorry for the noise!
> >
> > But, I still have problems with 3.5-rc5 with system suspend and DSS.
> >
> > I've started again with a completely clean area, built using
> > omap2plus_defconfig with the following changes (DSS built-in, and
> > use of devtmpfs and SquashFS):
> > CONFIG_OMAP2_DSS=y
> > CONFIG_OMAP2_VRAM_SIZE=4
> > CONFIG_FB_OMAP2=y
> >
> > CONFIG_DEVTMPFS=y
> > CONFIG_DEVTMPFS_MOUNT=y
> > CONFIG_SQUASHFS=y
> >

I should add that I also set the generic panel to be built-in:
CONFIG_PANEL_GENERIC_DPI=y

> > I also modified board-overo.c to switch from DVI to LCD as the
> default device:
> > static struct omap_dss_board_info overo_dss_data = {
> > 	.num_devices	= ARRAY_SIZE(overo_dss_devices),
> > 	.devices	= overo_dss_devices,
> > //	.default_device	=&overo_dvi_device,
> > 	.default_device	=&overo_lcd43_device,
> > };
> >
> > And when suspending I get:
> >
> > # echo mem>  /sys/power/state
> > [   20.138214] PM: Syncing filesystems ... done.
> > [   20.158477] Freezing user space processes ... (elapsed 0.01
> seconds) done.
> > [   20.184509] Freezing remaining freezable tasks ... (elapsed 0.02
> seconds) done.
> > [   20.215698] Suspending console(s) (use no_console_suspend to
> debug)
> > [   20.804626] Modules linked in:
> > [   20.401611] PM: suspend of devices complete after 175.963 msecs
> > [   20.404388] PM: late suspend of devices complete after 2.777 msecs
> > [   20.409301] PM: noirq suspend of devices complete after 4.882
> msecs
> > [   20.409362] Disabling non-boot CPUs ...
> > [   20.428527] Powerdomain (core_pwrdm) didn't enter target state 1
> > [   20.428558] Could not enter target state in pm_suspend
> > [   20.431060] PM: noirq resume of devices complete after 2.319 msecs
> > [   20.434173] PM: early resume of devices complete after 1.739 msecs
> > [   20.803344] mmc1: error -110 during resume (card was removed?)
> > [   20.804595] ------------[ cut here ]------------
> > [   20.804626] WARNING: at drivers/video/omap2/dss/dispc.c:376
> dispc_runtime_get+0x50/0x64()
> > [   20.804687] [<c001b61c>] (unwind_backtrace+0x0/0xf0) from
> [<c00401fc>] (warn_slowpath_common+0x4c/0x64)
> > [   20.804718] [<c00401fc>] (warn_slowpath_common+0x4c/0x64) from
> [<c0040230>] (warn_slowpath_null+0x1c/0x24)
> > [   20.804718] [<c0040230>] (warn_slowpath_null+0x1c/0x24) from
> [<c02a72d4>] (dispc_runtime_get+0x50/0x64)
> > [   20.804748] [<c02a72d4>] (dispc_runtime_get+0x50/0x64) from
> [<c02b2d80>] (omapdss_dpi_display_enable+0x48/0x230)
> > [   20.804779] [<c02b2d80>] (omapdss_dpi_display_enable+0x48/0x230)
> from [<c02c9a28>] (generic_dpi_panel_power_on+0x2c/0x78)
> > [   20.804779] [<c02c9a28>] (generic_dpi_panel_power_on+0x2c/0x78)
> from [<c02c9a80>] (generic_dpi_panel_resume+0xc/0x1c)
> > [   20.804809] [<c02c9a80>] (generic_dpi_panel_resume+0xc/0x1c) from
> [<c02ae28c>] (dss_resume_device+0x28/0x40)
> > [   20.804840] [<c02ae28c>] (dss_resume_device+0x28/0x40) from
> [<c02fc848>] (bus_for_each_dev+0x50/0x7c)
> > [   20.804870] [<c02fc848>] (bus_for_each_dev+0x50/0x7c) from
> [<c02ff530>] (platform_pm_resume+0x2c/0x50)
> > [   20.804901] [<c02ff530>] (platform_pm_resume+0x2c/0x50) from
> [<c0303aa4>] (dpm_run_callback.clone.7+0x30/0xb0)
> > [   20.804901] [<c0303aa4>] (dpm_run_callback.clone.7+0x30/0xb0) from
> [<c0304828>] (device_resume+0xc8/0x188)
> > [   20.804931] [<c0304828>] (device_resume+0xc8/0x188) from
> [<c0304c50>] (dpm_resume+0xfc/0x21c)
> > [   20.804962] [<c0304c50>] (dpm_resume+0xfc/0x21c) from [<c0304f04>]
> (dpm_resume_end+0xc/0x18)
> > [   20.804962] [<c0304f04>] (dpm_resume_end+0xc/0x18) from
> [<c007ffe4>] (suspend_devices_and_enter+0x15c/0x2d0)
> > [   20.804992] [<c007ffe4>] (suspend_devices_and_enter+0x15c/0x2d0)
> from [<c00802e4>] (pm_suspend+0x18c/0x208)
> > [   20.805023] [<c00802e4>] (pm_suspend+0x18c/0x208) from
> [<c007f588>] (state_store+0x120/0x134)
> > [   20.805053] [<c007f588>] (state_store+0x120/0x134) from
> [<c026800c>] (kobj_attr_store+0x14/0x20)
> > [   20.805053] [<c026800c>] (kobj_attr_store+0x14/0x20) from
> [<c0169ff4>] (sysfs_write_file+0x100/0x184)
> > [   20.805084] [<c0169ff4>] (sysfs_write_file+0x100/0x184) from
> [<c01093fc>] (vfs_write+0xb4/0x148)
> > [   20.805114] [<c01093fc>] (vfs_write+0xb4/0x148) from [<c0109684>]
> (sys_write+0x40/0x70)
> > [   20.805145] [<c0109684>] (sys_write+0x40/0x70) from [<c0013d60>]
> (ret_fast_syscall+0x0/0x3c)
> > [   20.805145] ---[ end trace c7f1420c2bbb60a2 ]---
> > [   20.805511] dpm_run_callback(): platform_pm_resume+0x0/0x50
> returns -13
> > [   20.805541] PM: Device omapdss failed to resume: error -13
> > [   20.857238] PM: resume of devices complete after 422.943 msecs
> > [   21.162658] Restarting tasks ... done.
> > sh: write error: Operation not permitted
> >
> > This returns immediately.
> >
> > Any ideas?
> 
> Could you try to just disable/enable the panel and see if you get the 
> same error? disabling/enabling result in the same code flow from a DSS 
> point of view:
> 
> echo 0 > /sys/devices/platform/omapdss/display0/enabled
> echo 1 > /sys/devices/platform/omapdss/display0/enabled

The LCD43 gets registered as display2, so I did:
echo 0 > /sys/devices/platform/omapdss/display2/enabled
echo 1 > /sys/devices/platform/omapdss/display2/enabled

And this gave no warnings at all.

If I suspend with the panel disabled then the DSS warnings go away - however the suspend
call still returns immediately saying:
# echo 0 > /sys/devices/platform/omapdss/display2/enabled
# echo mem > /sys/power/state
[  156.381134] PM: Syncing filesystems ... done.
[  156.401580] Freezing user space processes ... (elapsed 0.01 seconds) done.
[  156.426788] Freezing remaining freezable tasks ... (elapsed 0.02 seconds) done.
[  156.458038] Suspending console(s) (use no_console_suspend to debug)
[  156.636169] PM: suspend of devices complete after 168.090 msecs
[  156.639007] PM: late suspend of devices complete after 2.807 msecs
[  156.643981] PM: noirq suspend of devices complete after 4.943 msecs
[  156.644012] Disabling non-boot CPUs ...
[  157.100738] Powerdomain (core_pwrdm) didn't enter target state 1
[  157.100738] Could not enter target state in pm_suspend
[  157.103271] PM: noirq resume of devices complete after 2.319 msecs
[  157.106475] PM: early resume of devices complete after 1.739 msecs
[  157.451843] mmc1: error -110 during resume (card was removed?)
[  157.505706] PM: resume of devices complete after 399.047 msecs
[  157.569976] Restarting tasks ... done.
sh: write error: Operation not permitted
#

If I then re-enable the panel and suspend the warnings come back:
# echo 1 > /sys/devices/platform/omapdss/display2/enabled
# echo mem > /sys/power/state
[  161.922912] PM: Syncing filesystems ... done.
[  161.931243] Freezing user space processes ... (elapsed 0.02 seconds) done.
[  161.961486] Freezing remaining freezable tasks ... (elapsed 0.02 seconds) done.
[  161.992645] Suspending console(s) (use no_console_suspend to debug)
[  162.636138] Modules linked in:
[  162.170776] PM: suspend of devices complete after 168.089 msecs
[  162.173522] PM: late suspend of devices complete after 2.715 msecs
[  162.178192] PM: noirq suspend of devices complete after 4.638 msecs
[  162.178192] Disabling non-boot CPUs ...
[  162.283081] Powerdomain (core_pwrdm) didn't enter target state 1
[  162.283081] Could not enter target state in pm_suspend
[  162.285583] PM: noirq resume of devices complete after 2.319 msecs
[  162.288757] PM: early resume of devices complete after 1.739 msecs
[  162.634765] mmc1: error -110 during resume (card was removed?)
[  162.636108] ------------[ cut here ]------------
[  162.636138] WARNING: at drivers/video/omap2/dss/dispc.c:376 dispc_runtime_get+0x50/0x64()
[  162.636199] [<c001b61c>] (unwind_backtrace+0x0/0xf0) from [<c00401fc>] (warn_slowpath_common+0x4c/0x64)
[  162.636230] [<c00401fc>] (warn_slowpath_common+0x4c/0x64) from [<c0040230>] (warn_slowpath_null+0x1c/0x24)
[  162.636230] [<c0040230>] (warn_slowpath_null+0x1c/0x24) from [<c02a72d4>] (dispc_runtime_get+0x50/0x64)
[  162.636260] [<c02a72d4>] (dispc_runtime_get+0x50/0x64) from [<c02b2d80>] (omapdss_dpi_display_enable+0x48/0x230)
[  162.636291] [<c02b2d80>] (omapdss_dpi_display_enable+0x48/0x230) from [<c02c9a28>] (generic_dpi_panel_power_on+0x2c/0x78)
[  162.636291] [<c02c9a28>] (generic_dpi_panel_power_on+0x2c/0x78) from [<c02c9a80>] (generic_dpi_panel_resume+0xc/0x1c)
[  162.636322] [<c02c9a80>] (generic_dpi_panel_resume+0xc/0x1c) from [<c02ae28c>] (dss_resume_device+0x28/0x40)
[  162.636352] [<c02ae28c>] (dss_resume_device+0x28/0x40) from [<c02fc848>] (bus_for_each_dev+0x50/0x7c)
[  162.636383] [<c02fc848>] (bus_for_each_dev+0x50/0x7c) from [<c02ff530>] (platform_pm_resume+0x2c/0x50)
[  162.636413] [<c02ff530>] (platform_pm_resume+0x2c/0x50) from [<c0303aa4>] (dpm_run_callback.clone.7+0x30/0xb0)
[  162.636413] [<c0303aa4>] (dpm_run_callback.clone.7+0x30/0xb0) from [<c0304828>] (device_resume+0xc8/0x188)
[  162.636444] [<c0304828>] (device_resume+0xc8/0x188) from [<c0304c50>] (dpm_resume+0xfc/0x21c)
[  162.636474] [<c0304c50>] (dpm_resume+0xfc/0x21c) from [<c0304f04>] (dpm_resume_end+0xc/0x18)
[  162.636505] [<c0304f04>] (dpm_resume_end+0xc/0x18) from [<c007ffe4>] (suspend_devices_and_enter+0x15c/0x2d0)
[  162.636505] [<c007ffe4>] (suspend_devices_and_enter+0x15c/0x2d0) from [<c00802e4>] (pm_suspend+0x18c/0x208)
[  162.636535] [<c00802e4>] (pm_suspend+0x18c/0x208) from [<c007f588>] (state_store+0x120/0x134)
[  162.636566] [<c007f588>] (state_store+0x120/0x134) from [<c026800c>] (kobj_attr_store+0x14/0x20)
[  162.636566] [<c026800c>] (kobj_attr_store+0x14/0x20) from [<c0169ff4>] (sysfs_write_file+0x100/0x184)
[  162.636596] [<c0169ff4>] (sysfs_write_file+0x100/0x184) from [<c01093fc>] (vfs_write+0xb4/0x148)
[  162.636627] [<c01093fc>] (vfs_write+0xb4/0x148) from [<c0109684>] (sys_write+0x40/0x70)
[  162.636657] [<c0109684>] (sys_write+0x40/0x70) from [<c0013d60>] (ret_fast_syscall+0x0/0x3c)
[  162.636657] ---[ end trace a8835c35315270a8 ]---
[  162.637054] dpm_run_callback(): platform_pm_resume+0x0/0x50 returns -13
[  162.637084] PM: Device omapdss failed to resume: error -13
[  162.688385] PM: resume of devices complete after 399.505 msecs
[  162.993499] Restarting tasks ... done.
sh: write error: Operation not permitted
#

Cheers,
Joe

> 
> The error returned from the runtime_resume call is -ENOACCES, which by 
> looking at the code, is returned by rpm_resume() when:
> 
> 	dev->power.disable_depth > 0
> 
> I don't know what that means, does someone have any idea?
> 
> Archit
> --
> 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



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: 3.5-rc3: PM/DSS broken (was vdd_mpu_iva warnings)
  2012-07-03  9:12       ` Joe Woodward
@ 2012-07-03 10:59         ` Archit Taneja
  2012-07-03 12:31           ` Jassi Brar
                             ` (2 more replies)
  0 siblings, 3 replies; 14+ messages in thread
From: Archit Taneja @ 2012-07-03 10:59 UTC (permalink / raw)
  To: Joe Woodward; +Cc: Kevin Hilman, tomi.valkeinen, linux-omap, jaswinder.singh

Hi,

On Tuesday 03 July 2012 02:42 PM, Joe Woodward wrote:
>
>
> -----Original Message-----
> From: Archit Taneja<a0393947@ti.com>
> To: Joe Woodward<jw@terrafix.co.uk>
> Cc: Kevin Hilman<khilman@ti.com>,<tomi.valkeinen@ti.com>, "linux-omap@vger.kernel.org"<linux-omap@vger.kernel.org>
> Date: Tue, 3 Jul 2012 14:29:34 +0530
> Subject: Re: 3.5-rc3: PM/DSS broken (was vdd_mpu_iva warnings)
>
>> On Tuesday 03 July 2012 02:07 PM, Joe Woodward wrote:
>>> -----Original Message-----
>>> From: Kevin Hilman<khilman@ti.com>
>>> To: "Joe Woodward"<jw@terrafix.co.uk>
>>> Cc: "linux-omap\@vger.kernel.org"<linux-omap@vger.kernel.org>
>>> Date: Mon, 02 Jul 2012 14:19:49 -0700
>>> Subject: Re: 3.5-rc3: vdd_mpu_iva warnings
>>>
>>>> "Joe Woodward"<jw@terrafix.co.uk>   writes:
>>>>
>>>>> I have a GUMSTIX Overo AirSTORM module (AM3703-based).
>>>>>
>>>>> When booting the kernel the following features are listed:
>>>>> OMAP3630 ES1.2 (l2cache neon isp 192mhz_clk )
>>>>>
>>>>> After booting I get the following (repeating every few seconds):
>>>>>
>>>>> [   81.122558] voltdm_scale: No voltage scale API registered for
>>>> vdd_mpu_iva
>>>>> [   81.130340] platform mpu.0: omap_target: unable to scale voltage
>>>> up.
>>>>>
>>>>
>>>> BTW, after boot, can you run the shell snippet below.  This should
>> run
>>>> the board through MPU DVFS for all the available OPPs:
>>>>
>>>> Thanks,
>>>>
>>>> Kevin
>>>>
>>>
>>> First, apologies...
>>>
>>> I had added a GPIO control to board-overo.c, and after cleaning and
>>> starting again I realised that in the process I had deleted an
>>> important line.
>>>
>>> So, the warnings I posted are not present (i.e. the power domains
>>> do get registered), sorry for the noise!
>>>
>>> But, I still have problems with 3.5-rc5 with system suspend and DSS.
>>>
>>> I've started again with a completely clean area, built using
>>> omap2plus_defconfig with the following changes (DSS built-in, and
>>> use of devtmpfs and SquashFS):
>>> CONFIG_OMAP2_DSS=y
>>> CONFIG_OMAP2_VRAM_SIZE=4
>>> CONFIG_FB_OMAP2=y
>>>
>>> CONFIG_DEVTMPFS=y
>>> CONFIG_DEVTMPFS_MOUNT=y
>>> CONFIG_SQUASHFS=y
>>>
>
> I should add that I also set the generic panel to be built-in:
> CONFIG_PANEL_GENERIC_DPI=y
>
>>> I also modified board-overo.c to switch from DVI to LCD as the
>> default device:
>>> static struct omap_dss_board_info overo_dss_data = {
>>> 	.num_devices	= ARRAY_SIZE(overo_dss_devices),
>>> 	.devices	= overo_dss_devices,
>>> //	.default_device	=&overo_dvi_device,
>>> 	.default_device	=&overo_lcd43_device,
>>> };
>>>
>>> And when suspending I get:
>>>
>>> # echo mem>   /sys/power/state
>>> [   20.138214] PM: Syncing filesystems ... done.
>>> [   20.158477] Freezing user space processes ... (elapsed 0.01
>> seconds) done.
>>> [   20.184509] Freezing remaining freezable tasks ... (elapsed 0.02
>> seconds) done.
>>> [   20.215698] Suspending console(s) (use no_console_suspend to
>> debug)
>>> [   20.804626] Modules linked in:
>>> [   20.401611] PM: suspend of devices complete after 175.963 msecs
>>> [   20.404388] PM: late suspend of devices complete after 2.777 msecs
>>> [   20.409301] PM: noirq suspend of devices complete after 4.882
>> msecs
>>> [   20.409362] Disabling non-boot CPUs ...
>>> [   20.428527] Powerdomain (core_pwrdm) didn't enter target state 1
>>> [   20.428558] Could not enter target state in pm_suspend
>>> [   20.431060] PM: noirq resume of devices complete after 2.319 msecs
>>> [   20.434173] PM: early resume of devices complete after 1.739 msecs
>>> [   20.803344] mmc1: error -110 during resume (card was removed?)
>>> [   20.804595] ------------[ cut here ]------------
>>> [   20.804626] WARNING: at drivers/video/omap2/dss/dispc.c:376
>> dispc_runtime_get+0x50/0x64()
>>> [   20.804687] [<c001b61c>] (unwind_backtrace+0x0/0xf0) from
>> [<c00401fc>] (warn_slowpath_common+0x4c/0x64)
>>> [   20.804718] [<c00401fc>] (warn_slowpath_common+0x4c/0x64) from
>> [<c0040230>] (warn_slowpath_null+0x1c/0x24)
>>> [   20.804718] [<c0040230>] (warn_slowpath_null+0x1c/0x24) from
>> [<c02a72d4>] (dispc_runtime_get+0x50/0x64)
>>> [   20.804748] [<c02a72d4>] (dispc_runtime_get+0x50/0x64) from
>> [<c02b2d80>] (omapdss_dpi_display_enable+0x48/0x230)
>>> [   20.804779] [<c02b2d80>] (omapdss_dpi_display_enable+0x48/0x230)
>> from [<c02c9a28>] (generic_dpi_panel_power_on+0x2c/0x78)
>>> [   20.804779] [<c02c9a28>] (generic_dpi_panel_power_on+0x2c/0x78)
>> from [<c02c9a80>] (generic_dpi_panel_resume+0xc/0x1c)
>>> [   20.804809] [<c02c9a80>] (generic_dpi_panel_resume+0xc/0x1c) from
>> [<c02ae28c>] (dss_resume_device+0x28/0x40)
>>> [   20.804840] [<c02ae28c>] (dss_resume_device+0x28/0x40) from
>> [<c02fc848>] (bus_for_each_dev+0x50/0x7c)
>>> [   20.804870] [<c02fc848>] (bus_for_each_dev+0x50/0x7c) from
>> [<c02ff530>] (platform_pm_resume+0x2c/0x50)
>>> [   20.804901] [<c02ff530>] (platform_pm_resume+0x2c/0x50) from
>> [<c0303aa4>] (dpm_run_callback.clone.7+0x30/0xb0)
>>> [   20.804901] [<c0303aa4>] (dpm_run_callback.clone.7+0x30/0xb0) from
>> [<c0304828>] (device_resume+0xc8/0x188)
>>> [   20.804931] [<c0304828>] (device_resume+0xc8/0x188) from
>> [<c0304c50>] (dpm_resume+0xfc/0x21c)
>>> [   20.804962] [<c0304c50>] (dpm_resume+0xfc/0x21c) from [<c0304f04>]
>> (dpm_resume_end+0xc/0x18)
>>> [   20.804962] [<c0304f04>] (dpm_resume_end+0xc/0x18) from
>> [<c007ffe4>] (suspend_devices_and_enter+0x15c/0x2d0)
>>> [   20.804992] [<c007ffe4>] (suspend_devices_and_enter+0x15c/0x2d0)
>> from [<c00802e4>] (pm_suspend+0x18c/0x208)
>>> [   20.805023] [<c00802e4>] (pm_suspend+0x18c/0x208) from
>> [<c007f588>] (state_store+0x120/0x134)
>>> [   20.805053] [<c007f588>] (state_store+0x120/0x134) from
>> [<c026800c>] (kobj_attr_store+0x14/0x20)
>>> [   20.805053] [<c026800c>] (kobj_attr_store+0x14/0x20) from
>> [<c0169ff4>] (sysfs_write_file+0x100/0x184)
>>> [   20.805084] [<c0169ff4>] (sysfs_write_file+0x100/0x184) from
>> [<c01093fc>] (vfs_write+0xb4/0x148)
>>> [   20.805114] [<c01093fc>] (vfs_write+0xb4/0x148) from [<c0109684>]
>> (sys_write+0x40/0x70)
>>> [   20.805145] [<c0109684>] (sys_write+0x40/0x70) from [<c0013d60>]
>> (ret_fast_syscall+0x0/0x3c)
>>> [   20.805145] ---[ end trace c7f1420c2bbb60a2 ]---
>>> [   20.805511] dpm_run_callback(): platform_pm_resume+0x0/0x50
>> returns -13
>>> [   20.805541] PM: Device omapdss failed to resume: error -13
>>> [   20.857238] PM: resume of devices complete after 422.943 msecs
>>> [   21.162658] Restarting tasks ... done.
>>> sh: write error: Operation not permitted
>>>
>>> This returns immediately.
>>>
>>> Any ideas?
>>
>> Could you try to just disable/enable the panel and see if you get the
>> same error? disabling/enabling result in the same code flow from a DSS
>> point of view:
>>
>> echo 0>  /sys/devices/platform/omapdss/display0/enabled
>> echo 1>  /sys/devices/platform/omapdss/display0/enabled
>
> The LCD43 gets registered as display2, so I did:
> echo 0>  /sys/devices/platform/omapdss/display2/enabled
> echo 1>  /sys/devices/platform/omapdss/display2/enabled
>
> And this gave no warnings at all.
>
> If I suspend with the panel disabled then the DSS warnings go away - however the suspend
> call still returns immediately saying:
> # echo 0>  /sys/devices/platform/omapdss/display2/enabled
> # echo mem>  /sys/power/state
> [  156.381134] PM: Syncing filesystems ... done.
> [  156.401580] Freezing user space processes ... (elapsed 0.01 seconds) done.
> [  156.426788] Freezing remaining freezable tasks ... (elapsed 0.02 seconds) done.
> [  156.458038] Suspending console(s) (use no_console_suspend to debug)
> [  156.636169] PM: suspend of devices complete after 168.090 msecs
> [  156.639007] PM: late suspend of devices complete after 2.807 msecs
> [  156.643981] PM: noirq suspend of devices complete after 4.943 msecs
> [  156.644012] Disabling non-boot CPUs ...
> [  157.100738] Powerdomain (core_pwrdm) didn't enter target state 1
> [  157.100738] Could not enter target state in pm_suspend
> [  157.103271] PM: noirq resume of devices complete after 2.319 msecs
> [  157.106475] PM: early resume of devices complete after 1.739 msecs
> [  157.451843] mmc1: error -110 during resume (card was removed?)
> [  157.505706] PM: resume of devices complete after 399.047 msecs
> [  157.569976] Restarting tasks ... done.
> sh: write error: Operation not permitted
> #
>
> If I then re-enable the panel and suspend the warnings come back:
> # echo 1>  /sys/devices/platform/omapdss/display2/enabled
> # echo mem>  /sys/power/state
> [  161.922912] PM: Syncing filesystems ... done.
> [  161.931243] Freezing user space processes ... (elapsed 0.02 seconds) done.
> [  161.961486] Freezing remaining freezable tasks ... (elapsed 0.02 seconds) done.
> [  161.992645] Suspending console(s) (use no_console_suspend to debug)
> [  162.636138] Modules linked in:
> [  162.170776] PM: suspend of devices complete after 168.089 msecs
> [  162.173522] PM: late suspend of devices complete after 2.715 msecs
> [  162.178192] PM: noirq suspend of devices complete after 4.638 msecs
> [  162.178192] Disabling non-boot CPUs ...
> [  162.283081] Powerdomain (core_pwrdm) didn't enter target state 1
> [  162.283081] Could not enter target state in pm_suspend
> [  162.285583] PM: noirq resume of devices complete after 2.319 msecs
> [  162.288757] PM: early resume of devices complete after 1.739 msecs
> [  162.634765] mmc1: error -110 during resume (card was removed?)
> [  162.636108] ------------[ cut here ]------------
> [  162.636138] WARNING: at drivers/video/omap2/dss/dispc.c:376 dispc_runtime_get+0x50/0x64()
> [  162.636199] [<c001b61c>] (unwind_backtrace+0x0/0xf0) from [<c00401fc>] (warn_slowpath_common+0x4c/0x64)
> [  162.636230] [<c00401fc>] (warn_slowpath_common+0x4c/0x64) from [<c0040230>] (warn_slowpath_null+0x1c/0x24)
> [  162.636230] [<c0040230>] (warn_slowpath_null+0x1c/0x24) from [<c02a72d4>] (dispc_runtime_get+0x50/0x64)
> [  162.636260] [<c02a72d4>] (dispc_runtime_get+0x50/0x64) from [<c02b2d80>] (omapdss_dpi_display_enable+0x48/0x230)
> [  162.636291] [<c02b2d80>] (omapdss_dpi_display_enable+0x48/0x230) from [<c02c9a28>] (generic_dpi_panel_power_on+0x2c/0x78)
> [  162.636291] [<c02c9a28>] (generic_dpi_panel_power_on+0x2c/0x78) from [<c02c9a80>] (generic_dpi_panel_resume+0xc/0x1c)
> [  162.636322] [<c02c9a80>] (generic_dpi_panel_resume+0xc/0x1c) from [<c02ae28c>] (dss_resume_device+0x28/0x40)
> [  162.636352] [<c02ae28c>] (dss_resume_device+0x28/0x40) from [<c02fc848>] (bus_for_each_dev+0x50/0x7c)
> [  162.636383] [<c02fc848>] (bus_for_each_dev+0x50/0x7c) from [<c02ff530>] (platform_pm_resume+0x2c/0x50)
> [  162.636413] [<c02ff530>] (platform_pm_resume+0x2c/0x50) from [<c0303aa4>] (dpm_run_callback.clone.7+0x30/0xb0)
> [  162.636413] [<c0303aa4>] (dpm_run_callback.clone.7+0x30/0xb0) from [<c0304828>] (device_resume+0xc8/0x188)
> [  162.636444] [<c0304828>] (device_resume+0xc8/0x188) from [<c0304c50>] (dpm_resume+0xfc/0x21c)
> [  162.636474] [<c0304c50>] (dpm_resume+0xfc/0x21c) from [<c0304f04>] (dpm_resume_end+0xc/0x18)
> [  162.636505] [<c0304f04>] (dpm_resume_end+0xc/0x18) from [<c007ffe4>] (suspend_devices_and_enter+0x15c/0x2d0)
> [  162.636505] [<c007ffe4>] (suspend_devices_and_enter+0x15c/0x2d0) from [<c00802e4>] (pm_suspend+0x18c/0x208)
> [  162.636535] [<c00802e4>] (pm_suspend+0x18c/0x208) from [<c007f588>] (state_store+0x120/0x134)
> [  162.636566] [<c007f588>] (state_store+0x120/0x134) from [<c026800c>] (kobj_attr_store+0x14/0x20)
> [  162.636566] [<c026800c>] (kobj_attr_store+0x14/0x20) from [<c0169ff4>] (sysfs_write_file+0x100/0x184)
> [  162.636596] [<c0169ff4>] (sysfs_write_file+0x100/0x184) from [<c01093fc>] (vfs_write+0xb4/0x148)
> [  162.636627] [<c01093fc>] (vfs_write+0xb4/0x148) from [<c0109684>] (sys_write+0x40/0x70)
> [  162.636657] [<c0109684>] (sys_write+0x40/0x70) from [<c0013d60>] (ret_fast_syscall+0x0/0x3c)
> [  162.636657] ---[ end trace a8835c35315270a8 ]---
> [  162.637054] dpm_run_callback(): platform_pm_resume+0x0/0x50 returns -13
> [  162.637084] PM: Device omapdss failed to resume: error -13
> [  162.688385] PM: resume of devices complete after 399.505 msecs
> [  162.993499] Restarting tasks ... done.
> sh: write error: Operation not permitted
> #

Thanks for testing this out.

I was going through Tomi's queue for the 3.6 merge window:

git://gitorious.org/linux-omap-dss2/linux.git master

There is a commit called:

2b8501d777346ce1d4fe99167e9b3c0e42aae7a8

OMAPDSS: Use PM notifiers for system suspend

The commit message mentions the issue you see, and seems to resolve it. 
Could you give this a try?

Tomi is out on vacation, and I don't know why this wasn't intended for 
the 3.5-rcs, maybe there are still some discussion going on about this?

Copping Jassi who was involved with this commit.

Archit

>
> Cheers,
> Joe
>
>>
>> The error returned from the runtime_resume call is -ENOACCES, which by
>> looking at the code, is returned by rpm_resume() when:
>>
>> 	dev->power.disable_depth>  0
>>
>> I don't know what that means, does someone have any idea?
>>
>> Archit
>> --
>> 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
>
>
>
>


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: 3.5-rc3: PM/DSS broken (was vdd_mpu_iva warnings)
  2012-07-03 10:59         ` Archit Taneja
@ 2012-07-03 12:31           ` Jassi Brar
  2012-07-03 13:52           ` Joe Woodward
  2012-07-04  6:28           ` Tomi Valkeinen
  2 siblings, 0 replies; 14+ messages in thread
From: Jassi Brar @ 2012-07-03 12:31 UTC (permalink / raw)
  To: Archit Taneja; +Cc: Joe Woodward, Kevin Hilman, tomi.valkeinen, linux-omap

On 3 July 2012 16:29, Archit Taneja <a0393947@ti.com> wrote:
>
> I was going through Tomi's queue for the 3.6 merge window:
>
> git://gitorious.org/linux-omap-dss2/linux.git master
>
> There is a commit called:
>
> 2b8501d777346ce1d4fe99167e9b3c0e42aae7a8
>
> OMAPDSS: Use PM notifiers for system suspend
>
> The commit message mentions the issue you see, and seems to resolve it.
> Could you give this a try?
>
> Tomi is out on vacation, and I don't know why this wasn't intended for the
> 3.5-rcs, maybe there are still some discussion going on about this?
>
> Copping Jassi who was involved with this commit.
>
I understand, we settled on that patch finally.

>>>
>>> The error returned from the runtime_resume call is -ENOACCES, which by
>>> looking at the code, is returned by rpm_resume() when:
>>>
>>>         dev->power.disable_depth>  0
>>>
>>> I don't know what that means, does someone have any idea?
>>>
That is because during suspend PM on DISPC is disabled, so any attempt
to enable it reports ACCESS error. I suggested a mechanism, but Tomi
instead wanted to suspend early and resume late the panels via
notifiers to avoid that scenario.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: 3.5-rc3: PM/DSS broken (was vdd_mpu_iva warnings)
  2012-07-03 10:59         ` Archit Taneja
  2012-07-03 12:31           ` Jassi Brar
@ 2012-07-03 13:52           ` Joe Woodward
  2012-07-04 14:01             ` Kevin Hilman
  2012-07-04  6:28           ` Tomi Valkeinen
  2 siblings, 1 reply; 14+ messages in thread
From: Joe Woodward @ 2012-07-03 13:52 UTC (permalink / raw)
  To: Archit Taneja; +Cc: Kevin Hilman, tomi.valkeinen, linux-omap, jaswinder.singh

...snip...

> > #
> 
> Thanks for testing this out.
> 
> I was going through Tomi's queue for the 3.6 merge window:
> 
> git://gitorious.org/linux-omap-dss2/linux.git master
> 
> There is a commit called:
> 
> 2b8501d777346ce1d4fe99167e9b3c0e42aae7a8
> 
> OMAPDSS: Use PM notifiers for system suspend
> 
> The commit message mentions the issue you see, and seems to resolve it.
> Could you give this a try?
> 
> Tomi is out on vacation, and I don't know why this wasn't intended for 
> the 3.5-rcs, maybe there are still some discussion going on about this?
> 

Thanks, this did remove the DSS warnings when suspending.

Is there any chance this patch will make 3.5, or is it far too late now?

However, core still fails to power down:
# echo mem > /sys/power/state
[   64.905975] PM: Syncing filesystems ... done.
[   64.926879] Freezing user space processes ... (elapsed 0.01 seconds) done.
[   64.952697] Freezing remaining freezable tasks ... (elapsed 0.02 seconds) done.
[   64.983947] Suspending console(s) (use no_console_suspend to debug)
[   65.115112] PM: suspend of devices complete after 121.215 msecs
[   65.117797] PM: late suspend of devices complete after 2.655 msecs
[   65.122314] PM: noirq suspend of devices complete after 4.486 msecs
[   65.122344] Disabling non-boot CPUs ...
[   66.095733] Powerdomain (core_pwrdm) didn't enter target state 1
[   66.095733] Could not enter target state in pm_suspend
[   66.098236] PM: noirq resume of devices complete after 2.319 msecs
[   66.101409] PM: early resume of devices complete after 1.770 msecs
[   66.471008] mmc1: error -110 during resume (card was removed?)
[   66.516784] PM: resume of devices complete after 415.252 msecs
[   66.580841] Restarting tasks ... done.
sh: write error: Operation not permitted

I'm guessing this is a question for Kevin, any idea how to debug this?

Also, why is it now saing "sh: write error: Operation not permitted" after waking, this never happened with 3.4?

Cheers,
Joe

> Copping Jassi who was involved with this commit.
> 
> Archit
> 



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: 3.5-rc3: PM/DSS broken (was vdd_mpu_iva warnings)
  2012-07-03 10:59         ` Archit Taneja
  2012-07-03 12:31           ` Jassi Brar
  2012-07-03 13:52           ` Joe Woodward
@ 2012-07-04  6:28           ` Tomi Valkeinen
  2012-07-04 10:38             ` Archit Taneja
  2 siblings, 1 reply; 14+ messages in thread
From: Tomi Valkeinen @ 2012-07-04  6:28 UTC (permalink / raw)
  To: Archit Taneja; +Cc: Joe Woodward, Kevin Hilman, linux-omap, jaswinder.singh

[-- Attachment #1: Type: text/plain, Size: 1111 bytes --]

On Tue, 2012-07-03 at 16:29 +0530, Archit Taneja wrote:

> Thanks for testing this out.
> 
> I was going through Tomi's queue for the 3.6 merge window:
> 
> git://gitorious.org/linux-omap-dss2/linux.git master
> 
> There is a commit called:
> 
> 2b8501d777346ce1d4fe99167e9b3c0e42aae7a8
> 
> OMAPDSS: Use PM notifiers for system suspend
> 
> The commit message mentions the issue you see, and seems to resolve it. 
> Could you give this a try?
> 
> Tomi is out on vacation, and I don't know why this wasn't intended for 
> the 3.5-rcs, maybe there are still some discussion going on about this?

I just missed it due to the pre-vacation hassle, I was so focused on
getting the stuff ready for next merge window.

With a quick glance to my master branch, the "OMAPDSS: Use PM notifiers
for system suspend" looks like it could go for 3.5-rc, and also
"OMAPDSS: fix warnings if CONFIG_PM_RUNTIME=n".

Archit, can you check that both apply fine to mainline, and send them to
Florian for 3.5-rc. And make clear they are for him, so that he doesn't
think I'll handle them =).

 Tomi


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: 3.5-rc3: PM/DSS broken (was vdd_mpu_iva warnings)
  2012-07-04  6:28           ` Tomi Valkeinen
@ 2012-07-04 10:38             ` Archit Taneja
  0 siblings, 0 replies; 14+ messages in thread
From: Archit Taneja @ 2012-07-04 10:38 UTC (permalink / raw)
  To: Tomi Valkeinen; +Cc: Joe Woodward, Kevin Hilman, linux-omap, jaswinder.singh

On Wednesday 04 July 2012 11:58 AM, Tomi Valkeinen wrote:
> On Tue, 2012-07-03 at 16:29 +0530, Archit Taneja wrote:
>
>> Thanks for testing this out.
>>
>> I was going through Tomi's queue for the 3.6 merge window:
>>
>> git://gitorious.org/linux-omap-dss2/linux.git master
>>
>> There is a commit called:
>>
>> 2b8501d777346ce1d4fe99167e9b3c0e42aae7a8
>>
>> OMAPDSS: Use PM notifiers for system suspend
>>
>> The commit message mentions the issue you see, and seems to resolve it.
>> Could you give this a try?
>>
>> Tomi is out on vacation, and I don't know why this wasn't intended for
>> the 3.5-rcs, maybe there are still some discussion going on about this?
>
> I just missed it due to the pre-vacation hassle, I was so focused on
> getting the stuff ready for next merge window.
>
> With a quick glance to my master branch, the "OMAPDSS: Use PM notifiers
> for system suspend" looks like it could go for 3.5-rc, and also
> "OMAPDSS: fix warnings if CONFIG_PM_RUNTIME=n".
>
> Archit, can you check that both apply fine to mainline, and send them to
> Florian for 3.5-rc. And make clear they are for him, so that he doesn't
> think I'll handle them =).

Sure, will do.

Archit

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: 3.5-rc3: PM/DSS broken (was vdd_mpu_iva warnings)
  2012-07-03 13:52           ` Joe Woodward
@ 2012-07-04 14:01             ` Kevin Hilman
  2012-07-05  7:58               ` Joe Woodward
  0 siblings, 1 reply; 14+ messages in thread
From: Kevin Hilman @ 2012-07-04 14:01 UTC (permalink / raw)
  To: Joe Woodward; +Cc: Archit Taneja, tomi.valkeinen, linux-omap, jaswinder.singh

"Joe Woodward" <jw@terrafix.co.uk> writes:

> ...snip...
>
>> > #
>> 
>> Thanks for testing this out.
>> 
>> I was going through Tomi's queue for the 3.6 merge window:
>> 
>> git://gitorious.org/linux-omap-dss2/linux.git master
>> 
>> There is a commit called:
>> 
>> 2b8501d777346ce1d4fe99167e9b3c0e42aae7a8
>> 
>> OMAPDSS: Use PM notifiers for system suspend
>> 
>> The commit message mentions the issue you see, and seems to resolve it.
>> Could you give this a try?
>> 
>> Tomi is out on vacation, and I don't know why this wasn't intended for 
>> the 3.5-rcs, maybe there are still some discussion going on about this?
>> 
>
> Thanks, this did remove the DSS warnings when suspending.
>
> Is there any chance this patch will make 3.5, or is it far too late now?
>
> However, core still fails to power down:
> # echo mem > /sys/power/state
> [   64.905975] PM: Syncing filesystems ... done.
> [   64.926879] Freezing user space processes ... (elapsed 0.01 seconds) done.
> [   64.952697] Freezing remaining freezable tasks ... (elapsed 0.02 seconds) done.
> [   64.983947] Suspending console(s) (use no_console_suspend to debug)
> [   65.115112] PM: suspend of devices complete after 121.215 msecs
> [   65.117797] PM: late suspend of devices complete after 2.655 msecs
> [   65.122314] PM: noirq suspend of devices complete after 4.486 msecs
> [   65.122344] Disabling non-boot CPUs ...
> [   66.095733] Powerdomain (core_pwrdm) didn't enter target state 1
> [   66.095733] Could not enter target state in pm_suspend
> [   66.098236] PM: noirq resume of devices complete after 2.319 msecs
> [   66.101409] PM: early resume of devices complete after 1.770 msecs
> [   66.471008] mmc1: error -110 during resume (card was removed?)
> [   66.516784] PM: resume of devices complete after 415.252 msecs
> [   66.580841] Restarting tasks ... done.
> sh: write error: Operation not permitted
>
> I'm guessing this is a question for Kevin, any idea how to debug this?

Already debugged and fixed. The exact solution is still under
discussion, but while waiting for the right fix, you can use this patch
and you should see CORE hitting retention:

   http://marc.info/?l=linux-omap&m=134000053229888&w=2

>
> Also, why is it now saing "sh: write error: Operation not permitted" after waking, this never happened with 3.4?

I have seen this here and there and have never looked into why that is
happening.  Clearly the write actually worked because the suspend
happened, so I'm not sure what's going on there.

Kevin


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: 3.5-rc3: PM/DSS broken (was vdd_mpu_iva warnings)
  2012-07-04 14:01             ` Kevin Hilman
@ 2012-07-05  7:58               ` Joe Woodward
  0 siblings, 0 replies; 14+ messages in thread
From: Joe Woodward @ 2012-07-05  7:58 UTC (permalink / raw)
  To: Kevin Hilman; +Cc: Archit Taneja, tomi.valkeinen, linux-omap, jaswinder.singh

> Already debugged and fixed. The exact solution is still under
> discussion, but while waiting for the right fix, you can use this patch
> and you should see CORE hitting retention:
> 
>    http://marc.info/?l=linux-omap&m=134000053229888&w=2
> 
> >
> > Also, why is it now saing "sh: write error: Operation not permitted"
> after waking, this never happened with 3.4?
> 
> I have seen this here and there and have never looked into why that is
> happening.  Clearly the write actually worked because the suspend
> happened, so I'm not sure what's going on there.
> 
> Kevin

Thanks!

That does indeed fix it...

Cheers,
Joe



^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2012-07-05  7:59 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-06-18 10:39 3.5-rc3: vdd_mpu_iva warnings Joe Woodward
2012-06-27 15:22 ` Joe Woodward
2012-07-02 21:18 ` Kevin Hilman
2012-07-02 21:19 ` Kevin Hilman
2012-07-03  8:37   ` 3.5-rc3: PM/DSS broken (was vdd_mpu_iva warnings) Joe Woodward
2012-07-03  8:59     ` Archit Taneja
2012-07-03  9:12       ` Joe Woodward
2012-07-03 10:59         ` Archit Taneja
2012-07-03 12:31           ` Jassi Brar
2012-07-03 13:52           ` Joe Woodward
2012-07-04 14:01             ` Kevin Hilman
2012-07-05  7:58               ` Joe Woodward
2012-07-04  6:28           ` Tomi Valkeinen
2012-07-04 10:38             ` Archit Taneja

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.