But at this moment, it seems I cannot use both dvfs and suspend to ram simultaneously :(. On Thu, Jan 20, 2011 at 11:23 PM, Vishwanath Sripathy <vishwanath.bs@xxxxxx> wrote: > 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 > -- 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