2008-11-24 21:22:35

by Tino Keitel

[permalink] [raw]
Subject: 2.6.28-rc regression: digital audio inactive after resume from suspend

Hi,

the digital audio out (optical) is inactive (no red light, and
therefore silent) after resume from suspend on my Mac mini Core Duo.
When I disable and enable the IEC958 toggle, it works again.

This didn't happen with 2.6.27. Currently, I use 2.6.28-rc6 as of
commit ged31348.

This is the hardware in lspci:

00:1b.0 Audio device [0403]: Intel Corporation 82801G (ICH7 Family)
High Definition Audio Controller [8086:27d8] (rev 02)
Subsystem: Sigmatel Device [8384:7680]
Flags: bus master, fast devsel, latency 0, IRQ 22
Memory at 90440000 (64-bit, non-prefetchable) [size=16K]
Capabilities: <access denied>
Kernel driver in use: HDA Intel
Kernel modules: snd-hda-intel

The dmesg output with 2.6.27 and 2.6.28-rc are here:

http://tikei.de/dmesg_2.6.27.5
http://tikei.de/dmesg_2.6.28-rc6

Regards,
Tino


2008-11-24 23:10:34

by Takashi Iwai

[permalink] [raw]
Subject: Re: 2.6.28-rc regression: digital audio inactive after resume from suspend

At Mon, 24 Nov 2008 22:22:25 +0100,
Tino Keitel wrote:
>
> Hi,
>
> the digital audio out (optical) is inactive (no red light, and
> therefore silent) after resume from suspend on my Mac mini Core Duo.
> When I disable and enable the IEC958 toggle, it works again.
>
> This didn't happen with 2.6.27. Currently, I use 2.6.28-rc6 as of
> commit ged31348.
>
> This is the hardware in lspci:
>
> 00:1b.0 Audio device [0403]: Intel Corporation 82801G (ICH7 Family)
> High Definition Audio Controller [8086:27d8] (rev 02)
> Subsystem: Sigmatel Device [8384:7680]
> Flags: bus master, fast devsel, latency 0, IRQ 22
> Memory at 90440000 (64-bit, non-prefetchable) [size=16K]
> Capabilities: <access denied>
> Kernel driver in use: HDA Intel
> Kernel modules: snd-hda-intel
>
> The dmesg output with 2.6.27 and 2.6.28-rc are here:
>
> http://tikei.de/dmesg_2.6.27.5
> http://tikei.de/dmesg_2.6.28-rc6

Could you run alsa-info.sh with --no-upload option on both kernels
and attach the generated files? The script is found at
http://www.alsa-project.org/alsa-info.sh


thanks,

Takashi

2008-11-25 07:03:24

by Tino Keitel

[permalink] [raw]
Subject: Re: 2.6.28-rc regression: digital audio inactive after resume from suspend

On Tue, Nov 25, 2008 at 00:10:14 +0100, Takashi Iwai wrote:
> At Mon, 24 Nov 2008 22:22:25 +0100,
> Tino Keitel wrote:
> >
> > Hi,
> >
> > the digital audio out (optical) is inactive (no red light, and
> > therefore silent) after resume from suspend on my Mac mini Core Duo.
> > When I disable and enable the IEC958 toggle, it works again.
> >
> > This didn't happen with 2.6.27. Currently, I use 2.6.28-rc6 as of
> > commit ged31348.
> >
> > This is the hardware in lspci:
> >
> > 00:1b.0 Audio device [0403]: Intel Corporation 82801G (ICH7 Family)
> > High Definition Audio Controller [8086:27d8] (rev 02)
> > Subsystem: Sigmatel Device [8384:7680]
> > Flags: bus master, fast devsel, latency 0, IRQ 22
> > Memory at 90440000 (64-bit, non-prefetchable) [size=16K]
> > Capabilities: <access denied>
> > Kernel driver in use: HDA Intel
> > Kernel modules: snd-hda-intel
> >
> > The dmesg output with 2.6.27 and 2.6.28-rc are here:
> >
> > http://tikei.de/dmesg_2.6.27.5
> > http://tikei.de/dmesg_2.6.28-rc6
>
> Could you run alsa-info.sh with --no-upload option on both kernels
> and attach the generated files? The script is found at
> http://www.alsa-project.org/alsa-info.sh

http://tikei.de/alsa-info-2.6.27.5.txt
http://tikei.de/alsa-info-2.6.28-broken.txt
http://tikei.de/alsa-info-2.6.28-fixed.txt (here I unchecked/rechecked
the IEC958 toggle)

Regards,
Tino

2008-11-25 07:15:47

by Takashi Iwai

[permalink] [raw]
Subject: Re: 2.6.28-rc regression: digital audio inactive after resume from suspend

At Tue, 25 Nov 2008 08:03:12 +0100,
Tino Keitel wrote:
>
> On Tue, Nov 25, 2008 at 00:10:14 +0100, Takashi Iwai wrote:
> > At Mon, 24 Nov 2008 22:22:25 +0100,
> > Tino Keitel wrote:
> > >
> > > Hi,
> > >
> > > the digital audio out (optical) is inactive (no red light, and
> > > therefore silent) after resume from suspend on my Mac mini Core Duo.
> > > When I disable and enable the IEC958 toggle, it works again.
> > >
> > > This didn't happen with 2.6.27. Currently, I use 2.6.28-rc6 as of
> > > commit ged31348.
> > >
> > > This is the hardware in lspci:
> > >
> > > 00:1b.0 Audio device [0403]: Intel Corporation 82801G (ICH7 Family)
> > > High Definition Audio Controller [8086:27d8] (rev 02)
> > > Subsystem: Sigmatel Device [8384:7680]
> > > Flags: bus master, fast devsel, latency 0, IRQ 22
> > > Memory at 90440000 (64-bit, non-prefetchable) [size=16K]
> > > Capabilities: <access denied>
> > > Kernel driver in use: HDA Intel
> > > Kernel modules: snd-hda-intel
> > >
> > > The dmesg output with 2.6.27 and 2.6.28-rc are here:
> > >
> > > http://tikei.de/dmesg_2.6.27.5
> > > http://tikei.de/dmesg_2.6.28-rc6
> >
> > Could you run alsa-info.sh with --no-upload option on both kernels
> > and attach the generated files? The script is found at
> > http://www.alsa-project.org/alsa-info.sh
>
> http://tikei.de/alsa-info-2.6.27.5.txt
> http://tikei.de/alsa-info-2.6.28-broken.txt
> http://tikei.de/alsa-info-2.6.28-fixed.txt (here I unchecked/rechecked
> the IEC958 toggle)

Could you try the patch below?


thanks,

Takashi

---
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
index ba1ab73..eb91641 100644
--- a/sound/pci/hda/hda_codec.c
+++ b/sound/pci/hda/hda_codec.c
@@ -1436,12 +1436,12 @@ static void set_dig_out(struct hda_codec *codec, hda_nid_t nid,
{
hda_nid_t *d;

- snd_hda_codec_write(codec, nid, 0, verb, val);
+ snd_hda_codec_write_cache(codec, nid, 0, verb, val);
d = codec->slave_dig_outs;
if (!d)
return;
for (; *d; d++)
- snd_hda_codec_write(codec, *d, 0, verb, val);
+ snd_hda_codec_write_cache(codec, *d, 0, verb, val);
}

static inline void set_dig_out_convert(struct hda_codec *codec, hda_nid_t nid,

2008-11-25 09:22:13

by Tino Keitel

[permalink] [raw]
Subject: Re: 2.6.28-rc regression: digital audio inactive after resume from suspend

On Tue, Nov 25, 2008 at 08:15:36 +0100, Takashi Iwai wrote:

[...]

> Could you try the patch below?

This patch fixed it, thanks.

Regards,
Tino