At Fri, 25 Jan 2008 22:48:43 +1100, Rick Measham wrote:
Rick Measham wrote:
dmesg tells me there are zero speaker_outs. So I figure it didn't auto-detect them, and there are no pins specified for this exact setup.
Takashi Iwai wrote:
OK, it means that either the BIOS set up is broken or the preset pincfg is broken. Could you check which board_config is chosen for your device? It's selected via PCI SSID (see lspci -nv output).
If it's a bugin preset pincfg, it'd be realtivelyeasy to fix (once after we figure out which pin corresponds to the spekaer output).
I'm certainly hoping for the latter .. and it looks hopeful
00:1b.0 0403: 8086:27d8 (rev 01) Subsystem: 1028:01bf Flags: bus master, fast devsel, latency 0, IRQ 21 Memory at dfffc000 (64-bit, non-prefetchable) [size=16K] Capabilities: [50] Power Management version 2 Capabilities: [60] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable- Capabilities: [70] Express Unknown type IRQ 0
Lines up with: /* STAC 922X pin configs for 102801BF */ static unsigned int dell_922x_m81_pin_configs[10] = { 0x0321101f, 0x01112024, 0x01111222, 0x91174220, 0x03a11050, 0x01116221, 0x90a70330, 0x01452340, 0x40C003f1, 0x405003f0, };
So it certainly looks like we might have some hope?
It's listed as "unknown Dell" .. so let me fill that blank: It's the XPS M2010.
Now for the billion dollar question: How do I work out what the pin_configs SHOULD be? I can play guess-the-number, but that's going to take some time and I'd guess a lot of crashing!
That pin config actually looks strange. It defines 4 "speaker" outputs. The autocfg routine in hda-intel driver switches these speaker outputs to line-outs (just for compatibility issue). That's why you don't see any speaker there.
The patch below is a quick fix to change the jack types for 3 outputs. Give it a try.
Now more questions:
- Does your machine have 3 output jacks in addition to HP?
- What is the content of /proc/asound/card0/codec#* when you load the driver with model=auto? After setting it, reboot so that BIOS resets the configuration.
- Show both codec#* files for model=auto and without model option.
thanks,
Takashi
---
diff -r 19029da61288 pci/hda/patch_sigmatel.c --- a/pci/hda/patch_sigmatel.c Fri Jan 25 11:56:57 2008 +0100 +++ b/pci/hda/patch_sigmatel.c Fri Jan 25 13:04:20 2008 +0100 @@ -1273,8 +1273,8 @@ static unsigned int dell_922x_d82_pin_co 102801BF */ static unsigned int dell_922x_m81_pin_configs[10] = { - 0x0321101f, 0x01112024, 0x01111222, 0x91174220, - 0x03a11050, 0x01116221, 0x90a70330, 0x01452340, + 0x0321101f, 0x01012024, 0x01011222, 0x91174220, + 0x03a11050, 0x01016221, 0x90a70330, 0x01452340, 0x40C003f1, 0x405003f0, };