Luke, > -----Original Message----- > From: linux-omap-owner@xxxxxxxxxxxxxxx [mailto:linux-omap- > owner@xxxxxxxxxxxxxxx] On Behalf Of Luke Gong > Sent: Friday, January 21, 2011 5:03 AM > To: Kevin Hilman > Cc: linux-omap@xxxxxxxxxxxxxxx > Subject: Re: Fail to suspend to ram: "Class driver suspend failed for > cpu0" > > Thanks, Kevin. > > On Thu, Jan 20, 2011 at 5:54 PM, Kevin Hilman <khilman@xxxxxx> > wrote: > > Luke Gong <lukejgong@xxxxxxxxx> writes: > > > >> I have a beagle board with OMAP3530. I ported linux-omap- > pm2.6.32 to > >> this board. When I want to let it suspend to ram, > > > > This is an old kernel. Any reason you're not using a newer kernel? > > I have Angstrom7 with kernel 2.6.32 running on this board. So I > selected this old version to test. I might try the latest one. > > > > >> it fails and I get > >> the message "Class driver suspend failed for cpu0" > > > > This is the CPUfreq driver failing to suspend, probably because there is > > no CPUfreq driver implemented in your kernel. Try disabling > CPU_FREQ in > > your kernel config. > > It seems can suspend to ram after disabling CPU_FREQ. Here is the log: > > root@beagleboard:~# echo mem > /sys/power/state > PM: Syncing filesystems ... done. > Freezing user space processes ... (elapsed 0.00 seconds) done. > Freezing remaining freezable tasks ... (elapsed 0.00 seconds) done. > Suspending console(s) (use no_console_suspend to debug) > > ********************************************************** > *** > Once I hit the keyboard, I get: > > root@beagleboard:~# echo mem > /sys/power/state > PM: Syncing filesystems ... done. > Freezing user space processes ... (elapsed 0.00 seconds) done. > Freezing remaining freezable tasks ... (elapsed 0.00 seconds) done. > Suspending console(s) (use no_console_suspend to debug) > omapfb omapfb: timeout waiting for FRAME DONE > Powerdomain (core_pwrdm) didn't enter target state 1 > Powerdomain (cam_pwrdm) didn't enter target state 1 > Powerdomain (per_pwrdm) didn't enter target state 1 > Could not enter target state in pm_suspend > Restarting tasks ... done. > root@beagleboard:~# > *************************************************** > > I am just curious why the powerdomain didn't enter target state 1. It looks like your camera module is not idling upon suspend preventing per and core to idle. Pls check whether camera driver has implemented suspend/resume hooks properly. OR you can disable camera module and try. > > Another issue is about CPU frequency scaling. Using the original > Angstrom7, I can scale CPU frequency. But with the linux-omap-pm > kernel, I cannot do it even though I enable this feature in the config > file. Is there any solution to support both cpu frequency scaling and > suspend to ram? In current linux-omap-pm branch, DVFS feature is not supported and this work is under progress. Previously DVFS feature was supported in pm branch using SRF and it has been removed sometime back. If you really want cpufreq support, you can pick DVFS patches under review available at: https://patchwork.kernel.org/patch/290542/ It's also available in the dvfs tree hosted@ http://dev.omapzoom.org/?p=thara/omap-dvfs.git;a=shortlog;h=refs/heads/pm- dvfs Vishwa > > Thanks again for your help. > > > > Kevin > > > >> . Here is the log: > >> > >> root@beagleboard:~# echo mem > /sys/power/state > >> PM: Syncing filesystems ... done. > >> Freezing user space processes ... (elapsed 0.00 seconds) done. > >> Freezing remaining freezable tasks ... (elapsed 0.00 seconds) done. > >> Suspending console(s) (use no_console_suspend to debug) > >> omapfb omapfb: timeout waiting for FRAME DONE > >> Class driver suspend failed for cpu0 > >> Restarting tasks ... done. > >> > >> ********************************************* > >> > >> Is there any idea to fix this problem? Thanks. > > > > > > -- > Luke > -- > To unsubscribe from this list: send the line "unsubscribe linux-omap" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html