At Thu, 16 Aug 2007 00:33:15 +0200, Nicola Fagnani wrote: > > As you said, the patch didn't solve the problem. > To test audio I used this simple command: > > aplay < /bin/bash > > but if there is no audio output for a while, executing it produces no noise. > When I said the sound goes mute, I meant there is no sound, not that some > audio channel is muted. Ah, so you mean that the sound goes away once after 10 second inactive state that results in the automatic power-off? I thought you meaning that the sound vanishes suddenly _during_ playing back. > If I set the power_save_controller=0 module option the sound works always, > so these are the details of my hardware: Are you sure that you passed power_save_controller=0, not power_save=0? See below. > cat /proc/asound/card0/codec#0 > > Codec: Realtek ALC885 > Address: 0 > Vendor Id: 0x10ec0885 > Subsystem Id: 0x106b1000 OK, it's an Intel Mac, right? Then maybe the culprit is the missing GPIO initialization. It's done only at creation time. Did you get the PM suspend/resume working with this machine? I guess you'll have the same problem, too. Anyway, try the patch below. Hopefully it fixes the power-save problem too. Takashi diff -r 64a0f0aac927 pci/hda/patch_realtek.c --- a/pci/hda/patch_realtek.c Wed Aug 15 22:20:45 2007 +0200 +++ b/pci/hda/patch_realtek.c Thu Aug 16 12:15:05 2007 +0200 @@ -5275,6 +5275,20 @@ static void alc882_gpio_mute(struct hda_ AC_VERB_SET_GPIO_DATA, gpiostate); } +/* set up GPIO at initialization */ +static void alc885_macpro_init_hook(struct hda_codec *codec) +{ + alc882_gpio_mute(codec, 0, 0); + alc882_gpio_mute(codec, 1, 0); +} + +/* set up GPIO and update auto-muting at initialization */ +static void alc885_imac24_init_hook(struct hda_codec *codec) +{ + alc885_macpro_init_hook(codec); + alc885_imac24_automute(codec); +} + /* * generic initialization of ADC, input mixers and output mixers */ @@ -5479,6 +5493,7 @@ static struct alc_config_preset alc882_p .num_channel_mode = ARRAY_SIZE(alc882_ch_modes), .channel_mode = alc882_ch_modes, .input_mux = &alc882_capture_source, + .init_hook = alc885_macpro_init_hook, }, [ALC885_IMAC24] = { .mixers = { alc885_imac24_mixer }, @@ -5491,7 +5506,7 @@ static struct alc_config_preset alc882_p .channel_mode = alc882_ch_modes, .input_mux = &alc882_capture_source, .unsol_event = alc885_imac24_unsol_event, - .init_hook = alc885_imac24_automute, + .init_hook = alc885_imac24_init_hook, }, [ALC882_TARGA] = { .mixers = { alc882_targa_mixer, alc882_chmode_mixer, @@ -5693,11 +5708,6 @@ static int patch_alc882(struct hda_codec if (board_config != ALC882_AUTO) setup_preset(spec, &alc882_presets[board_config]); - - if (board_config == ALC885_MACPRO || board_config == ALC885_IMAC24) { - alc882_gpio_mute(codec, 0, 0); - alc882_gpio_mute(codec, 1, 0); - } spec->stream_name_analog = "ALC882 Analog"; spec->stream_analog_playback = &alc882_pcm_analog_playback; _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel