[alsa-devel] Intel dg45id motherboard - ICH10 HD audio issues
Hi,
I was unable to get sound to work (analog or SPDIF) on my dg45id using 2.6.27. After looking at the pinout information I made a quick hack to get SPDIF out going (it's a mythtv box so thats all I need):
Index: linux-source-2.6.27/sound/pci/hda/patch_sigmatel.c =================================================================== --- linux-source-2.6.27.orig/sound/pci/hda/patch_sigmatel.c 2008-08-31 11:06:37.000000000 +1000 +++ linux-source-2.6.27/sound/pci/hda/patch_sigmatel.c 2008-08-31 11:07:14.000000000 +1000 @@ -3591,7 +3591,7 @@ spec->num_pwrs = ARRAY_SIZE(stac92hd73xx_pwr_nids); spec->pwr_nids = stac92hd73xx_pwr_nids;
- err = stac92xx_parse_auto_config(codec, 0x22, 0x24); + err = stac92xx_parse_auto_config(codec, 0x26, 0x24);
if (!err) { if (spec->board_config < 0) {
And pointed mythtv at ALSA:plughw:0,1. Quick and dirty I know :)
Details of the chipset are below.
Anton --
# lspci -vvnn 00:1b.0 Audio device [0403]: Intel Corporation 82801JI (ICH10 Family) HD Audio Controller [8086:3a3e] Subsystem: Intel Corporation Device [8086:5002] Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0, Cache Line Size: 64 bytes Interrupt: pin A routed to IRQ 22 Region 0: Memory at fe820000 (64-bit, non-prefetchable) [size=16K] Capabilities: [50] Power Management version 2 Flags: PMEClk- DSI- D1- D2- AuxCurrent=55mA PME(D0+,D1-,D2-,D3hot+,D3cold+) Status: D0 PME-Enable- DSel=0 DScale=0 PME- Capabilities: [60] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable- Address: 0000000000000000 Data: 0000 Capabilities: [70] Express (v1) Root Complex Integrated Endpoint, MSI 00 DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us ExtTag- RBE- FLReset+ DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported- RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop+ MaxPayload 128 bytes, MaxReadReq 128 bytes DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend- LnkCap: Port #0, Speed unknown, Width x0, ASPM unknown, Latency L0 <64ns, L1 <1us ClockPM- Suprise- LLActRep- BwNot- LnkCtl: ASPM Disabled; Disabled- Retrain- CommClk- ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt- LnkSta: Speed unknown, Width x0, TrErr- Train- SlotClk- DLActive- BWMgmt- ABWMgmt- Capabilities: [100] Virtual Channel <?> Capabilities: [130] Root Complex Link <?> Kernel driver in use: HDA Intel Kernel modules: snd-hda-intel
# aplay -l **** List of PLAYBACK Hardware Devices **** card 0: Intel [HDA Intel], device 0: STAC92xx Analog [STAC92xx Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: Intel [HDA Intel], device 1: STAC92xx Digital [STAC92xx Digital] Subdevices: 1/1 Subdevice #0: subdevice #0
# aplay -L default:CARD=Intel HDA Intel, STAC92xx Analog Default Audio Device front:CARD=Intel,DEV=0 HDA Intel, STAC92xx Analog Front speakers surround40:CARD=Intel,DEV=0 HDA Intel, STAC92xx Analog 4.0 Surround output to Front and Rear speakers surround41:CARD=Intel,DEV=0 HDA Intel, STAC92xx Analog 4.1 Surround output to Front, Rear and Subwoofer speakers surround50:CARD=Intel,DEV=0 HDA Intel, STAC92xx Analog 5.0 Surround output to Front, Center and Rear speakers surround51:CARD=Intel,DEV=0 HDA Intel, STAC92xx Analog 5.1 Surround output to Front, Center, Rear and Subwoofer speakers surround71:CARD=Intel,DEV=0 HDA Intel, STAC92xx Analog 7.1 Surround output to Front, Center, Side, Rear and Woofer speakers hdmi:CARD=Intel,DEV=0 HDA Intel HDMI Audio Output null Discard all samples (playback) or generate zero samples (capture)
# cat /proc/asound/card0/codec#2 Codec: IDT 92HD73E1X5 Address: 2 Vendor Id: 0x111d7676 Subsystem Id: 0x80865002 Revision Id: 0x100202 No Modem Function Group found Default PCM: rates [0x5e0]: 44100 48000 88200 96000 192000 bits [0xe]: 16 20 24 formats [0x1]: PCM Default Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0 Default Amp-Out caps: ofs=0x7f, nsteps=0x7f, stepsize=0x02, mute=1 GPIO: io=8, o=0, i=0, unsolicited=1, wake=1 IO[0]: enable=1, dir=1, wake=0, sticky=0, data=1 IO[1]: enable=0, dir=0, wake=0, sticky=0, data=0 IO[2]: enable=0, dir=0, wake=0, sticky=0, data=0 IO[3]: enable=0, dir=0, wake=0, sticky=0, data=0 IO[4]: enable=0, dir=0, wake=0, sticky=0, data=0 IO[5]: enable=0, dir=0, wake=0, sticky=0, data=0 IO[6]: enable=0, dir=0, wake=0, sticky=0, data=0 IO[7]: enable=0, dir=0, wake=0, sticky=0, data=0 Node 0x0a [Pin Complex] wcaps 0x400183: Stereo Amp-In Amp-In caps: N/A Amp-In vals: [0x00 0x00] Pincap 0x08173f: IN OUT HP Detect Trigger ImpSense Vref caps: HIZ 50 GRD 80 Pin Default 0x0321101f: [Jack] HP Out at Ext Left Conn = 1/8, Color = Black DefAssociation = 0x1, Sequence = 0xf Pin-ctls: 0xc0: OUT HP VREF_HIZ Unsolicited: tag=30, enabled=1 Connection: 6 0x15 0x16* 0x17 0x18 0x19 0x1e Node 0x0b [Pin Complex] wcaps 0x400183: Stereo Amp-In Amp-In caps: N/A Amp-In vals: [0x00 0x00] Pincap 0x08173f: IN OUT HP Detect Trigger ImpSense Vref caps: HIZ 50 GRD 80 Pin Default 0x4f00000f: [N/A] Line Out at Ext UNKNOWN Conn = Unknown, Color = Unknown DefAssociation = 0x0, Sequence = 0xf Pin-ctls: 0x00: VREF_HIZ Unsolicited: tag=00, enabled=0 Connection: 6 0x15* 0x16 0x17 0x18 0x19 0x1e Node 0x0c [Pin Complex] wcaps 0x400183: Stereo Amp-In Amp-In caps: N/A Amp-In vals: [0x00 0x00] Pincap 0x081737: IN OUT Detect Trigger ImpSense Vref caps: HIZ 50 GRD 80 Pin Default 0x4f0000f0: [N/A] Line Out at Ext UNKNOWN Conn = Unknown, Color = Unknown DefAssociation = 0xf, Sequence = 0x0 Pin-ctls: 0x00: VREF_HIZ Unsolicited: tag=00, enabled=0 Connection: 6 0x15* 0x16 0x17 0x18 0x19 0x1e Node 0x0d [Pin Complex] wcaps 0x400183: Stereo Amp-In Amp-In caps: N/A Amp-In vals: [0x00 0x00] Pincap 0x083f: IN OUT HP Detect Trigger ImpSense Pin Default 0x90170110: [Fixed] Speaker at Int N/A Conn = Analog, Color = Unknown DefAssociation = 0x1, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x40: OUT Unsolicited: tag=00, enabled=0 Connection: 6 0x15* 0x16 0x17 0x18 0x19 0x1e Node 0x0e [Pin Complex] wcaps 0x400183: Stereo Amp-In Amp-In caps: N/A Amp-In vals: [0x00 0x00] Pincap 0x081737: IN OUT Detect Trigger ImpSense Vref caps: HIZ 50 GRD 80 Pin Default 0x03a11020: [Jack] Mic at Ext Left Conn = 1/8, Color = Black DefAssociation = 0x2, Sequence = 0x0 Pin-ctls: 0x24: IN VREF_80 Unsolicited: tag=30, enabled=1 Connection: 6 0x15* 0x16 0x17 0x18 0x19 0x1e Node 0x0f [Pin Complex] wcaps 0x400183: Stereo Amp-In Amp-In caps: N/A Amp-In vals: [0x00 0x00] Pincap 0x0837: IN OUT Detect Trigger ImpSense Pin Default 0x0321101f: [Jack] HP Out at Ext Left Conn = 1/8, Color = Black DefAssociation = 0x1, Sequence = 0xf Pin-ctls: 0x40: OUT Unsolicited: tag=35, enabled=1 Connection: 6 0x15 0x16 0x17* 0x18 0x19 0x1e Node 0x10 [Pin Complex] wcaps 0x400183: Stereo Amp-In Amp-In caps: N/A Amp-In vals: [0x00 0x00] Pincap 0x0837: IN OUT Detect Trigger ImpSense Pin Default 0x4f0000f0: [N/A] Line Out at Ext UNKNOWN Conn = Unknown, Color = Unknown DefAssociation = 0xf, Sequence = 0x0 Pin-ctls: 0x00: Unsolicited: tag=00, enabled=0 Connection: 6 0x15* 0x16 0x17 0x18 0x19 0x1e Node 0x11 [Pin Complex] wcaps 0x400183: Stereo Amp-In Amp-In caps: N/A Amp-In vals: [0x00 0x00] Pincap 0x0837: IN OUT Detect Trigger ImpSense Pin Default 0x4f0000f0: [N/A] Line Out at Ext UNKNOWN Conn = Unknown, Color = Unknown DefAssociation = 0xf, Sequence = 0x0 Pin-ctls: 0x00: Unsolicited: tag=00, enabled=0 Connection: 6 0x15* 0x16 0x17 0x18 0x19 0x1e Node 0x12 [Pin Complex] wcaps 0x400081: Stereo Pincap 0x0824: IN Detect Pin Default 0x4f0000f0: [N/A] Line Out at Ext UNKNOWN Conn = Unknown, Color = Unknown DefAssociation = 0xf, Sequence = 0x0 Pin-ctls: 0x00: Unsolicited: tag=00, enabled=0 Node 0x13 [Pin Complex] wcaps 0x400003: Stereo Amp-In Amp-In caps: N/A Amp-In vals: [0x00 0x00] Pincap 0x0820: IN Pin Default 0x90a60160: [Fixed] Mic at Int N/A Conn = Digital, Color = Unknown DefAssociation = 0x6, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x00: Node 0x14 [Pin Complex] wcaps 0x400003: Stereo Amp-In Amp-In caps: N/A Amp-In vals: [0x00 0x00] Pincap 0x0820: IN Pin Default 0x4f0000f0: [N/A] Line Out at Ext UNKNOWN Conn = Unknown, Color = Unknown DefAssociation = 0xf, Sequence = 0x0 Pin-ctls: 0x00: Node 0x15 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out R/L Amp-Out caps: N/A Amp-Out vals: [0x40 0x40] Converter: stream=0, channel=0 Power: setting=D0, actual=D0 Delay: 13 samples Node 0x16 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out R/L Amp-Out caps: N/A Amp-Out vals: [0xd9 0xd9] Converter: stream=0, channel=0 Power: setting=D0, actual=D0 Delay: 13 samples Node 0x17 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out R/L Amp-Out caps: N/A Amp-Out vals: [0xd9 0xd9] Converter: stream=0, channel=0 Power: setting=D0, actual=D0 Delay: 13 samples Node 0x18 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out R/L Amp-Out caps: N/A Amp-Out vals: [0xff 0xff] Converter: stream=0, channel=0 Power: setting=D0, actual=D0 Delay: 13 samples Node 0x19 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out R/L Amp-Out caps: N/A Amp-Out vals: [0x19 0x19] Converter: stream=0, channel=0 Power: setting=D0, actual=D0 Delay: 13 samples Node 0x1a [Audio Input] wcaps 0x1d0541: Stereo Converter: stream=0, channel=0 SDI-Select: 0 Power: setting=D0, actual=D0 Delay: 13 samples Connection: 1 0x20 Processing caps: benign=0, ncoeff=0 Node 0x1b [Audio Input] wcaps 0x1d0541: Stereo Converter: stream=0, channel=0 SDI-Select: 0 Power: setting=D0, actual=D0 Delay: 13 samples Connection: 1 0x21 Processing caps: benign=0, ncoeff=0 Node 0x1c [Beep Generator Widget] wcaps 0x70000c: Mono Amp-Out Amp-Out caps: ofs=0x03, nsteps=0x03, stepsize=0x17, mute=1 Amp-Out vals: [0x00] Node 0x1d [Audio Mixer] wcaps 0x20010b: Stereo Amp-In Amp-In caps: ofs=0x17, nsteps=0x1f, stepsize=0x05, mute=1 Amp-In vals: [0x97 0x97] [0x97 0x97] [0x97 0x97] [0x97 0x97] [0x97 0x97] Connection: 5 0x28 0x29 0x2a 0x2b 0x12 Node 0x1e [Audio Selector] wcaps 0x30010d: Stereo Amp-Out Amp-Out caps: ofs=0x1f, nsteps=0x1f, stepsize=0x05, mute=1 Amp-Out vals: [0x9f 0x9f] Connection: 1 0x1d Node 0x1f [Volume Knob Widget] wcaps 0x600000: Mono Volume-Knob: delta=1, steps=127, direct=1, val=108 Connection: 5 0x15* 0x16 0x17 0x18 0x19 Node 0x20 [Audio Selector] wcaps 0x30090d: Stereo Amp-Out R/L Amp-Out caps: ofs=0x00, nsteps=0x0f, stepsize=0x05, mute=1 Amp-Out vals: [0x80 0x80] Connection: 12 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x1d* Node 0x21 [Audio Selector] wcaps 0x30090d: Stereo Amp-Out R/L Amp-Out caps: ofs=0x00, nsteps=0x0f, stepsize=0x05, mute=1 Amp-Out vals: [0x80 0x80] Connection: 12 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x1d* Node 0x22 [Pin Complex] wcaps 0x400301: Stereo Digital Pincap 0x0810: OUT Pin Default 0x4f0000f0: [N/A] Line Out at Ext UNKNOWN Conn = Unknown, Color = Unknown DefAssociation = 0xf, Sequence = 0x0 Pin-ctls: 0x00: Connection: 3 0x25* 0x20 0x21 Node 0x23 [Pin Complex] wcaps 0x400301: Stereo Digital Pincap 0x0810: OUT Pin Default 0x01451140: [Jack] SPDIF Out at Ext Rear Conn = Optical, Color = Black DefAssociation = 0x4, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x40: OUT Connection: 3 0x26* 0x20 0x21 Node 0x24 [Pin Complex] wcaps 0x400681: Stereo Digital Pincap 0x0810024: IN EAPD Detect EAPD 0x0: Pin Default 0x40f000f0: [N/A] Other at Ext N/A Conn = Unknown, Color = Unknown DefAssociation = 0xf, Sequence = 0x0 Pin-ctls: 0x00: Unsolicited: tag=00, enabled=0 Power: setting=D0, actual=D0 Node 0x25 [Audio Output] wcaps 0x4021d: Stereo Digital Amp-Out Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x00 0x00] Converter: stream=0, channel=0 Digital: Digital category: 0x0 PCM: rates [0x5e0]: 44100 48000 88200 96000 192000 bits [0xe]: 16 20 24 formats [0x5]: PCM AC3 Delay: 4 samples Node 0x26 [Audio Output] wcaps 0x4021d: Stereo Digital Amp-Out Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x00 0x00] Converter: stream=0, channel=0 Digital: Digital category: 0x0 PCM: rates [0x5e0]: 44100 48000 88200 96000 192000 bits [0xe]: 16 20 24 formats [0x5]: PCM AC3 Delay: 4 samples Node 0x27 [Audio Input] wcaps 0x14031b: Stereo Digital Amp-In Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-In vals: [0x00 0x00] Converter: stream=0, channel=0 SDI-Select: 0 Digital: Digital category: 0x0 PCM: rates [0x160]: 44100 48000 96000 bits [0xe]: 16 20 24 formats [0x5]: PCM AC3 Delay: 4 samples Connection: 1 0x24 Node 0x28 [Audio Selector] wcaps 0x300101: Stereo Connection: 4 0x0a 0x0b* 0x0d 0x0f Node 0x29 [Audio Selector] wcaps 0x300101: Stereo Connection: 4 0x0a 0x0e* 0x10 0x11 Node 0x2a [Audio Selector] wcaps 0x300101: Stereo Connection: 4 0x0b 0x0c* 0x10 0x11 Node 0x2b [Audio Selector] wcaps 0x300101: Stereo Connection: 4 0x15* 0x16 0x17 0x18
At Sun, 31 Aug 2008 11:28:26 +1000, Anton Blanchard wrote:
Hi,
I was unable to get sound to work (analog or SPDIF) on my dg45id using 2.6.27. After looking at the pinout information I made a quick hack to get SPDIF out going (it's a mythtv box so thats all I need):
Index: linux-source-2.6.27/sound/pci/hda/patch_sigmatel.c
--- linux-source-2.6.27.orig/sound/pci/hda/patch_sigmatel.c 2008-08-31 11:06:37.000000000 +1000 +++ linux-source-2.6.27/sound/pci/hda/patch_sigmatel.c 2008-08-31 11:07:14.000000000 +1000 @@ -3591,7 +3591,7 @@ spec->num_pwrs = ARRAY_SIZE(stac92hd73xx_pwr_nids); spec->pwr_nids = stac92hd73xx_pwr_nids;
- err = stac92xx_parse_auto_config(codec, 0x22, 0x24);
err = stac92xx_parse_auto_config(codec, 0x26, 0x24);
if (!err) { if (spec->board_config < 0) {
And pointed mythtv at ALSA:plughw:0,1. Quick and dirty I know :)
Details of the chipset are below.
Thanks. There seems two problems behind.
- the codec has two SPDIF outputs but the driver assumes only the first one - the driver wrongly probes the pin widget instead of audio-out widget
So, your patch fixes only the latter problem which is specific to your device.
Could you rewrite the patch to probe the pin first? That is, check the availability of pin 0x22 and 0x23. If one of them is available, pick the corresponding audio-out widget (0x25 and 0x26).
thanks,
Takashi
Anton
# lspci -vvnn 00:1b.0 Audio device [0403]: Intel Corporation 82801JI (ICH10 Family) HD Audio Controller [8086:3a3e] Subsystem: Intel Corporation Device [8086:5002] Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0, Cache Line Size: 64 bytes Interrupt: pin A routed to IRQ 22 Region 0: Memory at fe820000 (64-bit, non-prefetchable) [size=16K] Capabilities: [50] Power Management version 2 Flags: PMEClk- DSI- D1- D2- AuxCurrent=55mA PME(D0+,D1-,D2-,D3hot+,D3cold+) Status: D0 PME-Enable- DSel=0 DScale=0 PME- Capabilities: [60] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable- Address: 0000000000000000 Data: 0000 Capabilities: [70] Express (v1) Root Complex Integrated Endpoint, MSI 00 DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us ExtTag- RBE- FLReset+ DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported- RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop+ MaxPayload 128 bytes, MaxReadReq 128 bytes DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend- LnkCap: Port #0, Speed unknown, Width x0, ASPM unknown, Latency L0 <64ns, L1 <1us ClockPM- Suprise- LLActRep- BwNot- LnkCtl: ASPM Disabled; Disabled- Retrain- CommClk- ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt- LnkSta: Speed unknown, Width x0, TrErr- Train- SlotClk- DLActive- BWMgmt- ABWMgmt- Capabilities: [100] Virtual Channel <?> Capabilities: [130] Root Complex Link <?> Kernel driver in use: HDA Intel Kernel modules: snd-hda-intel
# aplay -l **** List of PLAYBACK Hardware Devices **** card 0: Intel [HDA Intel], device 0: STAC92xx Analog [STAC92xx Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: Intel [HDA Intel], device 1: STAC92xx Digital [STAC92xx Digital] Subdevices: 1/1 Subdevice #0: subdevice #0
# aplay -L default:CARD=Intel HDA Intel, STAC92xx Analog Default Audio Device front:CARD=Intel,DEV=0 HDA Intel, STAC92xx Analog Front speakers surround40:CARD=Intel,DEV=0 HDA Intel, STAC92xx Analog 4.0 Surround output to Front and Rear speakers surround41:CARD=Intel,DEV=0 HDA Intel, STAC92xx Analog 4.1 Surround output to Front, Rear and Subwoofer speakers surround50:CARD=Intel,DEV=0 HDA Intel, STAC92xx Analog 5.0 Surround output to Front, Center and Rear speakers surround51:CARD=Intel,DEV=0 HDA Intel, STAC92xx Analog 5.1 Surround output to Front, Center, Rear and Subwoofer speakers surround71:CARD=Intel,DEV=0 HDA Intel, STAC92xx Analog 7.1 Surround output to Front, Center, Side, Rear and Woofer speakers hdmi:CARD=Intel,DEV=0 HDA Intel HDMI Audio Output null Discard all samples (playback) or generate zero samples (capture)
# cat /proc/asound/card0/codec#2 Codec: IDT 92HD73E1X5 Address: 2 Vendor Id: 0x111d7676 Subsystem Id: 0x80865002 Revision Id: 0x100202 No Modem Function Group found Default PCM: rates [0x5e0]: 44100 48000 88200 96000 192000 bits [0xe]: 16 20 24 formats [0x1]: PCM Default Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0 Default Amp-Out caps: ofs=0x7f, nsteps=0x7f, stepsize=0x02, mute=1 GPIO: io=8, o=0, i=0, unsolicited=1, wake=1 IO[0]: enable=1, dir=1, wake=0, sticky=0, data=1 IO[1]: enable=0, dir=0, wake=0, sticky=0, data=0 IO[2]: enable=0, dir=0, wake=0, sticky=0, data=0 IO[3]: enable=0, dir=0, wake=0, sticky=0, data=0 IO[4]: enable=0, dir=0, wake=0, sticky=0, data=0 IO[5]: enable=0, dir=0, wake=0, sticky=0, data=0 IO[6]: enable=0, dir=0, wake=0, sticky=0, data=0 IO[7]: enable=0, dir=0, wake=0, sticky=0, data=0 Node 0x0a [Pin Complex] wcaps 0x400183: Stereo Amp-In Amp-In caps: N/A Amp-In vals: [0x00 0x00] Pincap 0x08173f: IN OUT HP Detect Trigger ImpSense Vref caps: HIZ 50 GRD 80 Pin Default 0x0321101f: [Jack] HP Out at Ext Left Conn = 1/8, Color = Black DefAssociation = 0x1, Sequence = 0xf Pin-ctls: 0xc0: OUT HP VREF_HIZ Unsolicited: tag=30, enabled=1 Connection: 6 0x15 0x16* 0x17 0x18 0x19 0x1e Node 0x0b [Pin Complex] wcaps 0x400183: Stereo Amp-In Amp-In caps: N/A Amp-In vals: [0x00 0x00] Pincap 0x08173f: IN OUT HP Detect Trigger ImpSense Vref caps: HIZ 50 GRD 80 Pin Default 0x4f00000f: [N/A] Line Out at Ext UNKNOWN Conn = Unknown, Color = Unknown DefAssociation = 0x0, Sequence = 0xf Pin-ctls: 0x00: VREF_HIZ Unsolicited: tag=00, enabled=0 Connection: 6 0x15* 0x16 0x17 0x18 0x19 0x1e Node 0x0c [Pin Complex] wcaps 0x400183: Stereo Amp-In Amp-In caps: N/A Amp-In vals: [0x00 0x00] Pincap 0x081737: IN OUT Detect Trigger ImpSense Vref caps: HIZ 50 GRD 80 Pin Default 0x4f0000f0: [N/A] Line Out at Ext UNKNOWN Conn = Unknown, Color = Unknown DefAssociation = 0xf, Sequence = 0x0 Pin-ctls: 0x00: VREF_HIZ Unsolicited: tag=00, enabled=0 Connection: 6 0x15* 0x16 0x17 0x18 0x19 0x1e Node 0x0d [Pin Complex] wcaps 0x400183: Stereo Amp-In Amp-In caps: N/A Amp-In vals: [0x00 0x00] Pincap 0x083f: IN OUT HP Detect Trigger ImpSense Pin Default 0x90170110: [Fixed] Speaker at Int N/A Conn = Analog, Color = Unknown DefAssociation = 0x1, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x40: OUT Unsolicited: tag=00, enabled=0 Connection: 6 0x15* 0x16 0x17 0x18 0x19 0x1e Node 0x0e [Pin Complex] wcaps 0x400183: Stereo Amp-In Amp-In caps: N/A Amp-In vals: [0x00 0x00] Pincap 0x081737: IN OUT Detect Trigger ImpSense Vref caps: HIZ 50 GRD 80 Pin Default 0x03a11020: [Jack] Mic at Ext Left Conn = 1/8, Color = Black DefAssociation = 0x2, Sequence = 0x0 Pin-ctls: 0x24: IN VREF_80 Unsolicited: tag=30, enabled=1 Connection: 6 0x15* 0x16 0x17 0x18 0x19 0x1e Node 0x0f [Pin Complex] wcaps 0x400183: Stereo Amp-In Amp-In caps: N/A Amp-In vals: [0x00 0x00] Pincap 0x0837: IN OUT Detect Trigger ImpSense Pin Default 0x0321101f: [Jack] HP Out at Ext Left Conn = 1/8, Color = Black DefAssociation = 0x1, Sequence = 0xf Pin-ctls: 0x40: OUT Unsolicited: tag=35, enabled=1 Connection: 6 0x15 0x16 0x17* 0x18 0x19 0x1e Node 0x10 [Pin Complex] wcaps 0x400183: Stereo Amp-In Amp-In caps: N/A Amp-In vals: [0x00 0x00] Pincap 0x0837: IN OUT Detect Trigger ImpSense Pin Default 0x4f0000f0: [N/A] Line Out at Ext UNKNOWN Conn = Unknown, Color = Unknown DefAssociation = 0xf, Sequence = 0x0 Pin-ctls: 0x00: Unsolicited: tag=00, enabled=0 Connection: 6 0x15* 0x16 0x17 0x18 0x19 0x1e Node 0x11 [Pin Complex] wcaps 0x400183: Stereo Amp-In Amp-In caps: N/A Amp-In vals: [0x00 0x00] Pincap 0x0837: IN OUT Detect Trigger ImpSense Pin Default 0x4f0000f0: [N/A] Line Out at Ext UNKNOWN Conn = Unknown, Color = Unknown DefAssociation = 0xf, Sequence = 0x0 Pin-ctls: 0x00: Unsolicited: tag=00, enabled=0 Connection: 6 0x15* 0x16 0x17 0x18 0x19 0x1e Node 0x12 [Pin Complex] wcaps 0x400081: Stereo Pincap 0x0824: IN Detect Pin Default 0x4f0000f0: [N/A] Line Out at Ext UNKNOWN Conn = Unknown, Color = Unknown DefAssociation = 0xf, Sequence = 0x0 Pin-ctls: 0x00: Unsolicited: tag=00, enabled=0 Node 0x13 [Pin Complex] wcaps 0x400003: Stereo Amp-In Amp-In caps: N/A Amp-In vals: [0x00 0x00] Pincap 0x0820: IN Pin Default 0x90a60160: [Fixed] Mic at Int N/A Conn = Digital, Color = Unknown DefAssociation = 0x6, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x00: Node 0x14 [Pin Complex] wcaps 0x400003: Stereo Amp-In Amp-In caps: N/A Amp-In vals: [0x00 0x00] Pincap 0x0820: IN Pin Default 0x4f0000f0: [N/A] Line Out at Ext UNKNOWN Conn = Unknown, Color = Unknown DefAssociation = 0xf, Sequence = 0x0 Pin-ctls: 0x00: Node 0x15 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out R/L Amp-Out caps: N/A Amp-Out vals: [0x40 0x40] Converter: stream=0, channel=0 Power: setting=D0, actual=D0 Delay: 13 samples Node 0x16 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out R/L Amp-Out caps: N/A Amp-Out vals: [0xd9 0xd9] Converter: stream=0, channel=0 Power: setting=D0, actual=D0 Delay: 13 samples Node 0x17 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out R/L Amp-Out caps: N/A Amp-Out vals: [0xd9 0xd9] Converter: stream=0, channel=0 Power: setting=D0, actual=D0 Delay: 13 samples Node 0x18 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out R/L Amp-Out caps: N/A Amp-Out vals: [0xff 0xff] Converter: stream=0, channel=0 Power: setting=D0, actual=D0 Delay: 13 samples Node 0x19 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out R/L Amp-Out caps: N/A Amp-Out vals: [0x19 0x19] Converter: stream=0, channel=0 Power: setting=D0, actual=D0 Delay: 13 samples Node 0x1a [Audio Input] wcaps 0x1d0541: Stereo Converter: stream=0, channel=0 SDI-Select: 0 Power: setting=D0, actual=D0 Delay: 13 samples Connection: 1 0x20 Processing caps: benign=0, ncoeff=0 Node 0x1b [Audio Input] wcaps 0x1d0541: Stereo Converter: stream=0, channel=0 SDI-Select: 0 Power: setting=D0, actual=D0 Delay: 13 samples Connection: 1 0x21 Processing caps: benign=0, ncoeff=0 Node 0x1c [Beep Generator Widget] wcaps 0x70000c: Mono Amp-Out Amp-Out caps: ofs=0x03, nsteps=0x03, stepsize=0x17, mute=1 Amp-Out vals: [0x00] Node 0x1d [Audio Mixer] wcaps 0x20010b: Stereo Amp-In Amp-In caps: ofs=0x17, nsteps=0x1f, stepsize=0x05, mute=1 Amp-In vals: [0x97 0x97] [0x97 0x97] [0x97 0x97] [0x97 0x97] [0x97 0x97] Connection: 5 0x28 0x29 0x2a 0x2b 0x12 Node 0x1e [Audio Selector] wcaps 0x30010d: Stereo Amp-Out Amp-Out caps: ofs=0x1f, nsteps=0x1f, stepsize=0x05, mute=1 Amp-Out vals: [0x9f 0x9f] Connection: 1 0x1d Node 0x1f [Volume Knob Widget] wcaps 0x600000: Mono Volume-Knob: delta=1, steps=127, direct=1, val=108 Connection: 5 0x15* 0x16 0x17 0x18 0x19 Node 0x20 [Audio Selector] wcaps 0x30090d: Stereo Amp-Out R/L Amp-Out caps: ofs=0x00, nsteps=0x0f, stepsize=0x05, mute=1 Amp-Out vals: [0x80 0x80] Connection: 12 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x1d* Node 0x21 [Audio Selector] wcaps 0x30090d: Stereo Amp-Out R/L Amp-Out caps: ofs=0x00, nsteps=0x0f, stepsize=0x05, mute=1 Amp-Out vals: [0x80 0x80] Connection: 12 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x1d* Node 0x22 [Pin Complex] wcaps 0x400301: Stereo Digital Pincap 0x0810: OUT Pin Default 0x4f0000f0: [N/A] Line Out at Ext UNKNOWN Conn = Unknown, Color = Unknown DefAssociation = 0xf, Sequence = 0x0 Pin-ctls: 0x00: Connection: 3 0x25* 0x20 0x21 Node 0x23 [Pin Complex] wcaps 0x400301: Stereo Digital Pincap 0x0810: OUT Pin Default 0x01451140: [Jack] SPDIF Out at Ext Rear Conn = Optical, Color = Black DefAssociation = 0x4, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x40: OUT Connection: 3 0x26* 0x20 0x21 Node 0x24 [Pin Complex] wcaps 0x400681: Stereo Digital Pincap 0x0810024: IN EAPD Detect EAPD 0x0: Pin Default 0x40f000f0: [N/A] Other at Ext N/A Conn = Unknown, Color = Unknown DefAssociation = 0xf, Sequence = 0x0 Pin-ctls: 0x00: Unsolicited: tag=00, enabled=0 Power: setting=D0, actual=D0 Node 0x25 [Audio Output] wcaps 0x4021d: Stereo Digital Amp-Out Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x00 0x00] Converter: stream=0, channel=0 Digital: Digital category: 0x0 PCM: rates [0x5e0]: 44100 48000 88200 96000 192000 bits [0xe]: 16 20 24 formats [0x5]: PCM AC3 Delay: 4 samples Node 0x26 [Audio Output] wcaps 0x4021d: Stereo Digital Amp-Out Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x00 0x00] Converter: stream=0, channel=0 Digital: Digital category: 0x0 PCM: rates [0x5e0]: 44100 48000 88200 96000 192000 bits [0xe]: 16 20 24 formats [0x5]: PCM AC3 Delay: 4 samples Node 0x27 [Audio Input] wcaps 0x14031b: Stereo Digital Amp-In Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-In vals: [0x00 0x00] Converter: stream=0, channel=0 SDI-Select: 0 Digital: Digital category: 0x0 PCM: rates [0x160]: 44100 48000 96000 bits [0xe]: 16 20 24 formats [0x5]: PCM AC3 Delay: 4 samples Connection: 1 0x24 Node 0x28 [Audio Selector] wcaps 0x300101: Stereo Connection: 4 0x0a 0x0b* 0x0d 0x0f Node 0x29 [Audio Selector] wcaps 0x300101: Stereo Connection: 4 0x0a 0x0e* 0x10 0x11 Node 0x2a [Audio Selector] wcaps 0x300101: Stereo Connection: 4 0x0b 0x0c* 0x10 0x11 Node 0x2b [Audio Selector] wcaps 0x300101: Stereo Connection: 4 0x15* 0x16 0x17 0x18 _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
Hi Takashi,
I was unable to get sound to work (analog or SPDIF) on my dg45id using 2.6.27. After looking at the pinout information I made a quick hack to get SPDIF out going (it's a mythtv box so thats all I need):
Index: linux-source-2.6.27/sound/pci/hda/patch_sigmatel.c
--- linux-source-2.6.27.orig/sound/pci/hda/patch_sigmatel.c 2008-08-31 11:06:37.000000000 +1000 +++ linux-source-2.6.27/sound/pci/hda/patch_sigmatel.c 2008-08-31 11:07:14.000000000 +1000 @@ -3591,7 +3591,7 @@ spec->num_pwrs = ARRAY_SIZE(stac92hd73xx_pwr_nids); spec->pwr_nids = stac92hd73xx_pwr_nids;
- err = stac92xx_parse_auto_config(codec, 0x22, 0x24);
err = stac92xx_parse_auto_config(codec, 0x26, 0x24);
if (!err) { if (spec->board_config < 0) {
And pointed mythtv at ALSA:plughw:0,1. Quick and dirty I know :)
Details of the chipset are below.
Thanks. There seems two problems behind.
- the codec has two SPDIF outputs but the driver assumes only the first one
- the driver wrongly probes the pin widget instead of audio-out widget
So, your patch fixes only the latter problem which is specific to your device.
Could you rewrite the patch to probe the pin first? That is, check the availability of pin 0x22 and 0x23. If one of them is available, pick the corresponding audio-out widget (0x25 and 0x26).
I'm going to need some help here, I have very little understanding of ALSA. Could you give me a quick rundown on how to probe pins or point me at an example in code?
Thanks, Anton
At Wed, 22 Oct 2008 09:48:11 +1100, Anton Blanchard wrote:
Hi Takashi,
I was unable to get sound to work (analog or SPDIF) on my dg45id using 2.6.27. After looking at the pinout information I made a quick hack to get SPDIF out going (it's a mythtv box so thats all I need):
Index: linux-source-2.6.27/sound/pci/hda/patch_sigmatel.c
--- linux-source-2.6.27.orig/sound/pci/hda/patch_sigmatel.c 2008-08-31 11:06:37.000000000 +1000 +++ linux-source-2.6.27/sound/pci/hda/patch_sigmatel.c 2008-08-31 11:07:14.000000000 +1000 @@ -3591,7 +3591,7 @@ spec->num_pwrs = ARRAY_SIZE(stac92hd73xx_pwr_nids); spec->pwr_nids = stac92hd73xx_pwr_nids;
- err = stac92xx_parse_auto_config(codec, 0x22, 0x24);
err = stac92xx_parse_auto_config(codec, 0x26, 0x24);
if (!err) { if (spec->board_config < 0) {
And pointed mythtv at ALSA:plughw:0,1. Quick and dirty I know :)
Details of the chipset are below.
Thanks. There seems two problems behind.
- the codec has two SPDIF outputs but the driver assumes only the first one
- the driver wrongly probes the pin widget instead of audio-out widget
So, your patch fixes only the latter problem which is specific to your device.
Could you rewrite the patch to probe the pin first? That is, check the availability of pin 0x22 and 0x23. If one of them is available, pick the corresponding audio-out widget (0x25 and 0x26).
I'm going to need some help here, I have very little understanding of ALSA. Could you give me a quick rundown on how to probe pins or point me at an example in code?
Could you try the latest sound tree? git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6.git
There have been many changes regarding SPDIF on IDT/STAC codecs, and your problem might have been already fixed.
thanks,
Takashi
participants (2)
-
Anton Blanchard
-
Takashi Iwai