andy git 06/15 suspend/resume observations
Andy Green
andy at openmoko.com
Wed Jun 18 19:13:27 CEST 2008
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Somebody in the thread at some point said:
| Somebody in the thread at some point said:
| | Andy,
| |
| | I've now confirmed it is from GSM wakeup. If I do not initialize the GSM
| | then the phone never locks up.
|
| EXCELLENT, thanks a lot.
|
| Mike can this plug into the serial resume problems?
|
| How can one provoke GSM wakes then? Although I am in runlevel 3 I do
| actually have a SIM card in and am running gsmd -- last night before I
| went to bed though I put it in suspend, and it woke 100% perfect
| thismorning after 7 - 8 hours suspended. But it didn't wake before that
| from GSM.... you really have to ring the phone?
Hm what's going on here... in the resume:
/* We must defer the auto flowcontrol because we resume before
* the serial driver */
if (!schedule_work(&gsmwork))
dev_err(&pdev->dev,
"Unable to schedule GSM wakeup work\n");
but in the work function there
static void gsm_resume_work(struct work_struct *w)
{
printk(KERN_INFO "%s: waiting...\n", __FUNCTION__);
nspy_add(NSPY_TYPE_RESUME, 'W', jiffies);
if (gsm_autounlock_delay) <=== zero on GTA02
msleep(gsm_autounlock_delay); <=== no delay
if (gsm_auto_flowcontrolled) {
nspy_add(NSPY_TYPE_SPECIAL, '+', jiffies);
if (machine_is_neo1973_gta01())
s3c24xx_fake_rx_interrupt(10000);
s3c2410_gpio_cfgpin(S3C2410_GPH1, S3C2410_GPH1_nRTS0);
gsm_auto_flowcontrolled = 0;
}
nspy_add(NSPY_TYPE_RESUME, 'Z', jiffies);
printk(KERN_INFO "%s: done.\n", __FUNCTION__);
}
There's no schedule_delayed_work, no msleep, this could execute right
away, and yet it says in the comment we need to wait for serial driver
!?!? I check the resume ordering
[ 7187.755000] neo1973-pm-gsm neo1973-pm-gsm.0: resuming
[ 7187.755000] gsm_resume_work: waiting...
[ 7187.755000] gsm_resume_work: done.
...
[ 7187.755000] s3c2440-uart s3c2440-uart.0: resuming
[ 7187.755000] s3c24xx_serial_set_mctrl: GSM mctrl=0x00000000
[ 7187.755000] s3c24xx_serial_set_mctrl: GSM mctrl=0x00000006
[ 7187.755000] s3c2440-uart s3c2440-uart.1: resuming
[ 7187.755000] s3c2440-uart s3c2440-uart.2: resuming
Hum what happens when that completes and the uarts aren't up?
- -Andy
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org
iEYEARECAAYFAkhZQjEACgkQOjLpvpq7dMrP4wCffPwrQrZ8lALBP02Wnj/QTnbO
P74An3brJPpA2Y5t10ERTbsDQt3vphrQ
=w3HI
-----END PGP SIGNATURE-----
More information about the openmoko-kernel
mailing list