Skip to Content.
Sympa Menu

linux-sony-z1 - Re: [linux-sony-z1] swsusp2 patch 98 not working at all on Sony and Alsa patch

Subject: Linux users of Sony Z1 series

List archive

Re: [linux-sony-z1] swsusp2 patch 98 not working at all on Sony and Alsa patch


Chronological Thread 
  • From: Brouard Nicolas <>
  • To: , Svetoslav Slavtchev <>
  • Subject: Re: [linux-sony-z1] swsusp2 patch 98 not working at all on Sony and Alsa patch
  • Date: Tue, 20 Jul 2004 17:17:15 +0200

Le mar 20/07/2004 à 13:13, Svetoslav Slavtchev a écrit :
> > rpm --rebuild kernel-sds-2.6.7-1.sds.23mdk-1-1mdk.nosrc.rpm --with
> > uponly --with win4lin --with swsusp2 --without apic

> it does work here,
> well it doesn't power off, but if i turn the power off(via power button)
> i'm able to resume without problems

On the Sony, it looks like it is powered off (hard disc stops, screen
blank, button black). But it is not correctly off. And you can't do
anything, pressing the start button doesn't do anything neither restart.
The only solution, also reported by other people on acpi-devel or swsusp
(I don't remember) is to unplug the battery (and AC). Then, you can plug
the battery again. And pressing the start button will resume correctly.

Nigel reported that patches 97 and 98 were experimental with some S4
features. Patches 99 and 100 corrected the previous bugs (97 and 98) but
you had something to do with ACPI which I did not understand.

> issues here are:
> - alsa has to be stoped/started
> or my audigy wont give a sound after resume
> (my usb-audio seems to work fine after resume
> without unloading)
> - my radeon card hangs unless the agp and card
> drivers are reloaded after resume
>
> that's with going to runlevel 3 and
> echo 1 > /proc/swsusp/activate
>
> i haven't tried the scripts

You should try the script (just a useful file
/etc/hibernate/hibernate.conf).

I haven't test all features (I have had some problems (but only once
when on my replicator) like sound. But here is a patch for Alsa that you
probably could incorporated. (the swsusp mailing list moved).

Cheers,

> best,
>
> svetljo
--- Begin Message ---
  • From: Bernard Blackham <>
  • To:
  • Subject: Re: [SoftwareSuspend-devel] Re: [Swsusp-devel] Kernel-2.6.7 ali5451 sound driver & 2.0.0.98
  • Date: Mon, 19 Jul 2004 03:38:06 +0800
  • List-archive: <http://lists.berlios.de/pipermail/softwaresuspend-devel/>
  • List-id: Software Suspend Development List <softwaresuspend-devel.lists.berlios.de>
  • Organization: Dagobah Systems
> > Didn't resolve it for me. I have an ALi5451 also, and with
> > 2.6.7+bk-alsa.patch from -mm7+2.0.0.98 sound playback hangs on
> > resume and mixer settings are messed up. (ie, loudest settings are
> > barely audible - a rmmod/modprobe cures this).
> >
> > I do plan to try Nemaru's patch soon though, it looks promising! :)
>
> Did it help?

Yes! Attached is the diff of a patch Nemaru sent to me off-list, and
I no longer have to do any magic alsactl commands to get sound back
on suspend/resume. Playback still stalls though (just restarting
playback works fine though).

He's sent it to the alsa guys - but if it works for people here, it
may as well be included in the 2.6 swsusp patch in the meantime?

Bernard.

--
Bernard Blackham <bernard at blackham dot com dot au>
--- linux-2.6.7/sound/core/init.c.orig 2004-07-14 21:29:05.000000000 +0800
+++ linux-2.6.7/sound/core/init.c 2004-07-14 21:29:07.000000000 +0800
@@ -790,7 +790,7 @@
if (card->power_state == SNDRV_CTL_POWER_D3hot)
return 0;
/* FIXME: correct state value? */
- return card->pm_suspend(card, 0);
+ return card->pm_suspend(card, SNDRV_CTL_POWER_D3hot);
}

int snd_card_pci_resume(struct pci_dev *dev)
@@ -801,7 +801,7 @@
if (card->power_state == SNDRV_CTL_POWER_D0)
return 0;
/* FIXME: correct state value? */
- return card->pm_resume(card, 0);
+ return card->pm_resume(card, SNDRV_CTL_POWER_D0);
}
#endif

--- linux-2.6.7/sound/pci/ali5451/ali5451.c.orig 2004-07-19
03:34:24.000000000 +0800
+++ linux-2.6.7/sound/pci/ali5451/ali5451.c 2004-07-14 21:29:50.000000000
+0800
@@ -1936,6 +1936,7 @@
outl(0xffffffff, ALI_REG(chip, ALI_STOP));

spin_unlock_irq(&chip->reg_lock);
+ snd_power_change_state(card, state);
return 0;
}

@@ -1974,6 +1975,7 @@

snd_ac97_resume(chip->ac97);

+ snd_power_change_state(card, state);
return 0;
}
#endif /* CONFIG_PM */

--- End Message ---



Archive powered by MHonArc 2.6.18.

Top of Page