Skip to contentSkip to conversation

Sound goes too fast due to 798cb7e897210

REGRESSION Éric Piel 3 participants 9 messages Oct 18, 2011 Sound

lore
Share & tools
lore

Éric Piel

author
#0 lore raw

Dear Takashi,

I have a regression here on 3.1-rc9+ causing the sound "going too fast" with hda. Reverting 798cb7e897210 (ALSA: hda - Fix a regression of the position-buffer check) fixes this regression for me.

Of course, as this commit is itself a regression fix, my goat feeling is that it's not going to be possible to directly revert it. Attached if the output of alsa-info.sh (on the fixed kernel). Please let me know if I can provide you any additional information or test any patch.

Cheers,
Éric

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

!!Script ran on: Tue Oct 18 08:07:10 UTC 2011

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

Mandriva Linux release 2012.0 (Cooker) for i586 DISTRIB_ID=MandrivaLinux DISTRIB_DESCRIPTION="Mandriva Linux 2011.0" Mandriva Linux release 2012.0 (Cooker) for i586 Mandriva Linux release 2012.0 (Cooker) for i586 Mandriva Linux release 2012.0 (Cooker) for i586 Mandriva Linux release 2012.0 (Cooker) for i586 Mandriva Linux release 2012.0 (Cooker) for i586

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

Manufacturer:      Dell Inc.
Product Name:      Inspiron 1010   
Product Version:   A11

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

Kernel release:    3.1.0-rc9-00104-g8461e39
Operating System:  GNU/Linux
Architecture:      i686
Processor:         i686
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 - Yes

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

Jack:
Installed - Yes (/usr/bin/jackd)
Running - No

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

0 [MID ]: HDA-Intel - HDA Intel MID

                      HDA Intel MID at 0xd83a0000 irq 22

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

00:1b.0 Audio device: Intel Corporation System Controller Hub (SCH Poulsbo) HD Audio Controller (rev 07)

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

00:1b.0 0403: 8086:811b (rev 07)

	Subsystem: 1028:02c6

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

snd-ac97-codec: power_save=1

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

!!Module: snd_hda_intel

	bdl_pos_adj : 32,-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 : 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
	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 : 0
	power_save_controller : N
	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 ALC269
Address: 0
AFG Function Id: 0x1 (unsol 1)
Vendor Id: 0x10ec0269
Subsystem Id: 0x102802c6
Revision Id: 0x100004
No Modem Function Group found
Default PCM:

    rates [0x5f0]: 32000 44100 48000 88200 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM

Default Amp-In caps: N/A
Default Amp-Out caps: N/A
GPIO: io=0, o=0, i=0, unsolicited=0, wake=0
Node 0x02 [Audio Output] wcaps 0x1d: Stereo Amp-Out
Control: name="Headphone Playback Volume", index=0, device=0

    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Device: name="ALC269 Analog", type="Audio", device=0
  Amp-Out caps: ofs=0x3f, nsteps=0x40, stepsize=0x03, mute=0
  Amp-Out vals:  [0x39 0x39]
  Converter: stream=3, channel=0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Node 0x03 [Audio Output] wcaps 0x1d: Stereo Amp-Out
  Control: name="Speaker Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-Out caps: ofs=0x3f, nsteps=0x40, stepsize=0x03, mute=0
  Amp-Out vals:  [0x39 0x39]
  Converter: stream=3, channel=0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM

Node 0x04 [Vendor Defined Widget] wcaps 0xf00000: Mono 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 [0x5f0]: 32000 44100 48000 88200 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM

Node 0x07 [Audio Input] wcaps 0x10011b: Stereo Amp-In
Amp-In caps: ofs=0x11, nsteps=0x2e, stepsize=0x03, mute=1 Amp-In vals: [0x90 0x90]
Converter: stream=0, channel=0
SDI-Select: 0
PCM:

    rates [0x160]: 44100 48000 96000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Connection: 1
     0x24

Node 0x08 [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="ALC269 Analog", type="Audio", device=0 Amp-In caps: ofs=0x11, nsteps=0x2e, stepsize=0x03, mute=1 Amp-In vals: [0x2e 0x2e]
Converter: stream=1, channel=0
SDI-Select: 0
PCM:

    rates [0x160]: 44100 48000 96000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Connection: 1
     0x23

Node 0x09 [Vendor Defined Widget] wcaps 0xf00000: Mono 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
  Amp-In caps: ofs=0x17, nsteps=0x1f, stepsize=0x05, mute=1
  Amp-In vals:  [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80]
  Connection: 5
     0x18 0x19 0x1a 0x1b 0x1d

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 0x20010a: Mono Amp-In
Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-In vals: [0x00] [0x80]
Connection: 2

     0x0c 0x0d

Node 0x0f [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x10 [Audio Output] wcaps 0x211: Stereo Digital
Converter: stream=0, channel=0
Digital:
Digital category: 0x0
PCM:

    rates [0x5f0]: 32000 44100 48000 88200 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM

Node 0x11 [Pin Complex] wcaps 0x400380: Mono Digital
Pincap 0x00000014: 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

     0x10

Node 0x12 [Pin Complex] wcaps 0x400001: Stereo
Pincap 0x00000020: IN
Pin Default 0x99a30920: [Fixed] Mic at Int ATAPI
Conn = ATAPI, Color = Unknown
DefAssociation = 0x2, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x20: IN
Node 0x13 [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x14 [Pin Complex] wcaps 0x40010d: Stereo Amp-Out
Control: name="Speaker Playback Switch", index=0, device=0

    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x00010050: OUT EAPD Balanced
  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
  Connection: 2
     0x0c 0x0d*
Node 0x15 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Control: name="Headphone Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0001001c: OUT HP EAPD Detect
  EAPD 0x2: EAPD
  Pin Default 0x0121401f: [Jack] HP Out at Ext Rear
    Conn = 1/8, Color = Green
    DefAssociation = 0x1, Sequence = 0xf
  Pin-ctls: 0xc0: OUT HP
  Unsolicited: tag=04, enabled=1
  Connection: 2
     0x0c* 0x0d

Node 0x16 [Pin Complex] wcaps 0x40010c: Mono Amp-Out
Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x80]
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: 0x00:
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:  [0x03 0x03]
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x00003734: IN OUT Detect
    Vref caps: HIZ 50 GRD 80 100
  Pin Default 0x01a19830: [Jack] Mic at Ext Rear
    Conn = 1/8, Color = Pink
    DefAssociation = 0x3, Sequence = 0x0
  Pin-ctls: 0x24: IN VREF_80
  Unsolicited: tag=08, enabled=1
  Connection: 2
     0x0c* 0x0d

Node 0x19 [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: [0x80 0x80]
Pincap 0x00003734: IN OUT Detect

    Vref caps: HIZ 50 GRD 80 100
  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 VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Connection: 2
     0x0c* 0x0d

Node 0x1a [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: [0x80 0x80]
Pincap 0x0000373c: IN OUT HP Detect

    Vref caps: HIZ 50 GRD 80 100
  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 VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Connection: 2
     0x0c* 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: [0x80 0x80]
Pincap 0x00003734: IN OUT Detect

    Vref caps: HIZ 50 GRD 80 100
  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 VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Connection: 2
     0x0c* 0x0d

Node 0x1c [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x1d [Pin Complex] wcaps 0x400000: Mono
Pincap 0x00000020: IN
Pin Default 0x4005822d: [N/A] Line Out at Ext N/A
Conn = Optical, Color = Purple DefAssociation = 0x2, Sequence = 0xd
Pin-ctls: 0x20: IN
Node 0x1e [Pin Complex] wcaps 0x400380: Mono Digital
Pincap 0x00000014: 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

     0x06

Node 0x1f [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x20 [Vendor Defined Widget] wcaps 0xf00040: Mono
Processing caps: benign=0, ncoeff=33
Node 0x21 [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x22 [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x23 [Audio Selector] wcaps 0x300101: Stereo
Connection: 7

     0x18 0x19 0x1a 0x1b 0x1d 0x12* 0x0b

Node 0x24 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
Amp-In vals: [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80]
Connection: 6

     0x18 0x19 0x1a 0x1b 0x1d 0x0b

Codec: Silicon Image SiI1392 HDMI
Address: 1
AFG Function Id: 0x1 (unsol 0)
Vendor Id: 0x10951392
Subsystem Id: 0xffffffff
Revision Id: 0x100000
No Modem Function Group found
Default PCM:

    rates [0x0]:
    bits [0x0]:
    formats [0x0]:

Default Amp-In caps: N/A
Default Amp-Out caps: N/A
GPIO: io=0, o=0, i=0, unsolicited=0, wake=0
Node 0x02 [Audio Output] wcaps 0x6211: 8-Channels Digital
Converter: stream=4, channel=0
Digital: Enabled GenLevel
Digital category: 0x2
PCM:

    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0x1e]: 16 20 24 32
    formats [0x5]: PCM AC3

Node 0x03 [Pin Complex] wcaps 0x40738d: 8-Channels Digital Amp-Out CP
Control: name="IEC958 Playback Con Mask", index=0, device=0
Control: name="IEC958 Playback Pro Mask", index=0, device=0
Control: name="IEC958 Playback Default", index=0, device=0
Control: name="IEC958 Playback Switch", index=0, device=0 Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x00 0x00]
Pincap 0x00000094: OUT Detect HDMI
Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
Conn = Digital, Color = Unknown
DefAssociation = 0x1, Sequence = 0x0
Pin-ctls: 0x00:
Unsolicited: tag=03, enabled=1
Connection: 1

     0x02

--endcollapse--

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

crw-rw----+ 1 root audio 116,  7 Oct 18 09:58 /dev/snd/controlC0
crw-rw----+ 1 root audio 116,  6 Oct 18 09:58 /dev/snd/hwC0D0
crw-rw----+ 1 root audio 116,  5 Oct 18 09:58 /dev/snd/hwC0D1
crw-rw----+ 1 root audio 116,  4 Oct 18 09:59 /dev/snd/pcmC0D0c
crw-rw----+ 1 root audio 116,  3 Oct 18 10:04 /dev/snd/pcmC0D0p
crw-rw----+ 1 root audio 116,  2 Oct 18 09:59 /dev/snd/pcmC0D3p
crw-rw----+ 1 root audio 116,  1 Oct 18 09:58 /dev/snd/seq

crw-rw----+ 1 root audio 116, 33 Oct 18 09:58 /dev/snd/timer

/dev/snd/by-path:
total 0
drwxr-xr-x 2 root root 60 Oct 18 09:58 .
drwxr-xr-x 3 root root 220 Oct 18 09:58 ..
lrwxrwxrwx 1 root root 12 Oct 18 09:58 pci-0000:00:1b.0 -> ../controlC0

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

APLAY

**** List of PLAYBACK Hardware Devices ****
card 0: MID [HDA Intel MID], device 0: ALC269 Analog [ALC269 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: MID [HDA Intel MID], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0

ARECORD

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

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

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

Card hw:0 'MID'/'HDA Intel MID at 0xd83a0000 irq 22'
Mixer name : 'Silicon Image SiI1392 HDMI'
Components : 'HDA:10ec0269,102802c6,00100004 HDA:10951392,ffffffff,00100000'
Controls : 17
Simple ctrls : 9
Simple mixer control 'Master',0
Capabilities: pvolume pvolume-joined pswitch pswitch-joined penum Playback channels: Mono
Limits: Playback 0 - 64
Mono: Playback 58 [91%] [-6.00dB] [on]
Simple mixer control 'Headphone',0
Capabilities: pvolume pswitch penum
Playback channels: Front Left - Front Right
Limits: Playback 0 - 64
Mono:
Front Left: Playback 63 [98%] [0.00dB] [on]
Front Right: Playback 63 [98%] [0.00dB] [on]
Simple mixer control 'Speaker',0
Capabilities: pvolume pswitch penum
Playback channels: Front Left - Front Right
Limits: Playback 0 - 64
Mono:
Front Left: Playback 63 [98%] [0.00dB] [on]
Front Right: Playback 63 [98%] [0.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: 3 [100%] [30.00dB]
Front Right: 3 [100%] [30.00dB]
Simple mixer control 'IEC958',0
Capabilities: pswitch pswitch-joined penum
Playback channels: Mono
Mono: Playback [on]
Simple mixer control 'Capture',0
Capabilities: cvolume cswitch penum
Capture channels: Front Left - Front Right
Limits: Capture 0 - 46
Front Left: Capture 46 [100%] [29.00dB] [on]
Front Right: Capture 46 [100%] [29.00dB] [on]
Simple mixer control 'Auto-Mute Mode',0
Capabilities: enum
Items: 'Disabled' 'Enabled'
Item0: 'Enabled'

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

--startcollapse--

state.MID {
	control.1 {
		iface MIXER
		name 'Headphone Playback Volume'
		value.0 63
		value.1 63
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 64'
			dbmin -6300
			dbmax 100
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.2 {
		iface MIXER
		name 'Headphone Playback Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.3 {
		iface MIXER
		name 'Speaker Playback Volume'
		value.0 63
		value.1 63
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 64'
			dbmin -6300
			dbmax 100
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.4 {
		iface MIXER
		name 'Speaker Playback Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.5 {
		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.6 {
		iface MIXER
		name 'Mic Playback Switch'
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.7 {
		iface MIXER
		name 'Auto-Mute Mode'
		value Enabled
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 Disabled
			item.1 Enabled
		}
	}
	control.8 {
		iface MIXER
		name 'Mic Boost Volume'
		value.0 3
		value.1 3
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 3'
			dbmin 0
			dbmax 3000
			dbvalue.0 3000
			dbvalue.1 3000
		}
	}
	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 Volume'
		value.0 46
		value.1 46
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 46'
			dbmin -1700
			dbmax 2900
			dbvalue.0 2900
			dbvalue.1 2900
		}
	}
	control.11 {
		iface MIXER
		name 'Master Playback Volume'
		value 58
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '0 - 64'
			dbmin -6400
			dbmax 0
			dbvalue.0 -600
		}
	}
	control.12 {
		iface MIXER
		name 'Master Playback Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.13 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.14 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.15 {
		iface MIXER
		name 'IEC958 Playback Default'
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.16 {
		iface MIXER
		name 'IEC958 Playback Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.17 {
		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
		}
	}
}

--endcollapse--

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

Module
hidp
af_packet
rfcomm
bnep
binfmt_misc
ipv6
fuse
arc4
b43
snd_hda_codec_hdmi
snd_hda_codec_realtek
mac80211
snd_hda_intel
smsdvb
snd_hda_codec
dvb_core
snd_hwdep
snd_seq_oss
psb_gfx
drm_kms_helper
drm
snd_seq_midi_event
i2c_algo_bit
cp210x
snd_seq
smsusb
aes_generic
smsmdtv
cfg80211
ecb
snd_seq_device
usbserial
rc_core
btusb
uvcvideo
snd_pcm_oss
bluetooth
snd_pcm
joydev
videodev
i2c_isch
compal_laptop
snd_timer
dell_laptop
media
snd_mixer_oss
sg
snd
ssb
dcdbas
rfkill
i2c_core
rtc_cmos
battery
ac
mmc_core
r8169
psmouse
soundcore
button
lpc_sch
video
mii
snd_page_alloc
mfd_core
cpufreq_conservative
cpufreq_powersave
acpi_cpufreq
processor
mperf
kvm_intel
kvm
evdev
nvram
coretemp
usbhid
hid
usb_storage
sd_mod
crc_t10dif
pata_sch
libata
uhci_hcd
ehci_hcd
scsi_mod
usbcore

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

/sys/class/sound/hwC0D0/init_pin_configs:
0x11 0x411111f0
0x12 0x99a30920
0x14 0x99130110
0x15 0x0121401f
0x16 0x411111f0
0x18 0x01a19830
0x19 0x411111f0
0x1a 0x411111f0
0x1b 0x411111f0
0x1d 0x4005822d
0x1e 0x411111f0

/sys/class/sound/hwC0D0/driver_pin_configs:

/sys/class/sound/hwC0D0/user_pin_configs:

/sys/class/sound/hwC0D0/init_verbs:

/sys/class/sound/hwC0D1/init_pin_configs:
0x03 0x18560010

/sys/class/sound/hwC0D1/driver_pin_configs:

/sys/class/sound/hwC0D1/user_pin_configs:

/sys/class/sound/hwC0D1/init_verbs:

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

[   18.917783] [drm] Initialized gma500 1.0.0 2011-06-06 for 0000:00:02.0 on minor 0
[   18.917923] snd_hda_intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22
[   18.918082] snd_hda_intel 0000:00:1b.0: setting latency timer to 64
[   19.249651] SKU: Nid=0x1d sku_cfg=0x4005822d
--
[   19.249701] SKU: override=0x1
[   19.250381] hda_codec: ALC269: BIOS auto-probing.
[   19.250398] autoconfig: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:speaker
--
[   19.251681] realtek: Enabling init ASM_ID=0x822d CODEC_ID=10ec0269
[   19.401925] HDMI status: Codec=1 Pin=3 Presence_Detect=0 ELD_Valid=0
[   19.405106] input: HDA Intel MID HDMI/DP as /devices/pci0000:00/0000:00:1b.0/sound/card0/input8
[   19.405359] input: HDA Intel MID Mic as /devices/pci0000:00/0000:00:1b.0/sound/card0/input9
[   19.405604] input: HDA Intel MID Headphone as /devices/pci0000:00/0000:00:1b.0/sound/card0/input10
[   19.616323] b43-phy0: Broadcom 4312 WLAN found (core revision 15)
--
[   69.859303] gnome-session[2771]: WARNING: could not read /home/eric/.config/autostart/autostart-draksnapshot.desktop
[   69.861426] gnome-session[2771]: WARNING: Could not parse desktop file /home/eric/.config/autostart/xfce4-login-sound.desktop: Het sleutelbestand bevat geen sleutel \xffffffe2\xffffff80\xffffff98Name\xffffffe2\xffffff80\xffffff99
[   69.861744] gnome-session[2771]: WARNING: could not read /home/eric/.config/autostart/xfce4-login-sound.desktop
[   69.871013] gnome-session[2771]: WARNING: Could not parse desktop file /home/eric/.config/autostart/bluetooth-applet.desktop: Het sleutelbestand bevat geen sleutel \xffffffe2\xffffff80\xffffff98Name\xffffffe2\xffffff80\xffffff99
--
[   73.220050] rtkit-daemon[2912]: Supervising 1 threads of 1 processes of 1 users.
[   74.477486] hda-intel: Invalid position buffer, using LPIB read method instead.
[   74.723056] hda-intel: Invalid position buffer, using LPIB read method instead.
[   74.806886] pulseaudio[2911]: [pulseaudio] bluetooth-util.c: Error from RegisterEndpoint reply: org.freedesktop.DBus.Error.UnknownMethod
#1 lore raw

At Tue, 18 Oct 2011 10:10:14 +0200,

Quoted 11 lines · Éric Piel

Dear Takashi,

I have a regression here on 3.1-rc9+ causing the sound "going too fast" with hda. Reverting 798cb7e897210 (ALSA: hda - Fix a regression of the position-buffer check) fixes this regression for me.

Of course, as this commit is itself a regression fix, my goat feeling is that it's not going to be possible to directly revert it. Attached if the output of alsa-info.sh (on the fixed kernel). Please let me know if I can provide you any additional information or test any patch.

If that commit affects, the best fix would be to give a quirk specific to your device. Try to pass either position_fix=1 or position_fix=2. Only one of them should work (likely 2).

After checking it, you can add it to position_fix_list[] in sound/pci/hda/hda_intel.c together with PCI SSID.

thanks,

Takashi
_______________________________________________
Alsa-devel mailing list
[email protected]
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

author
#2 lore raw

Op 18-10-11 10:23, Takashi Iwai schreef:

Quoted 2 lines

At Tue, 18 Oct 2011 10:10:14 +0200,
Éric Piel wrote:

:

Quoted 6 lines

If that commit affects, the best fix would be to give a quirk specific to your device. Try to pass either position_fix=1 or position_fix=2. Only one of them should work (likely 2).

After checking it, you can add it to position_fix_list[] in sound/pci/hda/hda_intel.c together with PCI SSID.

Hello,
Thanks for the quick response. Indeed forcing position_fix=1 does fix the bug. I'll not try to make a patch for my device.

Cheers,
Éric

#3 lore raw

At Tue, 18 Oct 2011 10:38:06 +0200,

Quoted 9 lines · Éric Piel

Op 18-10-11 10:23, Takashi Iwai schreef:

Quoted 2 lines

At Tue, 18 Oct 2011 10:10:14 +0200,
Éric Piel wrote:

:

Quoted 4 lines

If that commit affects, the best fix would be to give a quirk specific to your device. Try to pass either position_fix=1 or position_fix=2. Only one of them should work (likely 2).

Quoted 6 lines
Quoted 2 lines

After checking it, you can add it to position_fix_list[] in sound/pci/hda/hda_intel.c together with PCI SSID.

Hello,
Thanks for the quick response. Indeed forcing position_fix=1 does fix the bug. I'll not try to make a patch for my device.

Hm, interesting. So, in your case, the position-buffer exists and reports some valid values, but the values are sloppy actually. It's hard to detect in the driver, unfortunately. The relevant commit (and its original fix) were the attempts to detect better, but it seems that it fails...

FWIW, the patch below is what I'm committing to the tree.

thanks,

Takashi

---
From: Takashi Iwai <[email protected]>
Subject: [PATCH] ALSA: hda - Add position_fix quirk for Dell Inspiron 1010

The previous fix for the position-buffer check gives yet another regression on a Dell laptop. The safest fix right now is to add a static quirk for this device (and better to apply it for stable kernels too).

---
 sound/pci/hda/hda_intel.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
sound/pci/hda/hda_intel.c +1 -0
index e9a2a87..191284a 100644
@@ -2370,6 +2370,7 @@ static int azx_dev_free(struct snd_device *device)
 static struct snd_pci_quirk position_fix_list[] __devinitdata = {
 	SND_PCI_QUIRK(0x1028, 0x01cc, "Dell D820", POS_FIX_LPIB),
 	SND_PCI_QUIRK(0x1028, 0x01de, "Dell Precision 390", POS_FIX_LPIB),
+	SND_PCI_QUIRK(0x1028, 0x02c6, "Dell Inspiron 1010", POS_FIX_LPIB),
 	SND_PCI_QUIRK(0x103c, 0x306d, "HP dv3", POS_FIX_LPIB),
 	SND_PCI_QUIRK(0x1043, 0x813d, "ASUS P5AD2", POS_FIX_LPIB),
 	SND_PCI_QUIRK(0x1043, 0x81b3, "ASUS", POS_FIX_LPIB),
Signature · 1 line
1.7.7
author
#4 lore raw

Op 18-10-11 10:46, Takashi Iwai schreef:

Quoted 18 lines

At Tue, 18 Oct 2011 10:38:06 +0200,

Quoted 9 lines · Éric Piel

Op 18-10-11 10:23, Takashi Iwai schreef:

Quoted 2 lines

At Tue, 18 Oct 2011 10:10:14 +0200,
Éric Piel wrote:

:

Quoted 4 lines

If that commit affects, the best fix would be to give a quirk specific to your device. Try to pass either position_fix=1 or position_fix=2. Only one of them should work (likely 2).

Quoted 6 lines
Quoted 2 lines

After checking it, you can add it to position_fix_list[] in sound/pci/hda/hda_intel.c together with PCI SSID.

Hello,
Thanks for the quick response. Indeed forcing position_fix=1 does fix the bug. I'll not try to make a patch for my device.

Quoted 7 lines

Hm, interesting. So, in your case, the position-buffer exists and reports some valid values, but the values are sloppy actually. It's hard to detect in the driver, unfortunately. The relevant commit (and its original fix) were the attempts to detect better, but it seems that it fails...

FWIW, the patch below is what I'm committing to the tree.

Thanks,
I've just tested it. It works like a charm :-)

Éric

Quoted 34 lines

thanks,

Takashi

---
From: Takashi Iwai<[email protected]>
Subject: [PATCH] ALSA: hda - Add position_fix quirk for Dell Inspiron 1010

The previous fix for the position-buffer check gives yet another regression on a Dell laptop. The safest fix right now is to add a static quirk for this device (and better to apply it for stable kernels too).

---
  sound/pci/hda/hda_intel.c |    1 +
  1 files changed, 1 insertions(+), 0 deletions(-)
sound/pci/hda/hda_intel.c +1 -0
index e9a2a87..191284a 100644
@@ -2370,6 +2370,7 @@ static int azx_dev_free(struct snd_device *device)
  static struct snd_pci_quirk position_fix_list[] __devinitdata = {
  	SND_PCI_QUIRK(0x1028, 0x01cc, "Dell D820", POS_FIX_LPIB),
  	SND_PCI_QUIRK(0x1028, 0x01de, "Dell Precision 390", POS_FIX_LPIB),
+	SND_PCI_QUIRK(0x1028, 0x02c6, "Dell Inspiron 1010", POS_FIX_LPIB),
  	SND_PCI_QUIRK(0x103c, 0x306d, "HP dv3", POS_FIX_LPIB),
  	SND_PCI_QUIRK(0x1043, 0x813d, "ASUS P5AD2", POS_FIX_LPIB),
  	SND_PCI_QUIRK(0x1043, 0x81b3, "ASUS", POS_FIX_LPIB),
#5 lore raw
In reply to Takashi Iwai

(Sorry for removing some CC people from this mail, seems to be a mail problem at this end)

2011-10-18 10:46, Takashi Iwai skrev:

Quoted 15 lines

At Tue, 18 Oct 2011 10:38:06 +0200,

Quoted 8 lines · Éric Piel

Op 18-10-11 10:23, Takashi Iwai schreef:

Quoted 2 lines

At Tue, 18 Oct 2011 10:10:14 +0200,
Éric Piel wrote:

:

Quoted 4 lines

If that commit affects, the best fix would be to give a quirk specific to your device. Try to pass either position_fix=1 or position_fix=2. Only one of them should work (likely 2).

Quoted 5 lines
Quoted 2 lines

After checking it, you can add it to position_fix_list[] in sound/pci/hda/hda_intel.c together with PCI SSID.

Hello,
Thanks for the quick response. Indeed forcing position_fix=1 does fix the bug. I'll not try to make a patch for my device.

Quoted 7 lines

Hm, interesting. So, in your case, the position-buffer exists and reports some valid values, but the values are sloppy actually. It's hard to detect in the driver, unfortunately. The relevant commit (and its original fix) were the attempts to detect better, but it seems that it fails...

FWIW, the patch below is what I'm committing to the tree.

I'm wondering if quirking this based on PCI Vendor-ID would be better than PCI SSID. After all, a broken position buffer should be more of a controller chip problem than a controller/codec/config problem, right?

Quoted 21 lines

---
From: Takashi Iwai<[email protected]>
Subject: [PATCH] ALSA: hda - Add position_fix quirk for Dell Inspiron 1010

The previous fix for the position-buffer check gives yet another regression on a Dell laptop. The safest fix right now is to add a static quirk for this device (and better to apply it for stable kernels too).

---
  sound/pci/hda/hda_intel.c |    1 +
  1 files changed, 1 insertions(+), 0 deletions(-)
sound/pci/hda/hda_intel.c +0 -0
index e9a2a87..191284a 100644

sound/pci/hda/hda_intel.c static int azx_dev_free(struct snd_device *device) · line 2373

Quoted 4 lines
sound/pci/hda/hda_intel.c +1 -0
@@ -2370,6 +2370,7 @@ static int azx_dev_free(struct snd_device *device)
  static struct snd_pci_quirk position_fix_list[] __devinitdata = {
  	SND_PCI_QUIRK(0x1028, 0x01cc, "Dell D820", POS_FIX_LPIB),
  	SND_PCI_QUIRK(0x1028, 0x01de, "Dell Precision 390", POS_FIX_LPIB),
+	SND_PCI_QUIRK(0x1028, 0x02c6, "Dell Inspiron 1010", POS_FIX_LPIB),

As seen here there are several relatively similar IDs - even more reason to suspect they share the same controller chip perhaps?

// David
_______________________________________________
Alsa-devel mailing list
[email protected]
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

#6 lore raw

At Tue, 18 Oct 2011 15:11:23 +0200,

Quoted 26 lines · David Henningsson

(Sorry for removing some CC people from this mail, seems to be a mail problem at this end)

2011-10-18 10:46, Takashi Iwai skrev:

Quoted 21 lines

At Tue, 18 Oct 2011 10:38:06 +0200,

Quoted 8 lines · Éric Piel

Op 18-10-11 10:23, Takashi Iwai schreef:

Quoted 2 lines

At Tue, 18 Oct 2011 10:10:14 +0200,
Éric Piel wrote:

:

Quoted 4 lines

If that commit affects, the best fix would be to give a quirk specific to your device. Try to pass either position_fix=1 or position_fix=2. Only one of them should work (likely 2).

Quoted 5 lines
Quoted 2 lines

After checking it, you can add it to position_fix_list[] in sound/pci/hda/hda_intel.c together with PCI SSID.

Hello,
Thanks for the quick response. Indeed forcing position_fix=1 does fix the bug. I'll not try to make a patch for my device.

Hm, interesting. So, in your case, the position-buffer exists and reports some valid values, but the values are sloppy actually. It's hard to detect in the driver, unfortunately. The relevant commit (and its original fix) were the attempts to detect better, but it seems that it fails...

Quoted 5 lines
Quoted 1 line

FWIW, the patch below is what I'm committing to the tree.

I'm wondering if quirking this based on PCI Vendor-ID would be better than PCI SSID. After all, a broken position buffer should be more of a controller chip problem than a controller/codec/config problem, right?

Unfortunately this isn't sure. At least, many Intel chips work fine, so the PCI vendor-id itself isn't correct to use. And PCI SSID vendor alone also is no good way to filter, because it may use different controller chips (like AMD).

The PCI SSID is used now with a hope of that such a breakage won't be too often. And if it's really generic to a PCI controller (vendor/device ID pair), we should put a workaround in driver_caps bits instead.

Quoted 16 lines
Quoted 16 lines

---
From: Takashi Iwai<[email protected]>
Subject: [PATCH] ALSA: hda - Add position_fix quirk for Dell Inspiron 1010

The previous fix for the position-buffer check gives yet another regression on a Dell laptop. The safest fix right now is to add a static quirk for this device (and better to apply it for stable kernels too).

---
  sound/pci/hda/hda_intel.c |    1 +
  1 files changed, 1 insertions(+), 0 deletions(-)
Quoted 12 lines

sound/pci/hda/hda_intel.c static int azx_dev_free(struct snd_device *device) · line 2373

Quoted 9 lines
sound/pci/hda/hda_intel.c +1 -0
index e9a2a87..191284a 100644
@@ -2370,6 +2370,7 @@ static int azx_dev_free(struct snd_device *device)
  static struct snd_pci_quirk position_fix_list[] __devinitdata = {
  	SND_PCI_QUIRK(0x1028, 0x01cc, "Dell D820", POS_FIX_LPIB),
  	SND_PCI_QUIRK(0x1028, 0x01de, "Dell Precision 390", POS_FIX_LPIB),
+	SND_PCI_QUIRK(0x1028, 0x02c6, "Dell Inspiron 1010", POS_FIX_LPIB),

As seen here there are several relatively similar IDs - even more reason to suspect they share the same controller chip perhaps?

In general, using LPIB is more reliable. But there are certainly some corner cases that LPIB isn't correct. That was the reason of the previous fix after all.

thanks,

Takashi
_______________________________________________
Alsa-devel mailing list
[email protected]
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

#7 lore raw
Quoted 39 lines · Takashi Iwai

At Tue, 18 Oct 2011 15:11:23 +0200,

Quoted 26 lines · David Henningsson

(Sorry for removing some CC people from this mail, seems to be a mail problem at this end)

2011-10-18 10:46, Takashi Iwai skrev:

Quoted 21 lines

At Tue, 18 Oct 2011 10:38:06 +0200,

Quoted 8 lines · Éric Piel

Op 18-10-11 10:23, Takashi Iwai schreef:

Quoted 2 lines

At Tue, 18 Oct 2011 10:10:14 +0200,
Éric Piel wrote:

:

Quoted 4 lines

If that commit affects, the best fix would be to give a quirk specific to your device. Try to pass either position_fix=1 or position_fix=2. Only one of them should work (likely 2).

Quoted 5 lines
Quoted 2 lines

After checking it, you can add it to position_fix_list[] in sound/pci/hda/hda_intel.c together with PCI SSID.

Hello,
Thanks for the quick response. Indeed forcing position_fix=1 does fix the bug. I'll not try to make a patch for my device.

Hm, interesting. So, in your case, the position-buffer exists and reports some valid values, but the values are sloppy actually. It's hard to detect in the driver, unfortunately. The relevant commit (and its original fix) were the attempts to detect better, but it seems that it fails...

Quoted 5 lines
Quoted 1 line

FWIW, the patch below is what I'm committing to the tree.

I'm wondering if quirking this based on PCI Vendor-ID would be better than PCI SSID. After all, a broken position buffer should be more of a controller chip problem than a controller/codec/config problem, right?

Unfortunately this isn't sure. At least, many Intel chips work fine, so the PCI vendor-id itself isn't correct to use. And PCI SSID vendor alone also is no good way to filter, because it may use different controller chips (like AMD).

Quoted 4 lines

The PCI SSID is used now with a hope of that such a breakage won't be too often. And if it's really generic to a PCI controller (vendor/device ID pair), we should put a workaround in driver_caps bits instead.

Sorry, the PCI VendorID/deviceID was what I meant here. If you need a certain position fix type, isn't it more likely to affect an entire controller, rather than just the controller/codec/config combination that you're quirking?

Signature · 6 lines
David Henningsson, Canonical Ltd.
http://launchpad.net/~diwic
_______________________________________________
Alsa-devel mailing list
[email protected]
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
#8 lore raw

At Tue, 18 Oct 2011 16:48:00 +0200,

Quoted 46 lines · David Henningsson
Quoted 39 lines · Takashi Iwai

At Tue, 18 Oct 2011 15:11:23 +0200,

Quoted 26 lines · David Henningsson

(Sorry for removing some CC people from this mail, seems to be a mail problem at this end)

2011-10-18 10:46, Takashi Iwai skrev:

Quoted 21 lines

At Tue, 18 Oct 2011 10:38:06 +0200,

Quoted 8 lines · Éric Piel

Op 18-10-11 10:23, Takashi Iwai schreef:

Quoted 2 lines

At Tue, 18 Oct 2011 10:10:14 +0200,
Éric Piel wrote:

:

Quoted 4 lines

If that commit affects, the best fix would be to give a quirk specific to your device. Try to pass either position_fix=1 or position_fix=2. Only one of them should work (likely 2).

Quoted 5 lines
Quoted 2 lines

After checking it, you can add it to position_fix_list[] in sound/pci/hda/hda_intel.c together with PCI SSID.

Hello,
Thanks for the quick response. Indeed forcing position_fix=1 does fix the bug. I'll not try to make a patch for my device.

Hm, interesting. So, in your case, the position-buffer exists and reports some valid values, but the values are sloppy actually. It's hard to detect in the driver, unfortunately. The relevant commit (and its original fix) were the attempts to detect better, but it seems that it fails...

Quoted 5 lines
Quoted 1 line

FWIW, the patch below is what I'm committing to the tree.

I'm wondering if quirking this based on PCI Vendor-ID would be better than PCI SSID. After all, a broken position buffer should be more of a controller chip problem than a controller/codec/config problem, right?

Unfortunately this isn't sure. At least, many Intel chips work fine, so the PCI vendor-id itself isn't correct to use. And PCI SSID vendor alone also is no good way to filter, because it may use different controller chips (like AMD).

Quoted 4 lines

The PCI SSID is used now with a hope of that such a breakage won't be too often. And if it's really generic to a PCI controller (vendor/device ID pair), we should put a workaround in driver_caps bits instead.

Quoted 4 lines

Sorry, the PCI VendorID/deviceID was what I meant here. If you need a certain position fix type, isn't it more likely to affect an entire controller, rather than just the controller/codec/config combination that you're quirking?

Again, it's not sure. At least most of the controllers work as is. I bet that the same controller on other machines would work without position_fix quirk.

After all, there are not so many controller chips. If the quirk were mandatory, the list would have been much longer :)

Takashi
_______________________________________________
Alsa-devel mailing list
[email protected]
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel