All of lore.kernel.org
 help / color / mirror / Atom feed
* snd-hda-intel: Power management not enabled until audio is played
@ 2012-02-11  9:59 Paul Menzel
  2012-02-13 14:16 ` Takashi Iwai
  0 siblings, 1 reply; 4+ messages in thread
From: Paul Menzel @ 2012-02-11  9:59 UTC (permalink / raw)
  To: alsa-devel


[-- Attachment #1.1.1: Type: text/plain, Size: 7641 bytes --]

Dear ALSA folks,


playing with PowerTOP 1.97 I notice that it lists 100 % usage for the
Audio device on several systems [1].

I made sure that power management is enabled.

        $ grep snd /etc/modprobe.d/*
        …: options snd_hda_intel power_save=1
        $ more /sys/module/snd_hda_intel/parameters/power_save_controller
        Y
        $ more /sys/module/snd_hda_intel/parameters/power_save
        0

Since I was on AC power pm-utils seems to reset that parameter to not
save power. :/

        $ sudo su
        # echo "1" > /sys/module/snd_hda_intel/parameters/power_save
        # exit

But enabling that does not change anything right away. Only after using
the device by playing some audio – `speaker-test` in this case, the
power management seems to kick in.

        $ more /sys/module/snd_hda_intel/parameters/power_save*
        ::::::::::::::
        /sys/module/snd_hda_intel/parameters/power_save
        ::::::::::::::
        1
        ::::::::::::::
        /sys/module/snd_hda_intel/parameters/power_save_controller
        ::::::::::::::
        Y
        $ more /sys/devices/pci0000\:00/0000\:00\:1b.0/sound/card0/hwC0D0/power_*_acct
        ::::::::::::::
        /sys/devices/pci0000:00/0000:00:1b.0/sound/card0/hwC0D0/power_off_acct
        ::::::::::::::
        9640
        ::::::::::::::
        /sys/devices/pci0000:00/0000:00:1b.0/sound/card0/hwC0D0/power_on_acct
        ::::::::::::::
        405056
        $ more /sys/devices/pci0000\:00/0000\:00\:1b.0/sound/card0/hwC0D0/power_*_acct
        ::::::::::::::
        /sys/devices/pci0000:00/0000:00:1b.0/sound/card0/hwC0D0/power_off_acct
        ::::::::::::::
        9640
        ::::::::::::::
        /sys/devices/pci0000:00/0000:00:1b.0/sound/card0/hwC0D0/power_on_acct
        ::::::::::::::
        409664
        $ more /sys/devices/pci0000\:00/0000\:00\:1b.0/sound/card0/hwC0D0/power_*_acct
        ::::::::::::::
        /sys/devices/pci0000:00/0000:00:1b.0/sound/card0/hwC0D0/power_off_acct
        ::::::::::::::
        9640
        ::::::::::::::
        /sys/devices/pci0000:00/0000:00:1b.0/sound/card0/hwC0D0/power_on_acct
        ::::::::::::::
        413672
        $ date && more /sys/devices/pci0000\:00/0000\:00\:1b.0/sound/card0/hwC0D0/power_*_acct
        Sa 11. Feb 10:08:46 CET 2012
        ::::::::::::::
        /sys/devices/pci0000:00/0000:00:1b.0/sound/card0/hwC0D0/power_off_acct
        ::::::::::::::
        9640
        ::::::::::::::
        /sys/devices/pci0000:00/0000:00:1b.0/sound/card0/hwC0D0/power_on_acct
        ::::::::::::::
        464644
        $ date && more /sys/devices/pci0000\:00/0000\:00\:1b.0/sound/card0/hwC0D0/power_*_acct
        Sa 11. Feb 10:08:52 CET 2012
        ::::::::::::::
        /sys/devices/pci0000:00/0000:00:1b.0/sound/card0/hwC0D0/power_off_acct
        ::::::::::::::
        9640
        ::::::::::::::
        /sys/devices/pci0000:00/0000:00:1b.0/sound/card0/hwC0D0/power_on_acct
        ::::::::::::::
        470076
        $ date && more /sys/devices/pci0000\:00/0000\:00\:1b.0/sound/card0/hwC0D0/power_*_acct
        Sa 11. Feb 10:09:04 CET 2012
        ::::::::::::::
        /sys/devices/pci0000:00/0000:00:1b.0/sound/card0/hwC0D0/power_off_acct
        ::::::::::::::
        9640
        ::::::::::::::
        /sys/devices/pci0000:00/0000:00:1b.0/sound/card0/hwC0D0/power_on_acct
        ::::::::::::::
        482604
        $ date && more /sys/devices/pci0000\:00/0000\:00\:1b.0/sound/card0/hwC0D0/power_*_acct
        Sa 11. Feb 10:10:41 CET 2012
        ::::::::::::::
        /sys/devices/pci0000:00/0000:00:1b.0/sound/card0/hwC0D0/power_off_acct
        ::::::::::::::
        9640
        ::::::::::::::
        /sys/devices/pci0000:00/0000:00:1b.0/sound/card0/hwC0D0/power_on_acct
        ::::::::::::::
        578904
        $ date && speaker-test
        Sa 11. Feb 10:12:58 CET 2012
        
        speaker-test 1.0.24.2
        
        Wiedergabe-Gerät ist default
        Stream-Parameter sind 48000 Hz, S16_LE, 1 Kanäle
        Verwende 16 Oktaven rosa Rauschen
        Rate ist 48000 Hz (angefordert: 48000 Hz)
        Puffergröße von 2048 bis 8192
        Periodengröße von 1024 bis 1024
        Verwende maximale Puffergröße 8192
        Perioden = 4
        gesetzt: period_size = 1024
        gesetzt: buffer_size = 8192
         0 - Vorne links
        Zeit pro Periode = 2,828717
         0 - Vorne links
        Zeit pro Periode = 2,985785
         0 - Vorne links
        Zeit pro Periode = 2,985784
         0 - Vorne links
        Zeit pro Periode = 2,985806
         0 - Vorne links
        Zeit pro Periode = 2,985834
         0 - Vorne links
        Zeit pro Periode = 2,985798
         0 - Vorne links
        Zeit pro Periode = 2,985838
         0 - Vorne links
        ^C
        $ date && more /sys/devices/pci0000\:00/0000\:00\:1b.0/sound/card0/hwC0D0/power_*_acct
        Sa 11. Feb 10:13:24 CET 2012
        ::::::::::::::
        /sys/devices/pci0000:00/0000:00:1b.0/sound/card0/hwC0D0/power_off_acct
        ::::::::::::::
        100732
        ::::::::::::::
        /sys/devices/pci0000:00/0000:00:1b.0/sound/card0/hwC0D0/power_on_acct
        ::::::::::::::
        651372
        $ date && more /sys/devices/pci0000\:00/0000\:00\:1b.0/sound/card0/hwC0D0/power_*_acct
        Sa 11. Feb 10:13:29 CET 2012
        ::::::::::::::
        /sys/devices/pci0000:00/0000:00:1b.0/sound/card0/hwC0D0/power_off_acct
        ::::::::::::::
        105384
        ::::::::::::::
        /sys/devices/pci0000:00/0000:00:1b.0/sound/card0/hwC0D0/power_on_acct
        ::::::::::::::
        651372
        $ date && more /sys/devices/pci0000\:00/0000\:00\:1b.0/sound/card0/hwC0D0/power_*_acct
        Sa 11. Feb 10:24:18 CET 2012
        ::::::::::::::
        /sys/devices/pci0000:00/0000:00:1b.0/sound/card0/hwC0D0/power_off_acct
        ::::::::::::::
        753148
        ::::::::::::::
        /sys/devices/pci0000:00/0000:00:1b.0/sound/card0/hwC0D0/power_on_acct
        ::::::::::::::
        652876

Is that an error in the driver? I have seen that with Realtek and
Conexant devices. Please also find the output of `alsa-info.sh` [2]
attached. There is no difference before and after playing some audio.

        $ diff -u alsa-info.txt.beforeplayingaudio alsa-info.txt.afterplayingaudio 
        --- alsa-info.txt.beforeplayingaudio	2012-02-11 10:11:31.000000000 +0100
        +++ alsa-info.txt.afterplayingaudio	2012-02-11 10:13:52.000000000 +0100
        @@ -3,7 +3,7 @@
         !!ALSA Information Script v 0.4.60
         !!################################
         
        -!!Script ran on: Sat Feb 11 09:11:29 UTC 2012
        +!!Script ran on: Sat Feb 11 09:13:51 UTC 2012
         
         
         !!Linux Distribution
        @@ -379,7 +379,7 @@
         crw-rw----+ 1 root audio 116,  5 Feb 11 10:00 /dev/snd/controlC0
         crw-rw----+ 1 root audio 116,  4 Feb 11 10:00 /dev/snd/hwC0D0
         crw-rw----+ 1 root audio 116,  3 Feb 11 10:00 /dev/snd/pcmC0D0c
        -crw-rw----+ 1 root audio 116,  2 Feb 11 10:00 /dev/snd/pcmC0D0p
        +crw-rw----+ 1 root audio 116,  2 Feb 11 10:12 /dev/snd/pcmC0D0p
         crw-rw----+ 1 root audio 116,  1 Feb 11 10:00 /dev/snd/seq
         crw-rw----+ 1 root audio 116, 33 Feb 11 10:00 /dev/snd/timer


Thanks,

Paul


[1] http://lists.lesswatts.org/pipermail/discuss/2012-February/000687.html
[2] http://alsa-project.org/main/index.php/Help_To_Debug

[-- Attachment #1.1.2: alsa-info.txt.beforeplayingaudio --]
[-- Type: text/plain, Size: 22834 bytes --]

upload=true&script=true&cardinfo=
!!################################
!!ALSA Information Script v 0.4.60
!!################################

!!Script ran on: Sat Feb 11 09:11:29 UTC 2012


!!Linux Distribution
!!------------------

Debian GNU/Linux wheezy/sid \n \l


!!DMI Information
!!---------------

Manufacturer:      ASUSTeK Computer INC.
Product Name:      701
Product Version:   x.x


!!Kernel Information
!!------------------

Kernel release:    3.0.0-1-686-pae
Operating System:  GNU/Linux
Architecture:      i686
Processor:         unknown
SMP Enabled:       Yes


!!ALSA Version
!!------------

Driver version:     1.0.24
Library version:    1.0.24.1
Utilities version:  1.0.24.2


!!Loaded ALSA modules
!!-------------------

snd_hda_intel


!!Sound Servers on this system
!!----------------------------

Pulseaudio:
      Installed - Yes (/usr/bin/pulseaudio)
      Running - No

ESound Daemon:
      Installed - Yes (/usr/bin/esd)
      Running - No

aRts:
      Installed - Yes (/usr/bin/artsd)
      Running - No


!!Soundcards recognised by ALSA
!!-----------------------------

 0 [Intel          ]: HDA-Intel - HDA Intel
                      HDA Intel at 0xf7eb8000 irq 43


!!PCI Soundcards installed in the system
!!--------------------------------------

00:1b.0 Audio device: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (rev 04)


!!Advanced information - PCI Vendor/Device/Subsystem ID's
!!--------------------------------------------------------

00:1b.0 0403: 8086:2668 (rev 04)
	Subsystem: 1043:82a1


!!Modprobe options (Sound related)
!!--------------------------------

snd-atiixp-modem: index=-2
snd-intel8x0m: index=-2
snd-via82xx-modem: index=-2
snd-pcsp: index=-2
snd-usb-audio: index=-2
snd_hda_intel: power_save=1


!!Loaded sound module options
!!--------------------------

!!Module: snd_hda_intel
	bdl_pos_adj : 1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	beep_mode : 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
	enable : Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y
	enable_msi : -1
	id : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	index : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	model : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	patch : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	position_fix : 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
	power_save : 1
	power_save_controller : Y
	probe_mask : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	probe_only : 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
	single_cmd : N


!!HDA-Intel Codec information
!!---------------------------
--startcollapse--

Codec: Realtek ALC662 rev1
Address: 0
AFG Function Id: 0x1 (unsol 1)
Vendor Id: 0x10ec0662
Subsystem Id: 0x104382a1
Revision Id: 0x100101
No Modem Function Group found
Default PCM:
    rates [0x160]: 44100 48000 96000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
GPIO: io=2, o=0, i=0, unsolicited=1, wake=0
  IO[0]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[1]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
Node 0x02 [Audio Output] wcaps 0x1d: Stereo Amp-Out
  Control: name="Master Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Device: name="ALC662 rev1 Analog", type="Audio", device=0
  Amp-Out caps: ofs=0x40, nsteps=0x40, stepsize=0x03, mute=0
  Amp-Out vals:  [0x3d 0x3d]
  Converter: stream=0, channel=0
  PCM:
    rates [0x160]: 44100 48000 96000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Node 0x03 [Audio Output] wcaps 0x1d: Stereo Amp-Out
  Amp-Out caps: ofs=0x40, nsteps=0x40, stepsize=0x03, mute=0
  Amp-Out vals:  [0x40 0x40]
  Converter: stream=0, channel=0
  PCM:
    rates [0x160]: 44100 48000 96000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Node 0x04 [Audio Output] wcaps 0x1d: Stereo Amp-Out
  Amp-Out caps: ofs=0x40, nsteps=0x40, stepsize=0x03, mute=0
  Amp-Out vals:  [0x40 0x40]
  Converter: stream=0, channel=0
  PCM:
    rates [0x160]: 44100 48000 96000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Node 0x05 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x06 [Audio Output] wcaps 0x211: Stereo Digital
  Converter: stream=0, channel=0
  Digital:
  Digital category: 0x0
  PCM:
    rates [0x160]: 44100 48000 96000
    bits [0x1e]: 16 20 24 32
    formats [0x1]: PCM
Node 0x07 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x08 [Audio Input] wcaps 0x10011b: Stereo Amp-In
  Control: name="Capture Switch", index=1, device=0
  Control: name="Capture Volume", index=1, device=0
  Amp-In caps: ofs=0x09, nsteps=0x1f, stepsize=0x05, mute=1
  Amp-In vals:  [0x89 0x89]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x160]: 44100 48000 96000
    bits [0x6]: 16 20
    formats [0x1]: PCM
  Connection: 1
     0x23
Node 0x09 [Audio Input] wcaps 0x10011b: Stereo Amp-In
  Control: name="Capture Switch", index=0, device=0
  Control: name="Capture Volume", index=0, device=0
  Device: name="ALC662 rev1 Analog", type="Audio", device=0
  Amp-In caps: ofs=0x09, nsteps=0x1f, stepsize=0x05, mute=1
  Amp-In vals:  [0x1f 0x1f]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x160]: 44100 48000 96000
    bits [0x6]: 16 20
    formats [0x1]: PCM
  Connection: 1
     0x22
Node 0x0a [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x0b [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Control: name="Mic Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Mic Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Internal Mic Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=1, ofs=0
  Control: name="Internal Mic Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=1, ofs=0
  Control: name="Beep Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=5, ofs=0
  Control: name="Beep Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=5, ofs=0
  Amp-In caps: ofs=0x17, nsteps=0x1f, stepsize=0x05, mute=1
  Amp-In vals:  [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x00 0x00] [0x80 0x80] [0x80 0x80] [0x80 0x80]
  Connection: 9
     0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x14 0x15 0x16
Node 0x0c [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Connection: 2
     0x02 0x0b
Node 0x0d [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Connection: 2
     0x03 0x0b
Node 0x0e [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Connection: 2
     0x04 0x0b
Node 0x0f [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x10 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x11 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x12 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x13 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x14 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0001003c: IN OUT HP EAPD Detect
  EAPD 0x2: EAPD
  Pin Default 0x99130110: [Fixed] Speaker at Int ATAPI
    Conn = ATAPI, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x0c
Node 0x15 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x00010034: IN OUT EAPD Detect
  EAPD 0x2: EAPD
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x0d
Node 0x16 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x00000034: IN OUT Detect
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x0e
Node 0x17 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x18 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out
  Control: name="Mic Boost Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x02 0x02]
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x00001734: IN OUT Detect
    Vref caps: HIZ 50 GRD 80
  Pin Default 0x01a19820: [Jack] Mic at Ext Rear
    Conn = 1/8, Color = Pink
    DefAssociation = 0x2, Sequence = 0x0
  Pin-ctls: 0x24: IN VREF_80
  Unsolicited: tag=08, enabled=1
  Connection: 1
     0x0e
Node 0x19 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out
  Control: name="Internal Mic Boost Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00]
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x0000173c: IN OUT HP Detect
    Vref caps: HIZ 50 GRD 80
  Pin Default 0x99a3092f: [Fixed] Mic at Int ATAPI
    Conn = ATAPI, Color = Unknown
    DefAssociation = 0x2, Sequence = 0xf
    Misc = NO_PRESENCE
  Pin-ctls: 0x24: IN VREF_80
  Unsolicited: tag=00, enabled=0
  Connection: 2
     0x0c* 0x0e
Node 0x1a [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x00000034: IN OUT Detect
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x20: IN
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x0d
Node 0x1b [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00]
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0000173c: IN OUT HP Detect
    Vref caps: HIZ 50 GRD 80
  Pin Default 0x0121401f: [Jack] HP Out at Ext Rear
    Conn = 1/8, Color = Green
    DefAssociation = 0x1, Sequence = 0xf
  Pin-ctls: 0xc0: OUT HP VREF_HIZ
  Unsolicited: tag=04, enabled=1
  Connection: 2
     0x0c* 0x0e
Node 0x1c [Pin Complex] wcaps 0x400001: Stereo
  Pincap 0x00000020: IN
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x20: IN
Node 0x1d [Pin Complex] wcaps 0x400000: Mono
  Pincap 0x00000020: IN
  Pin Default 0x40148a05: [N/A] Speaker at Ext N/A
    Conn = RCA, Color = Purple
    DefAssociation = 0x0, Sequence = 0x5
  Pin-ctls: 0x20: IN
Node 0x1e [Pin Complex] wcaps 0x400300: Mono Digital
  Pincap 0x00000010: OUT
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Connection: 1
     0x06
Node 0x1f [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x20 [Vendor Defined Widget] wcaps 0xf00040: Mono
  Processing caps: benign=0, ncoeff=12
Node 0x21 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x22 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x80 0x80] [0x00 0x00] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80]
  Connection: 10
     0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x14 0x15 0x16 0x0b
Node 0x23 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80]
  Connection: 10
     0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x14 0x15 0x16 0x0b
Node 0x24 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x25 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x26 [Vendor Defined Widget] wcaps 0xf00000: Mono
--endcollapse--


!!ALSA Device nodes
!!-----------------

crw-rw----+ 1 root audio 116,  5 Feb 11 10:00 /dev/snd/controlC0
crw-rw----+ 1 root audio 116,  4 Feb 11 10:00 /dev/snd/hwC0D0
crw-rw----+ 1 root audio 116,  3 Feb 11 10:00 /dev/snd/pcmC0D0c
crw-rw----+ 1 root audio 116,  2 Feb 11 10:00 /dev/snd/pcmC0D0p
crw-rw----+ 1 root audio 116,  1 Feb 11 10:00 /dev/snd/seq
crw-rw----+ 1 root audio 116, 33 Feb 11 10:00 /dev/snd/timer

/dev/snd/by-path:
total 0
drwxr-xr-x 2 root root  60 Feb 11 10:00 .
drwxr-xr-x 3 root root 180 Feb 11 10:00 ..
lrwxrwxrwx 1 root root  12 Feb 11 10:00 pci-0000:00:1b.0 -> ../controlC0


!!Aplay/Arecord output
!!------------

APLAY

**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: ALC662 rev1 Analog [ALC662 rev1 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

ARECORD

**** List of CAPTURE Hardware Devices ****
card 0: Intel [HDA Intel], device 0: ALC662 rev1 Analog [ALC662 rev1 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

!!Amixer output
!!-------------

!!-------Mixer controls for card 0 [Intel]

Card hw:0 'Intel'/'HDA Intel at 0xf7eb8000 irq 43'
  Mixer name	: 'Realtek ALC662 rev1'
  Components	: 'HDA:10ec0662,104382a1,00100101'
  Controls      : 16
  Simple ctrls  : 10
Simple mixer control 'Master',0
  Capabilities: pvolume pswitch pswitch-joined penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 64
  Mono:
  Front Left: Playback 61 [95%] [-3.00dB] [on]
  Front Right: Playback 61 [95%] [-3.00dB] [on]
Simple mixer control 'PCM',0
  Capabilities: pvolume penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 255
  Mono:
  Front Left: Playback 253 [99%] [0.40dB]
  Front Right: Playback 253 [99%] [0.40dB]
Simple mixer control 'Mic',0
  Capabilities: pvolume pswitch penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 31
  Mono:
  Front Left: Playback 0 [0%] [-34.50dB] [off]
  Front Right: Playback 0 [0%] [-34.50dB] [off]
Simple mixer control 'Mic Boost',0
  Capabilities: volume penum
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 2 [67%] [20.00dB]
  Front Right: 2 [67%] [20.00dB]
Simple mixer control 'Beep',0
  Capabilities: pvolume pswitch penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 31
  Mono:
  Front Left: Playback 0 [0%] [-34.50dB] [on]
  Front Right: Playback 0 [0%] [-34.50dB] [on]
Simple mixer control 'Capture',0
  Capabilities: cvolume cswitch penum
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 31
  Front Left: Capture 31 [100%] [33.00dB] [on]
  Front Right: Capture 31 [100%] [33.00dB] [on]
Simple mixer control 'Capture',1
  Capabilities: cvolume cswitch penum
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 31
  Front Left: Capture 9 [29%] [0.00dB] [off]
  Front Right: Capture 9 [29%] [0.00dB] [off]
Simple mixer control 'Digital',0
  Capabilities: cvolume penum
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 120
  Front Left: Capture 60 [50%] [0.00dB]
  Front Right: Capture 60 [50%] [0.00dB]
Simple mixer control 'Internal Mic',0
  Capabilities: pvolume pswitch penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 31
  Mono:
  Front Left: Playback 0 [0%] [-34.50dB] [off]
  Front Right: Playback 0 [0%] [-34.50dB] [off]
Simple mixer control 'Internal Mic Boost',0
  Capabilities: volume penum
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 0 [0%] [0.00dB]
  Front Right: 0 [0%] [0.00dB]


!!Alsactl output
!!-------------

--startcollapse--
state.Intel {
	control.1 {
		iface MIXER
		name 'Master Playback Volume'
		value.0 61
		value.1 61
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 64'
			dbmin -6400
			dbmax 0
			dbvalue.0 -300
			dbvalue.1 -300
		}
	}
	control.2 {
		iface MIXER
		name 'Master Playback Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.3 {
		iface MIXER
		name 'Mic Boost Volume'
		value.0 2
		value.1 2
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 3'
			dbmin 0
			dbmax 3000
			dbvalue.0 2000
			dbvalue.1 2000
		}
	}
	control.4 {
		iface MIXER
		name 'Mic Playback Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 31'
			dbmin -3450
			dbmax 1200
			dbvalue.0 -3450
			dbvalue.1 -3450
		}
	}
	control.5 {
		iface MIXER
		name 'Mic Playback Switch'
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.6 {
		iface MIXER
		name 'Internal Mic Boost Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 3'
			dbmin 0
			dbmax 3000
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.7 {
		iface MIXER
		name 'Internal Mic Playback Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 31'
			dbmin -3450
			dbmax 1200
			dbvalue.0 -3450
			dbvalue.1 -3450
		}
	}
	control.8 {
		iface MIXER
		name 'Internal Mic Playback Switch'
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.9 {
		iface MIXER
		name 'Capture Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.10 {
		iface MIXER
		name 'Capture Switch'
		index 1
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.11 {
		iface MIXER
		name 'Capture Volume'
		value.0 31
		value.1 31
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 31'
			dbmin -1350
			dbmax 3300
			dbvalue.0 3300
			dbvalue.1 3300
		}
	}
	control.12 {
		iface MIXER
		name 'Capture Volume'
		index 1
		value.0 9
		value.1 9
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 31'
			dbmin -1350
			dbmax 3300
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.13 {
		iface MIXER
		name 'Beep Playback Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 31'
			dbmin -3450
			dbmax 1200
			dbvalue.0 -3450
			dbvalue.1 -3450
		}
	}
	control.14 {
		iface MIXER
		name 'Beep Playback Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.15 {
		iface MIXER
		name 'PCM Playback Volume'
		value.0 253
		value.1 253
		comment {
			access 'read write user'
			type INTEGER
			count 2
			range '0 - 255'
			tlv '0000000100000008ffffec1400000014'
			dbmin -5100
			dbmax 0
			dbvalue.0 -40
			dbvalue.1 -40
		}
	}
	control.16 {
		iface MIXER
		name 'Digital Capture Volume'
		value.0 60
		value.1 60
		comment {
			access 'read write user'
			type INTEGER
			count 2
			range '0 - 120'
			tlv '0000000100000008fffff44800000032'
			dbmin -3000
			dbmax 3000
			dbvalue.0 0
			dbvalue.1 0
		}
	}
}
--endcollapse--


!!All Loaded Modules
!!------------------

Module
bluetooth
crc16
msr
mperf
cpufreq_conservative
cpufreq_userspace
cpufreq_powersave
cpufreq_stats
uinput
fuse
loop
joydev
snd_hda_codec_realtek
snd_hda_intel
snd_hda_codec
snd_hwdep
snd_pcm_oss
snd_mixer_oss
snd_pcm
snd_seq_midi
uvcvideo
i915
evdev
usb_storage
snd_rawmidi
usbhid
videodev
media
hid
uas
psmouse
snd_seq_midi_event
serio_raw
rng_core
snd_seq
drm_kms_helper
snd_timer
snd_seq_device
drm
battery
ac
power_supply
snd
eeepc_laptop
sparse_keymap
rfkill
i2c_algo_bit
pci_hotplug
processor
button
i2c_core
soundcore
snd_page_alloc
video
ext3
jbd
mbcache
sg
sd_mod
crc_t10dif
ata_generic
ata_piix
ahci
libahci
libata
uhci_hcd
scsi_mod
ehci_hcd
usbcore
atl2
thermal
thermal_sys


!!Sysfs Files
!!-----------

/sys/class/sound/hwC0D0/init_pin_configs:
0x14 0x99130110
0x15 0x411111f0
0x16 0x411111f0
0x18 0x01a19820
0x19 0x99a3092f
0x1a 0x411111f0
0x1b 0x0121401f
0x1c 0x411111f0
0x1d 0x40148a05
0x1e 0x411111f0

/sys/class/sound/hwC0D0/driver_pin_configs:

/sys/class/sound/hwC0D0/user_pin_configs:

/sys/class/sound/hwC0D0/init_verbs:


!!ALSA/HDA dmesg
!!------------------

[    8.968743] [drm] Initialized i915 1.6.0 20080730 for 0000:00:02.0 on minor 0
[    8.968872] HDA Intel 0000:00:1b.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[    8.969013] HDA Intel 0000:00:1b.0: irq 43 for MSI/MSI-X
[    8.969083] HDA Intel 0000:00:1b.0: setting latency timer to 64
[    9.013951] input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.0/input/input11
[    9.019343] input: HDA Intel Mic as /devices/pci0000:00/0000:00:1b.0/sound/card0/input12
[    9.019893] input: HDA Intel Headphone as /devices/pci0000:00/0000:00:1b.0/sound/card0/input13
[    9.021715] input: SynPS/2 Synaptics TouchPad as /devices/platform/i8042/serio1/input/input14



[-- Attachment #1.2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: snd-hda-intel: Power management not enabled until audio is played
  2012-02-11  9:59 snd-hda-intel: Power management not enabled until audio is played Paul Menzel
@ 2012-02-13 14:16 ` Takashi Iwai
  2012-02-13 19:51   ` Paul Menzel
  0 siblings, 1 reply; 4+ messages in thread
From: Takashi Iwai @ 2012-02-13 14:16 UTC (permalink / raw)
  To: Paul Menzel; +Cc: alsa-devel

At Sat, 11 Feb 2012 10:59:04 +0100,
Paul Menzel wrote:
> 
> Dear ALSA folks,
> 
> 
> playing with PowerTOP 1.97 I notice that it lists 100 % usage for the
> Audio device on several systems [1].
> 
> I made sure that power management is enabled.
> 
>         $ grep snd /etc/modprobe.d/*
>         …: options snd_hda_intel power_save=1
>         $ more /sys/module/snd_hda_intel/parameters/power_save_controller
>         Y
>         $ more /sys/module/snd_hda_intel/parameters/power_save
>         0
> 
> Since I was on AC power pm-utils seems to reset that parameter to not
> save power. :/
> 
>         $ sudo su
>         # echo "1" > /sys/module/snd_hda_intel/parameters/power_save
>         # exit
> 
> But enabling that does not change anything right away. Only after using
> the device by playing some audio – `speaker-test` in this case, the
> power management seems to kick in.

Right, it's a known issue.  You don't have to play actually but just
opening/closing a device should suffice.

The reason is that changing the sysfs parameter file would change only
the variable but doesn't trigger the event by itself.  It's possible
to add some triggering action, but it'd become fairly messy.  So I've 
postponed the implementation, so far.


Takashi
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: snd-hda-intel: Power management not enabled until audio is played
  2012-02-13 14:16 ` Takashi Iwai
@ 2012-02-13 19:51   ` Paul Menzel
  2012-02-13 20:24     ` Takashi Iwai
  0 siblings, 1 reply; 4+ messages in thread
From: Paul Menzel @ 2012-02-13 19:51 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel


[-- Attachment #1.1: Type: text/plain, Size: 1816 bytes --]

Am Montag, den 13.02.2012, 15:16 +0100 schrieb Takashi Iwai:
> At Sat, 11 Feb 2012 10:59:04 +0100,
> Paul Menzel wrote:

> > playing with PowerTOP 1.97 I notice that it lists 100 % usage for the
> > Audio device on several systems [1].
> > 
> > I made sure that power management is enabled.
> > 
> >         $ grep snd /etc/modprobe.d/*
> >         …: options snd_hda_intel power_save=1
> >         $ more /sys/module/snd_hda_intel/parameters/power_save_controller
> >         Y
> >         $ more /sys/module/snd_hda_intel/parameters/power_save
> >         0
> > 
> > Since I was on AC power pm-utils seems to reset that parameter to not
> > save power. :/
> > 
> >         $ sudo su
> >         # echo "1" > /sys/module/snd_hda_intel/parameters/power_save
> >         # exit
> > 
> > But enabling that does not change anything right away. Only after using
> > the device by playing some audio – `speaker-test` in this case, the
> > power management seems to kick in.
> 
> Right, it's a known issue.

Should I submit a bug report to track that issue?

> You don't have to play actually but just opening/closing a device
> should suffice.

Is `touch /dev/dsp` enough? I am thinking about adding that command to
some start script.

> The reason is that changing the sysfs parameter file would change only
> the variable but doesn't trigger the event by itself.  It's possible
> to add some triggering action, but it'd become fairly messy.  So I've 
> postponed the implementation, so far.

Understood. I guess most users do not experience that since nowadays the
login manager plays some sound opening the device every start up. Mostly
advanced users will suffer from this not using such a login manager or
desktop environment like GNOME or KDE.


Thanks,

Paul

[-- Attachment #1.2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: snd-hda-intel: Power management not enabled until audio is played
  2012-02-13 19:51   ` Paul Menzel
@ 2012-02-13 20:24     ` Takashi Iwai
  0 siblings, 0 replies; 4+ messages in thread
From: Takashi Iwai @ 2012-02-13 20:24 UTC (permalink / raw)
  To: Paul Menzel; +Cc: alsa-devel

At Mon, 13 Feb 2012 20:51:26 +0100,
Paul Menzel wrote:
> 
> Am Montag, den 13.02.2012, 15:16 +0100 schrieb Takashi Iwai:
> > At Sat, 11 Feb 2012 10:59:04 +0100,
> > Paul Menzel wrote:
> 
> > > playing with PowerTOP 1.97 I notice that it lists 100 % usage for the
> > > Audio device on several systems [1].
> > > 
> > > I made sure that power management is enabled.
> > > 
> > >         $ grep snd /etc/modprobe.d/*
> > >         …: options snd_hda_intel power_save=1
> > >         $ more /sys/module/snd_hda_intel/parameters/power_save_controller
> > >         Y
> > >         $ more /sys/module/snd_hda_intel/parameters/power_save
> > >         0
> > > 
> > > Since I was on AC power pm-utils seems to reset that parameter to not
> > > save power. :/
> > > 
> > >         $ sudo su
> > >         # echo "1" > /sys/module/snd_hda_intel/parameters/power_save
> > >         # exit
> > > 
> > > But enabling that does not change anything right away. Only after using
> > > the device by playing some audio – `speaker-test` in this case, the
> > > power management seems to kick in.
> > 
> > Right, it's a known issue.
> 
> Should I submit a bug report to track that issue?

No need for that.  It's a missing feature but no bug.

> > You don't have to play actually but just opening/closing a device
> > should suffice.
> 
> Is `touch /dev/dsp` enough? I am thinking about adding that command to
> some start script.

I'm not sure whether "touch" program actually works for a device
file.  Playing a sound like "echo -n | aplay" would work.


Takashi
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2012-02-13 20:24 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-02-11  9:59 snd-hda-intel: Power management not enabled until audio is played Paul Menzel
2012-02-13 14:16 ` Takashi Iwai
2012-02-13 19:51   ` Paul Menzel
2012-02-13 20:24     ` Takashi Iwai

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.