public inbox for linux-omap@vger.kernel.org
 help / color / mirror / Atom feed
From: Vishwanath Sripathy <vishwanath.bs@ti.com>
To: Luke Gong <lukejgong@gmail.com>, Kevin Hilman <khilman@ti.com>
Cc: linux-omap@vger.kernel.org
Subject: RE: Fail to suspend to ram: "Class driver suspend failed for cpu0"
Date: Fri, 21 Jan 2011 09:53:22 +0530	[thread overview]
Message-ID: <e1f3af7f928ead8c7b6cf98100b1e2d1@mail.gmail.com> (raw)
In-Reply-To: <AANLkTikNkyN_qAGMWUrcRp8NzPW4fAYcpo0qiGBKTeDu@mail.gmail.com>

Luke,

> -----Original Message-----
> From: linux-omap-owner@vger.kernel.org [mailto:linux-omap-
> owner@vger.kernel.org] On Behalf Of Luke Gong
> Sent: Friday, January 21, 2011 5:03 AM
> To: Kevin Hilman
> Cc: linux-omap@vger.kernel.org
> 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@ti.com>
> wrote:
> > Luke Gong <lukejgong@gmail.com> 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@vger.kernel.org
> 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@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2011-01-21  4:23 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-20 21:16 Fail to suspend to ram: "Class driver suspend failed for cpu0" Luke Gong
2011-01-20 22:54 ` Kevin Hilman
2011-01-20 23:32   ` Luke Gong
2011-01-21  4:23     ` Vishwanath Sripathy [this message]
2011-01-21 15:28       ` Luke Gong
2011-01-21  5:09     ` Kevin Hilman
2011-01-21 15:30       ` Luke Gong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e1f3af7f928ead8c7b6cf98100b1e2d1@mail.gmail.com \
    --to=vishwanath.bs@ti.com \
    --cc=khilman@ti.com \
    --cc=linux-omap@vger.kernel.org \
    --cc=lukejgong@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox