Re: [PATCH 0/4] More aggressive PM for HD-audio

Takashi Iwai
2015-03-26T13:10:20Z

At Thu, 26 Mar 2015 20:24:43 +0800,
Hui Wang wrote:
>
> [1 <text/plain; utf-8 (8bit)>]
> On 03/21/2015 02:38 PM, Hui Wang wrote:
> > On 03/21/2015 12:20 AM, David Henningsson wrote:
> >>
> >> On 2015-03-18 09:50, Takashi Iwai wrote:
> >>> Hi,
> >>>
> >>> here is a patchset for supporting more aggressive PM for HD-audio.
> >>> This allows to change the power state of each widget more dynamically
> >>> with jack and stream states. It's activated only when the codec
> >>> driver (or via sysfs or f/w patch) sets codec->power_mgmt flag.
> >>>
> >>> In theory, this should work for the recent Realtek codecs, but
> >>> currently I have no machine for test.
> >>>
> >>> David, could you or your team check whether this works for ALC282 or
> >>> such? Just add like:
> >>>
> >>> --- a/sound/pci/hda/patch_realtek.c
> >>> +++ b/sound/pci/hda/patch_realtek.c
> >>> @@ -5415,6 +5415,7 @@ static int patch_alc269(struct hda_codec *codec)
> >>>
> >>> spec = codec->spec;
> >>> spec->gen.shared_mic_vref_pin = 0x18;
> >>> + codec->power_mgmt = 1;
> >>>
> >>> snd_hda_pick_fixup(codec, alc269_fixup_models,
> >>> alc269_fixup_tbl, alc269_fixups);
> >>>
> >>>
> >>> The patchset is for for-next branch of sound git tree, but they might
> >>> be applicable to 4.0-rc (or even older), too. The current patches are
> >>> found in topic/hda-power branch.
> >>
> >> So I hoped to be able to look at this today, but it turns out the
> >> machine I was thinking of using for testing has an ALC262 codec,
> >> which hardly counts as "new".
> >>
> >> Hui, is this something you feel like taking on? Otherwise I'll try to
> >> talk to someone in Taipei.
> >>
> > OK， I will look for the machine to do the test next week.
> >
> > Regards,
> > Hui.
> >
> Sorry for late response, today is my first day in the office back from
> vacation, I checked all machines in the Beijing office, none of them has
> the ALC282 codec, I will continue to look for the machine from other office.
>
> And I did the test on the machines with the alc283, alc255, alc292 and
> alc269, the testing result were same, there were no sound output from
> internal speaker or headphone, and the internal mic or external mic
> can't record any sound. The test steps as below:
>
> 1. power_save_node = 0
> checkout the hda-power branch, build the kernel based on this branch.
> Install the kernel to the above machines and boot into the desktop
> test internal speaker and internal mic, works very well, plug a headset,
> test headphone and external mic, works very well.
> run pm_suspend, wait 5 seconds, wakeup the system, redo the above test,
> everything works very well.

OK, this is expected. The patch shouldn't touch this case.

> 2. power_save_node = 1
> enable the power_save_node as below:
> @@ -5426,6 +5426,8 @@ static int patch_alc269(struct hda_codec *codec)
>
> alc_auto_parse_customize_define(codec);
>
> + codec->power_save_node = 1;
> +
> if (has_cdefine_beep(codec))
> spec->gen.beep_nid = 0x01;
> rebuild the kernel, install the kernel to the above machines and boot
> into the desktop
> test internal speaker and internal mic, we can play sound to internal
> speaker without any errors, but I can't hear any sound from the speaker;
> I can use the internal mic to record without errors, but recorded file
> did not include any sound pcm (maybe all 0x00 or 0xff)
> I plug a headset into the headset jack, the detection works very well,
> but I can't hear sound from headphone when play a sound, and I can't use
> headset mic to record any sound as well.
>
>
> And I attached 2 alsa-info.txt, one is the power_save_node=0, the other
> is the power_save_node=1

Thanks. The alsa-info.sh outputs show no difference but the power
state, so the widget attributes seem kept with the power state change,
as it seems.

Could you give alsa-info.sh output *during* playing with
power_save_node=1?

Takashi
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org