[alsa-devel] line-in on Intel DG45ID
Hi, i recently tried to digitalise some tapes and found line-in not enabled on my board (Intel DG45ID). (Codec: IDT 92HD73E1X5)
From the board documentation i know blue jack used for line-in or side
surround. Even i use normal stereo i can't enable line-in.
So my question, is it really to make a switch between surround and stereo with line-in? I know it should be possible. Or to have this switch for mic input?
regards, Alexey
ps: cat /proc/asound/card0/codec#2 Codec: IDT 92HD73E1X5 Address: 2 Function Id: 0x1 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=0, unsol=0 IO[1]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0 IO[2]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0 IO[3]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0 IO[4]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0 IO[5]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0 IO[6]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0 IO[7]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0 Power-Map: 0x65 Analog Loopback: 0x00 Node 0x0a [Pin Complex] wcaps 0x400183: Stereo Amp-In Amp-In caps: N/A Amp-In vals: [0x00 0x00] Pincap 0x0000173f: IN OUT HP Detect Trigger ImpSense Vref caps: HIZ 50 GRD 80 Pin Default 0x0221401f: [Jack] HP Out at Ext Front Conn = 1/8, Color = Green DefAssociation = 0x1, Sequence = 0xf Pin-ctls: 0x00: VREF_HIZ Unsolicited: tag=01, 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 0x0000173f: IN OUT HP Detect Trigger ImpSense Vref caps: HIZ 50 GRD 80 Pin Default 0x02a19020: [Jack] Mic at Ext Front Conn = 1/8, Color = Pink DefAssociation = 0x2, Sequence = 0x0 Pin-ctls: 0x24: IN VREF_80 Unsolicited: tag=03, enabled=1 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 0x00001737: IN OUT Detect Trigger ImpSense Vref caps: HIZ 50 GRD 80 Pin Default 0x01113014: [Jack] Speaker at Ext Rear Conn = 1/8, Color = Blue DefAssociation = 0x1, Sequence = 0x4 Pin-ctls: 0x40: OUT VREF_HIZ Unsolicited: tag=04, enabled=1 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 0x0000003f: IN OUT HP Detect Trigger ImpSense Pin Default 0x01114010: [Jack] Speaker at Ext Rear Conn = 1/8, Color = Green DefAssociation = 0x1, Sequence = 0x0 Pin-ctls: 0x40: OUT Unsolicited: tag=05, enabled=1 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 0x00001737: IN OUT Detect Trigger ImpSense Vref caps: HIZ 50 GRD 80 Pin Default 0x01a19030: [Jack] Mic at Ext Rear Conn = 1/8, Color = Pink DefAssociation = 0x3, Sequence = 0x0 Pin-ctls: 0x24: IN VREF_80 Unsolicited: tag=02, 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 0x00000037: IN OUT Detect Trigger ImpSense Pin Default 0x01111012: [Jack] Speaker at Ext Rear Conn = 1/8, Color = Black DefAssociation = 0x1, Sequence = 0x2 Pin-ctls: 0x40: OUT Unsolicited: tag=06, 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 0x00000037: IN OUT Detect Trigger ImpSense Pin Default 0x01116011: [Jack] Speaker at Ext Rear Conn = 1/8, Color = Orange DefAssociation = 0x1, Sequence = 0x1 Pin-ctls: 0x40: OUT Unsolicited: tag=07, enabled=1 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 0x00000037: IN OUT Detect Trigger ImpSense 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 Connection: 6 0x15* 0x16 0x17 0x18 0x19 0x1e Node 0x12 [Pin Complex] wcaps 0x400081: Stereo Pincap 0x00000024: IN Detect 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 Node 0x13 [Pin Complex] wcaps 0x400003: Stereo Amp-In Amp-In caps: N/A Amp-In vals: [0x00 0x00] Pincap 0x00000020: IN Pin Default 0x40f000f0: [N/A] Other at Ext N/A Conn = Unknown, Color = Unknown DefAssociation = 0xf, Sequence = 0x0 Pin-ctls: 0x20: IN Node 0x14 [Pin Complex] wcaps 0x400003: Stereo Amp-In Amp-In caps: N/A Amp-In vals: [0x00 0x00] Pincap 0x00000020: IN Pin Default 0x40f000f0: [N/A] Other at Ext N/A Conn = Unknown, Color = Unknown DefAssociation = 0xf, Sequence = 0x0 Pin-ctls: 0x20: IN Node 0x15 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out R/L Amp-Out caps: N/A Amp-Out vals: [0x69 0x69] 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: [0xe9 0xe9] 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: [0x69 0x69] 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: [0x69 0x69] 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=127 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: [0x05 0x05] 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 0x00000010: OUT Pin Default 0x40f000f0: [N/A] Other at Ext N/A 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 0x00000010: 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 0x00010024: 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 Mon, 30 Nov 2009 09:06:40 +0100, Alexey Fisher wrote:
Hi, i recently tried to digitalise some tapes and found line-in not enabled on my board (Intel DG45ID). (Codec: IDT 92HD73E1X5)
From the board documentation i know blue jack used for line-in or side
surround. Even i use normal stereo i can't enable line-in.
So my question, is it really to make a switch between surround and stereo with line-in? I know it should be possible. Or to have this switch for mic input?
Which ALSA driver version are you using?
The very latest one should have a "Line Jack Mode", with which you can change the input/output via enum control.
Takashi
Am Dienstag, den 01.12.2009, 16:03 +0100 schrieb Takashi Iwai:
At Mon, 30 Nov 2009 09:06:40 +0100, Alexey Fisher wrote:
Hi, i recently tried to digitalise some tapes and found line-in not enabled on my board (Intel DG45ID). (Codec: IDT 92HD73E1X5)
From the board documentation i know blue jack used for line-in or side
surround. Even i use normal stereo i can't enable line-in.
So my question, is it really to make a switch between surround and stereo with line-in? I know it should be possible. Or to have this switch for mic input?
Which ALSA driver version are you using?
The very latest one should have a "Line Jack Mode", with which you can change the input/output via enum control.
i use recent alsa-kernel.git, i found this switch. Currently i trying to dig deeper in the code. Seems like this board is not really supported... for normal tasks like stereo in / stereo out - is ok, but surround seems to be messed up, mixer map too. For example: "speaker-test -c 6" will produce "Front L/R" on all jacks. Currently tested models intel, bios and ref.. nothing solve all issues.
Do you have any tips?
At Tue, 01 Dec 2009 16:45:35 +0100, Alexey Fisher wrote:
Am Dienstag, den 01.12.2009, 16:03 +0100 schrieb Takashi Iwai:
At Mon, 30 Nov 2009 09:06:40 +0100, Alexey Fisher wrote:
Hi, i recently tried to digitalise some tapes and found line-in not enabled on my board (Intel DG45ID). (Codec: IDT 92HD73E1X5)
From the board documentation i know blue jack used for line-in or side
surround. Even i use normal stereo i can't enable line-in.
So my question, is it really to make a switch between surround and stereo with line-in? I know it should be possible. Or to have this switch for mic input?
Which ALSA driver version are you using?
The very latest one should have a "Line Jack Mode", with which you can change the input/output via enum control.
i use recent alsa-kernel.git, i found this switch.
Check sound GIT tree, to be sure: git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6.git
A snapshot tarball for external builds is: ftp://ftp.kernel.org/pub/linux/kernel/people/tiwai/snapshot/alsa-driver-snapshot.tar.gz
Currently i trying to dig deeper in the code. Seems like this board is not really supported... for normal tasks like stereo in / stereo out - is ok, but surround seems to be messed up, mixer map too. For example: "speaker-test -c 6" will produce "Front L/R" on all jacks.
You have to pass -Dsurround51, too.
Takashi
Am Dienstag, den 01.12.2009, 16:49 +0100 schrieb Takashi Iwai:
At Tue, 01 Dec 2009 16:45:35 +0100, Alexey Fisher wrote:
Am Dienstag, den 01.12.2009, 16:03 +0100 schrieb Takashi Iwai:
At Mon, 30 Nov 2009 09:06:40 +0100, Alexey Fisher wrote:
Hi, i recently tried to digitalise some tapes and found line-in not enabled on my board (Intel DG45ID). (Codec: IDT 92HD73E1X5)
From the board documentation i know blue jack used for line-in or side
surround. Even i use normal stereo i can't enable line-in.
So my question, is it really to make a switch between surround and stereo with line-in? I know it should be possible. Or to have this switch for mic input?
Which ALSA driver version are you using?
The very latest one should have a "Line Jack Mode", with which you can change the input/output via enum control.
i use recent alsa-kernel.git, i found this switch.
Check sound GIT tree, to be sure: git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6.git
A snapshot tarball for external builds is: ftp://ftp.kernel.org/pub/linux/kernel/people/tiwai/snapshot/alsa-driver-snapshot.tar.gz
Currently i trying to dig deeper in the code. Seems like this board is not really supported... for normal tasks like stereo in / stereo out - is ok, but surround seems to be messed up, mixer map too. For example: "speaker-test -c 6" will produce "Front L/R" on all jacks.
You have to pass -Dsurround51, too.
Tank you for the tip, speaker-test worked for my Hercules so i thout should work for intel too. So with tiwai.git and -Dsurround51 or surrounf71 outputs are working. Bad the mixer map is in really bad state. Here is my current investigation, here are the controls i tested:
[jack] [surround]; [mixers;...] green - front r/l;Master; PCM; Speeker 0; blue - side r/l ------- PCM; Speaker 3; black - rear r/l; Master; PCM; Speaker 1; orange - cenrat f/r; Master; PCM; ------; swap; ('Swap Center/LFE Playback Switch' (change front and reare outputs))
You can see - master control not all jacks and most (not all) jacks have own mixer.
'Master Playback Switch' <- master but not for all (blue jack not contr) 'Master Playback Volume' <- master but not for all (blue jack not contr) 'PCM Playback Volume' <- bad sound if too lo 'Center Playback Switch' <- not working? 'Center Playback Volume' <- not working? 'LFE Playback Switch' <- not working? 'LFE Playback Volume' <- not working ? 'Speaker Playback Switch' <- Front Playback 'Speaker Playback Switch',inx=1 <- Rear Playback 'Speaker Playback Switch',inx=3 <- Side Playback 'Speaker Playback Volume' <- Front Playback 'Speaker Playback Volume',inx=1 <- Rear Playback 'Speaker Playback Volume',inx=3 <- Side Playback 'Swap Center/LFE Playback Switch'<- order switch ?or route?
I will continue to investigate this board.
Am Mittwoch, den 02.12.2009, 11:30 +0100 schrieb Alexey Fisher:
Am Dienstag, den 01.12.2009, 16:49 +0100 schrieb Takashi Iwai:
At Tue, 01 Dec 2009 16:45:35 +0100, Alexey Fisher wrote:
Am Dienstag, den 01.12.2009, 16:03 +0100 schrieb Takashi Iwai:
At Mon, 30 Nov 2009 09:06:40 +0100, Alexey Fisher wrote:
Hi, i recently tried to digitalise some tapes and found line-in not enabled on my board (Intel DG45ID). (Codec: IDT 92HD73E1X5)
From the board documentation i know blue jack used for line-in or side
surround. Even i use normal stereo i can't enable line-in.
So my question, is it really to make a switch between surround and stereo with line-in? I know it should be possible. Or to have this switch for mic input?
Which ALSA driver version are you using?
The very latest one should have a "Line Jack Mode", with which you can change the input/output via enum control.
i use recent alsa-kernel.git, i found this switch.
Check sound GIT tree, to be sure: git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6.git
A snapshot tarball for external builds is: ftp://ftp.kernel.org/pub/linux/kernel/people/tiwai/snapshot/alsa-driver-snapshot.tar.gz
Currently i trying to dig deeper in the code. Seems like this board is not really supported... for normal tasks like stereo in / stereo out - is ok, but surround seems to be messed up, mixer map too. For example: "speaker-test -c 6" will produce "Front L/R" on all jacks.
You have to pass -Dsurround51, too.
Tank you for the tip, speaker-test worked for my Hercules so i thout should work for intel too. So with tiwai.git and -Dsurround51 or surrounf71 outputs are working. Bad the mixer map is in really bad state. Here is my current investigation, here are the controls i tested:
[jack] [surround]; [mixers;...] green - front r/l;Master; PCM; Speeker 0; blue - side r/l ------- PCM; Speaker 3; black - rear r/l; Master; PCM; Speaker 1; orange - cenrat f/r; Master; PCM; ------; swap; ('Swap Center/LFE Playback Switch' (change front and reare outputs))
I need help,
one and half problem solved: hp_out and mic_in didn't worked on front panel, mic was silent, and hp did only high frequency noise (sound like something wrong). Now front and rear mic working. hp don't do the noise any more but i still can't get any output from it. Mixer is working now too, so i can use three inputs together, but it seems not supported by driver, so i force selection with: hda-verb /dev/snd/hwC0D2 0x20 SET_CONNECT_SEL 0x0b
I used .ini file from windows to set it up, see attachment. There is cadec dump before and after tweaks, and patch.
regards, Alexey
On Sat, Dec 5, 2009 at 8:14 PM, Alexey Fisher bug-track@fisher-privat.netwrote:
Am Mittwoch, den 02.12.2009, 11:30 +0100 schrieb Alexey Fisher:
Am Dienstag, den 01.12.2009, 16:49 +0100 schrieb Takashi Iwai:
At Tue, 01 Dec 2009 16:45:35 +0100, Alexey Fisher wrote:
Am Dienstag, den 01.12.2009, 16:03 +0100 schrieb Takashi Iwai:
At Mon, 30 Nov 2009 09:06:40 +0100, Alexey Fisher wrote:
Hi, i recently tried to digitalise some tapes and found line-in not
enabled
on my board (Intel DG45ID). (Codec: IDT 92HD73E1X5) >From the board documentation i know blue jack used for line-in
or side
surround. Even i use normal stereo i can't enable line-in.
So my question, is it really to make a switch between surround
and
stereo with line-in? I know it should be possible. Or to have
this
switch for mic input?
Which ALSA driver version are you using?
The very latest one should have a "Line Jack Mode", with which you can change the input/output via enum control.
i use recent alsa-kernel.git, i found this switch.
Check sound GIT tree, to be sure: git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6.git
A snapshot tarball for external builds is:
ftp://ftp.kernel.org/pub/linux/kernel/people/tiwai/snapshot/alsa-driver-snapshot.tar.gz
Currently i trying to dig deeper in the code. Seems like this board is not really
supported...
for normal tasks like stereo in / stereo out - is ok, but surround
seems
to be messed up, mixer map too. For example: "speaker-test -c 6" will produce "Front L/R" on all
jacks.
You have to pass -Dsurround51, too.
Tank you for the tip, speaker-test worked for my Hercules so i thout should work for intel too. So with tiwai.git and -Dsurround51 or surrounf71 outputs are working. Bad the mixer map is in really bad state. Here is my current investigation, here are the controls i tested:
[jack] [surround]; [mixers;...] green - front r/l;Master; PCM; Speeker 0; blue - side r/l ------- PCM; Speaker 3; black - rear r/l; Master; PCM; Speaker 1; orange - cenrat f/r; Master; PCM; ------; swap; ('Swap Center/LFE Playback Switch' (change front and reare outputs))
I need help,
one and half problem solved: hp_out and mic_in didn't worked on front panel, mic was silent, and hp did only high frequency noise (sound like something wrong). Now front and rear mic working. hp don't do the noise any more but i still can't get any output from it. Mixer is working now too, so i can use three inputs together, but it seems not supported by driver, so i force selection with: hda-verb /dev/snd/hwC0D2 0x20 SET_CONNECT_SEL 0x0b
I used .ini file from windows to set it up, see attachment. There is cadec dump before and after tweaks, and patch.
http://mailman.alsa-project.org/pipermail/alsa-devel/2009-February/014825.ht...
Am Sonntag, den 06.12.2009, 01:47 -0200 schrieb Paulo Cavalcanti:
On Sat, Dec 5, 2009 at 8:14 PM, Alexey Fisher bug-track@fisher-privat.netwrote:
Am Mittwoch, den 02.12.2009, 11:30 +0100 schrieb Alexey Fisher:
Am Dienstag, den 01.12.2009, 16:49 +0100 schrieb Takashi Iwai:
At Tue, 01 Dec 2009 16:45:35 +0100, Alexey Fisher wrote:
Am Dienstag, den 01.12.2009, 16:03 +0100 schrieb Takashi Iwai:
At Mon, 30 Nov 2009 09:06:40 +0100, Alexey Fisher wrote: > > Hi, > i recently tried to digitalise some tapes and found line-in not
enabled
> on my board (Intel DG45ID). (Codec: IDT 92HD73E1X5) > >From the board documentation i know blue jack used for line-in
or side
> surround. Even i use normal stereo i can't enable line-in. > > So my question, is it really to make a switch between surround
and
> stereo with line-in? I know it should be possible. Or to have
this
> switch for mic input?
Which ALSA driver version are you using?
The very latest one should have a "Line Jack Mode", with which you can change the input/output via enum control.
i use recent alsa-kernel.git, i found this switch.
Check sound GIT tree, to be sure: git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6.git
A snapshot tarball for external builds is:
ftp://ftp.kernel.org/pub/linux/kernel/people/tiwai/snapshot/alsa-driver-snapshot.tar.gz
Currently i trying to dig deeper in the code. Seems like this board is not really
supported...
for normal tasks like stereo in / stereo out - is ok, but surround
seems
to be messed up, mixer map too. For example: "speaker-test -c 6" will produce "Front L/R" on all
jacks.
You have to pass -Dsurround51, too.
Tank you for the tip, speaker-test worked for my Hercules so i thout should work for intel too. So with tiwai.git and -Dsurround51 or surrounf71 outputs are working. Bad the mixer map is in really bad state. Here is my current investigation, here are the controls i tested:
[jack] [surround]; [mixers;...] green - front r/l;Master; PCM; Speeker 0; blue - side r/l ------- PCM; Speaker 3; black - rear r/l; Master; PCM; Speaker 1; orange - cenrat f/r; Master; PCM; ------; swap; ('Swap Center/LFE Playback Switch' (change front and reare outputs))
I need help,
one and half problem solved: hp_out and mic_in didn't worked on front panel, mic was silent, and hp did only high frequency noise (sound like something wrong). Now front and rear mic working. hp don't do the noise any more but i still can't get any output from it. Mixer is working now too, so i can use three inputs together, but it seems not supported by driver, so i force selection with: hda-verb /dev/snd/hwC0D2 0x20 SET_CONNECT_SEL 0x0b
I used .ini file from windows to set it up, see attachment. There is cadec dump before and after tweaks, and patch.
http://mailman.alsa-project.org/pipermail/alsa-devel/2009-February/014825.ht...
Thank you, now it is working, currently only SPDIF not checked. i do not wont to touch blue jack, there is ready two mic inputs and you can switch on each of them between mic and line-in. If i'll make blue jack - line in, it will reduce surround 7.1 to 5.1. Probably not all will be happy about this.
This patch introduce pin config and some workarounds for dg45id board. Currently tested Mic + Surround 7.1 on rear panel, and Mic + HP on front panel. SPDIF front and SPDIF rear are untested. Both Mics provide VREF_80 (4,05 V) in mic mode and no VREF in line-in mode.
Signed-off-by: Alexey Fisher bug-track@fisher-privat.net
modified: sound/pci/hda/patch_sigmatel.c --- sound/pci/hda/patch_sigmatel.c | 56 +++++++++++++++++++++++++++++++++++++++- 1 files changed, 55 insertions(+), 1 deletions(-)
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index 86de305..0448139 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c @@ -859,6 +859,40 @@ static struct hda_verb dell_eq_core_init[] = { {} };
+static struct hda_verb intel_dg45id_init[] = { + /* connect all inputs to the mixer */ + /* 0x0b -> mixer */ + { 0x28, AC_VERB_SET_CONNECT_SEL, 0x01}, + /* 0x0e -> mixer */ + { 0x29, AC_VERB_SET_CONNECT_SEL, 0x01}, + /* FIXME: if sorround51 0x0c can be used for line-in + * currently do not working */ + { 0x2a, AC_VERB_SET_CONNECT_SEL, 0x01}, + + /* connect mixer to the switch */ + { 0x20, AC_VERB_SET_CONNECT_SEL, 0x0b}, + + /* unmute inputs on mixer */ + { 0x1d, AC_VERB_SET_AMP_GAIN_MUTE, 0x7017}, + { 0x1d, AC_VERB_SET_AMP_GAIN_MUTE, 0x7117}, + /* TODO: make option for 0x0c to be line-in + * { 0x1d, AC_VERB_SET_AMP_GAIN_MUTE, 0x7217}, */ + + /* FIXME: 0x0a is output */ + { 0x1d, 0x707, 0x40}, + + /* extra check all DACs */ + /* 0x18 -> 0x0c */ + { 0x0c, AC_VERB_SET_CONNECT_SEL, 0x03}, + /* 0x15 -> 0x0d */ + { 0x0d, AC_VERB_SET_CONNECT_SEL, 0x00}, + /* 0x16 -> 0x0f */ + { 0x0f, AC_VERB_SET_CONNECT_SEL, 0x02}, + /* 0x17 -> 0x10 */ + { 0x10, AC_VERB_SET_CONNECT_SEL, 0x01}, + {} +}; + static struct hda_verb stac92hd73xx_core_init[] = { /* set master volume and direct control */ { 0x1f, AC_VERB_SET_VOLUME_KNOB_CONTROL, 0xff}, @@ -1530,6 +1564,19 @@ static unsigned int dell_m6_pin_configs[13] = { 0x4f0000f0, };
+/* TODO: _config[1] (PIN 0x0a) still do not working (Front panel speaker/hp), + * $.ini provide some variants of this pin: 0x02214230, 0x0221421F, 0x0211421F. + * Def. and Seq. should make difference. + * Same for _config[4] (0x0d): wariants 0x01114210, 0x0121421f -should be + * some hove in sync with 0x0a? _config[3] (0x0c) can be switched to line-in + * wariant 0x0181325e. */ +static unsigned int intel_dg45id_pin_configs[14] = { + 0x02214230, 0x02A19240, 0x01113214, 0x01114210, + 0x01A19250, 0x01111212, 0x01116211, 0x40f000f0, + 0x40f000f0, 0x40f000f0, 0x40f000f0, 0x014510A0, + 0x074510B0, 0x40f000f0 +}; + static unsigned int alienware_m17x_pin_configs[13] = { 0x0321101f, 0x0321101f, 0x03a11020, 0x03014020, 0x90170110, 0x4f0000f0, 0x4f0000f0, 0x4f0000f0, @@ -1543,6 +1590,7 @@ static unsigned int *stac92hd73xx_brd_tbl[STAC_92HD73XX_MODELS] = { [STAC_DELL_M6_DMIC] = dell_m6_pin_configs, [STAC_DELL_M6_BOTH] = dell_m6_pin_configs, [STAC_DELL_EQ] = dell_m6_pin_configs, + [STAC_92HD73XX_INTEL] = intel_dg45id_pin_configs, [STAC_ALIENWARE_M17X] = alienware_m17x_pin_configs, };
@@ -5072,6 +5120,11 @@ again: break; } break; + case STAC_92HD73XX_INTEL: + spec->init = intel_dg45id_init; + spec->num_dmics = STAC92HD73XX_NUM_DMICS; + spec->num_smuxes = ARRAY_SIZE(stac92hd73xx_smux_nids); + break; case STAC_ALIENWARE_M17X: spec->num_dmics = STAC92HD73XX_NUM_DMICS; spec->num_smuxes = ARRAY_SIZE(stac92hd73xx_smux_nids); @@ -5109,7 +5162,8 @@ again: return err; }
- if (spec->board_config == STAC_92HD73XX_NO_JD) + if (spec->board_config == STAC_92HD73XX_NO_JD || + spec->board_config == STAC_92HD73XX_INTEL) spec->hp_detect = 0;
codec->patch_ops = stac92xx_patch_ops;
This patch introduce pin config and some workarounds for dg45id board. Currently tested Mic + Surround 7.1 on rear panel, and Mic + HP on front panel. SPDIF front and SPDIF rear are untested. Both Mics provide VREF_80 (4,05 V) in mic mode and no VREF in line-in mode.
Signed-off-by: Alexey Fisher bug-track@fisher-privat.net
modified: sound/pci/hda/patch_sigmatel.c --- sound/pci/hda/patch_sigmatel.c | 53 +++++++++++++++++++++++++++++++++++++++- 1 files changed, 52 insertions(+), 1 deletions(-)
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index 6b0bc04..e604bae 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c @@ -860,6 +860,37 @@ static struct hda_verb dell_eq_core_init[] = { {} };
+static struct hda_verb intel_dg45id_init[] = { + /* connect all inputs to the mixer */ + /* 0x0b -> mixer */ + { 0x28, AC_VERB_SET_CONNECT_SEL, 0x01}, + /* 0x0e -> mixer */ + { 0x29, AC_VERB_SET_CONNECT_SEL, 0x01}, + /* FIXME: if sorround51 0x0c can be used for line-in + * currently do not working */ + { 0x2a, AC_VERB_SET_CONNECT_SEL, 0x01}, + + /* connect mixer to the switch */ + { 0x20, AC_VERB_SET_CONNECT_SEL, 0x0b}, + + /* unmute inputs on mixer */ + { 0x1d, AC_VERB_SET_AMP_GAIN_MUTE, 0x7017}, + { 0x1d, AC_VERB_SET_AMP_GAIN_MUTE, 0x7117}, + /* TODO: make option for 0x0c to be line-in + * { 0x1d, AC_VERB_SET_AMP_GAIN_MUTE, 0x7217}, */ + + /* extra check all DACs */ + /* 0x18 -> 0x0c */ + { 0x0c, AC_VERB_SET_CONNECT_SEL, 0x03}, + /* 0x15 -> 0x0d */ + { 0x0d, AC_VERB_SET_CONNECT_SEL, 0x00}, + /* 0x16 -> 0x0f */ + { 0x0f, AC_VERB_SET_CONNECT_SEL, 0x02}, + /* 0x17 -> 0x10 */ + { 0x10, AC_VERB_SET_CONNECT_SEL, 0x01}, + {} +}; + static struct hda_verb stac92hd73xx_core_init[] = { /* set master volume and direct control */ { 0x1f, AC_VERB_SET_VOLUME_KNOB_CONTROL, 0xff}, @@ -1531,6 +1562,19 @@ static unsigned int dell_m6_pin_configs[13] = { 0x4f0000f0, };
+/* TODO: _config[1] (PIN 0x0a) still do not working (Front panel speaker/hp), + * $.ini provide some variants of this pin: 0x02214230, 0x0221421F, 0x0211421F. + * Def. and Seq. should make difference. + * Same for _config[4] (0x0d): wariants 0x01114210, 0x0121421f -should be + * some hove in sync with 0x0a? _config[3] (0x0c) can be switched to line-in + * wariant 0x0181325e. */ +static unsigned int intel_dg45id_pin_configs[14] = { + 0x02214230, 0x02A19240, 0x01113214, 0x01114210, + 0x01A19250, 0x01111212, 0x01116211, 0x40f000f0, + 0x40f000f0, 0x40f000f0, 0x40f000f0, 0x014510A0, + 0x074510B0, 0x40f000f0 +}; + static unsigned int alienware_m17x_pin_configs[13] = { 0x0321101f, 0x0321101f, 0x03a11020, 0x03014020, 0x90170110, 0x4f0000f0, 0x4f0000f0, 0x4f0000f0, @@ -1544,6 +1588,7 @@ static unsigned int *stac92hd73xx_brd_tbl[STAC_92HD73XX_MODELS] = { [STAC_DELL_M6_DMIC] = dell_m6_pin_configs, [STAC_DELL_M6_BOTH] = dell_m6_pin_configs, [STAC_DELL_EQ] = dell_m6_pin_configs, + [STAC_92HD73XX_INTEL] = intel_dg45id_pin_configs, [STAC_ALIENWARE_M17X] = alienware_m17x_pin_configs, };
@@ -5127,6 +5172,11 @@ again: break; } break; + case STAC_92HD73XX_INTEL: + spec->init = intel_dg45id_init; + spec->num_dmics = STAC92HD73XX_NUM_DMICS; + spec->num_smuxes = ARRAY_SIZE(stac92hd73xx_smux_nids); + break; case STAC_ALIENWARE_M17X: spec->num_dmics = STAC92HD73XX_NUM_DMICS; spec->num_smuxes = ARRAY_SIZE(stac92hd73xx_smux_nids); @@ -5164,7 +5214,8 @@ again: return err; }
- if (spec->board_config == STAC_92HD73XX_NO_JD) + if (spec->board_config == STAC_92HD73XX_NO_JD || + spec->board_config == STAC_92HD73XX_INTEL) spec->hp_detect = 0;
codec->patch_ops = stac92xx_patch_ops;
At Sun, 6 Dec 2009 11:29:13 +0100, Alexey Fisher wrote:
This patch introduce pin config and some workarounds for dg45id board. Currently tested Mic + Surround 7.1 on rear panel, and Mic + HP on front panel. SPDIF front and SPDIF rear are untested. Both Mics provide VREF_80 (4,05 V) in mic mode and no VREF in line-in mode.
Signed-off-by: Alexey Fisher bug-track@fisher-privat.net
Thanks for the patch.
But, I still don't see the reason for so many init verbs, especially doing static routings. Can't be they connected properly by the parser? If so, it's the parser to be fixed, not a quirky init table.
And, your machine has really no headphone detection? I mean, not about your taste but it's not physically doable?
thanks,
Takashi
modified: sound/pci/hda/patch_sigmatel.c
sound/pci/hda/patch_sigmatel.c | 53 +++++++++++++++++++++++++++++++++++++++- 1 files changed, 52 insertions(+), 1 deletions(-)
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index 6b0bc04..e604bae 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c @@ -860,6 +860,37 @@ static struct hda_verb dell_eq_core_init[] = { {} };
+static struct hda_verb intel_dg45id_init[] = {
- /* connect all inputs to the mixer */
- /* 0x0b -> mixer */
- { 0x28, AC_VERB_SET_CONNECT_SEL, 0x01},
- /* 0x0e -> mixer */
- { 0x29, AC_VERB_SET_CONNECT_SEL, 0x01},
- /* FIXME: if sorround51 0x0c can be used for line-in
* currently do not working */
- { 0x2a, AC_VERB_SET_CONNECT_SEL, 0x01},
- /* connect mixer to the switch */
- { 0x20, AC_VERB_SET_CONNECT_SEL, 0x0b},
- /* unmute inputs on mixer */
- { 0x1d, AC_VERB_SET_AMP_GAIN_MUTE, 0x7017},
- { 0x1d, AC_VERB_SET_AMP_GAIN_MUTE, 0x7117},
- /* TODO: make option for 0x0c to be line-in
* { 0x1d, AC_VERB_SET_AMP_GAIN_MUTE, 0x7217}, */
- /* extra check all DACs */
- /* 0x18 -> 0x0c */
- { 0x0c, AC_VERB_SET_CONNECT_SEL, 0x03},
- /* 0x15 -> 0x0d */
- { 0x0d, AC_VERB_SET_CONNECT_SEL, 0x00},
- /* 0x16 -> 0x0f */
- { 0x0f, AC_VERB_SET_CONNECT_SEL, 0x02},
- /* 0x17 -> 0x10 */
- { 0x10, AC_VERB_SET_CONNECT_SEL, 0x01},
- {}
+};
static struct hda_verb stac92hd73xx_core_init[] = { /* set master volume and direct control */ { 0x1f, AC_VERB_SET_VOLUME_KNOB_CONTROL, 0xff}, @@ -1531,6 +1562,19 @@ static unsigned int dell_m6_pin_configs[13] = { 0x4f0000f0, };
+/* TODO: _config[1] (PIN 0x0a) still do not working (Front panel speaker/hp),
- $.ini provide some variants of this pin: 0x02214230, 0x0221421F, 0x0211421F.
- Def. and Seq. should make difference.
- Same for _config[4] (0x0d): wariants 0x01114210, 0x0121421f -should be
- some hove in sync with 0x0a? _config[3] (0x0c) can be switched to line-in
- wariant 0x0181325e. */
+static unsigned int intel_dg45id_pin_configs[14] = {
- 0x02214230, 0x02A19240, 0x01113214, 0x01114210,
- 0x01A19250, 0x01111212, 0x01116211, 0x40f000f0,
- 0x40f000f0, 0x40f000f0, 0x40f000f0, 0x014510A0,
- 0x074510B0, 0x40f000f0
+};
static unsigned int alienware_m17x_pin_configs[13] = { 0x0321101f, 0x0321101f, 0x03a11020, 0x03014020, 0x90170110, 0x4f0000f0, 0x4f0000f0, 0x4f0000f0, @@ -1544,6 +1588,7 @@ static unsigned int *stac92hd73xx_brd_tbl[STAC_92HD73XX_MODELS] = { [STAC_DELL_M6_DMIC] = dell_m6_pin_configs, [STAC_DELL_M6_BOTH] = dell_m6_pin_configs, [STAC_DELL_EQ] = dell_m6_pin_configs,
- [STAC_92HD73XX_INTEL] = intel_dg45id_pin_configs, [STAC_ALIENWARE_M17X] = alienware_m17x_pin_configs,
};
@@ -5127,6 +5172,11 @@ again: break; } break;
- case STAC_92HD73XX_INTEL:
spec->init = intel_dg45id_init;
spec->num_dmics = STAC92HD73XX_NUM_DMICS;
spec->num_smuxes = ARRAY_SIZE(stac92hd73xx_smux_nids);
case STAC_ALIENWARE_M17X: spec->num_dmics = STAC92HD73XX_NUM_DMICS; spec->num_smuxes = ARRAY_SIZE(stac92hd73xx_smux_nids);break;
@@ -5164,7 +5214,8 @@ again: return err; }
- if (spec->board_config == STAC_92HD73XX_NO_JD)
if (spec->board_config == STAC_92HD73XX_NO_JD ||
spec->board_config == STAC_92HD73XX_INTEL)
spec->hp_detect = 0;
codec->patch_ops = stac92xx_patch_ops;
-- 1.6.3.3
Am Dienstag, den 08.12.2009, 12:04 +0100 schrieb Takashi Iwai:
At Sun, 6 Dec 2009 11:29:13 +0100, Alexey Fisher wrote:
This patch introduce pin config and some workarounds for dg45id board. Currently tested Mic + Surround 7.1 on rear panel, and Mic + HP on front panel. SPDIF front and SPDIF rear are untested. Both Mics provide VREF_80 (4,05 V) in mic mode and no VREF in line-in mode.
Signed-off-by: Alexey Fisher bug-track@fisher-privat.net
Thanks for the patch.
But, I still don't see the reason for so many init verbs, especially doing static routings. Can't be they connected properly by the parser? If so, it's the parser to be fixed, not a quirky init table.
Ok. I prefer to have the part with mixer. The driver currently can't handle this. It seems to make some problem with front HP. By default All mixer inputs use 0x0a (Front HP out), in this situation i get hi freq noise on 0x0a. So or driver should learn to work with mixer or...?
And, your machine has really no headphone detection? I mean, not about your taste but it's not physically doable?
HP detection working on rear green (0x0d), not on front green (0x0a). May be there is something wrong with connector. Anyway, it working fine under M$. May be we should provide UI control for this (to make user completely confused:)?
thanks,
Takashi
modified: sound/pci/hda/patch_sigmatel.c
sound/pci/hda/patch_sigmatel.c | 53 +++++++++++++++++++++++++++++++++++++++- 1 files changed, 52 insertions(+), 1 deletions(-)
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index 6b0bc04..e604bae 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c @@ -860,6 +860,37 @@ static struct hda_verb dell_eq_core_init[] = { {} };
+static struct hda_verb intel_dg45id_init[] = {
- /* connect all inputs to the mixer */
- /* 0x0b -> mixer */
- { 0x28, AC_VERB_SET_CONNECT_SEL, 0x01},
- /* 0x0e -> mixer */
- { 0x29, AC_VERB_SET_CONNECT_SEL, 0x01},
- /* FIXME: if sorround51 0x0c can be used for line-in
* currently do not working */
- { 0x2a, AC_VERB_SET_CONNECT_SEL, 0x01},
- /* connect mixer to the switch */
- { 0x20, AC_VERB_SET_CONNECT_SEL, 0x0b},
- /* unmute inputs on mixer */
- { 0x1d, AC_VERB_SET_AMP_GAIN_MUTE, 0x7017},
- { 0x1d, AC_VERB_SET_AMP_GAIN_MUTE, 0x7117},
- /* TODO: make option for 0x0c to be line-in
* { 0x1d, AC_VERB_SET_AMP_GAIN_MUTE, 0x7217}, */
This part is not really important. I used this to copy settings of M$ driver. Thirst two, are correctly set by BIOS, second two are switched.
- /* extra check all DACs */
- /* 0x18 -> 0x0c */
- { 0x0c, AC_VERB_SET_CONNECT_SEL, 0x03},
- /* 0x15 -> 0x0d */
- { 0x0d, AC_VERB_SET_CONNECT_SEL, 0x00},
- /* 0x16 -> 0x0f */
- { 0x0f, AC_VERB_SET_CONNECT_SEL, 0x02},
- /* 0x17 -> 0x10 */
- { 0x10, AC_VERB_SET_CONNECT_SEL, 0x01},
- {}
+};
static struct hda_verb stac92hd73xx_core_init[] = { /* set master volume and direct control */ { 0x1f, AC_VERB_SET_VOLUME_KNOB_CONTROL, 0xff}, @@ -1531,6 +1562,19 @@ static unsigned int dell_m6_pin_configs[13] = { 0x4f0000f0, };
The comment is not up to date any more. HP is working now. You said about wrong pincfgs. What you mean should be changed here to make difference between speaker and jack?
PS: up now, i trawling and not able to test this PC for about 6 months. So if you doubt, we can leave this patch till juli.
+/* TODO: _config[1] (PIN 0x0a) still do not working (Front panel speaker/hp),
- $.ini provide some variants of this pin: 0x02214230, 0x0221421F, 0x0211421F.
- Def. and Seq. should make difference.
- Same for _config[4] (0x0d): wariants 0x01114210, 0x0121421f -should be
- some hove in sync with 0x0a? _config[3] (0x0c) can be switched to line-in
- wariant 0x0181325e. */
+static unsigned int intel_dg45id_pin_configs[14] = {
- 0x02214230, 0x02A19240, 0x01113214, 0x01114210,
- 0x01A19250, 0x01111212, 0x01116211, 0x40f000f0,
- 0x40f000f0, 0x40f000f0, 0x40f000f0, 0x014510A0,
- 0x074510B0, 0x40f000f0
+};
static unsigned int alienware_m17x_pin_configs[13] = { 0x0321101f, 0x0321101f, 0x03a11020, 0x03014020, 0x90170110, 0x4f0000f0, 0x4f0000f0, 0x4f0000f0, @@ -1544,6 +1588,7 @@ static unsigned int *stac92hd73xx_brd_tbl[STAC_92HD73XX_MODELS] = { [STAC_DELL_M6_DMIC] = dell_m6_pin_configs, [STAC_DELL_M6_BOTH] = dell_m6_pin_configs, [STAC_DELL_EQ] = dell_m6_pin_configs,
- [STAC_92HD73XX_INTEL] = intel_dg45id_pin_configs, [STAC_ALIENWARE_M17X] = alienware_m17x_pin_configs,
};
@@ -5127,6 +5172,11 @@ again: break; } break;
- case STAC_92HD73XX_INTEL:
spec->init = intel_dg45id_init;
spec->num_dmics = STAC92HD73XX_NUM_DMICS;
spec->num_smuxes = ARRAY_SIZE(stac92hd73xx_smux_nids);
case STAC_ALIENWARE_M17X: spec->num_dmics = STAC92HD73XX_NUM_DMICS; spec->num_smuxes = ARRAY_SIZE(stac92hd73xx_smux_nids);break;
@@ -5164,7 +5214,8 @@ again: return err; }
- if (spec->board_config == STAC_92HD73XX_NO_JD)
if (spec->board_config == STAC_92HD73XX_NO_JD ||
spec->board_config == STAC_92HD73XX_INTEL)
spec->hp_detect = 0;
codec->patch_ops = stac92xx_patch_ops;
At Tue, 08 Dec 2009 14:02:43 +0100, Alexey Fisher wrote:
Am Dienstag, den 08.12.2009, 12:04 +0100 schrieb Takashi Iwai:
At Sun, 6 Dec 2009 11:29:13 +0100, Alexey Fisher wrote:
This patch introduce pin config and some workarounds for dg45id board. Currently tested Mic + Surround 7.1 on rear panel, and Mic + HP on front panel. SPDIF front and SPDIF rear are untested. Both Mics provide VREF_80 (4,05 V) in mic mode and no VREF in line-in mode.
Signed-off-by: Alexey Fisher bug-track@fisher-privat.net
Thanks for the patch.
But, I still don't see the reason for so many init verbs, especially doing static routings. Can't be they connected properly by the parser? If so, it's the parser to be fixed, not a quirky init table.
Ok. I prefer to have the part with mixer. The driver currently can't handle this.
What do you mean exactly with "mixer"?
It seems to make some problem with front HP. By default All mixer inputs use 0x0a (Front HP out), in this situation i get hi freq noise on 0x0a. So or driver should learn to work with mixer or...?
Not sure what you are talking about here...
And, your machine has really no headphone detection? I mean, not about your taste but it's not physically doable?
HP detection working on rear green (0x0d), not on front green (0x0a). May be there is something wrong with connector. Anyway, it working fine under M$. May be we should provide UI control for this (to make user completely confused:)?
If Windows driver can detect the front HP jack, it means the connection is alive. You can try hda-verb to check whether the pin-detection works, independently from the driver setup.
thanks,
Takashi
thanks,
Takashi
modified: sound/pci/hda/patch_sigmatel.c
sound/pci/hda/patch_sigmatel.c | 53 +++++++++++++++++++++++++++++++++++++++- 1 files changed, 52 insertions(+), 1 deletions(-)
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index 6b0bc04..e604bae 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c @@ -860,6 +860,37 @@ static struct hda_verb dell_eq_core_init[] = { {} };
+static struct hda_verb intel_dg45id_init[] = {
- /* connect all inputs to the mixer */
- /* 0x0b -> mixer */
- { 0x28, AC_VERB_SET_CONNECT_SEL, 0x01},
- /* 0x0e -> mixer */
- { 0x29, AC_VERB_SET_CONNECT_SEL, 0x01},
- /* FIXME: if sorround51 0x0c can be used for line-in
* currently do not working */
- { 0x2a, AC_VERB_SET_CONNECT_SEL, 0x01},
- /* connect mixer to the switch */
- { 0x20, AC_VERB_SET_CONNECT_SEL, 0x0b},
- /* unmute inputs on mixer */
- { 0x1d, AC_VERB_SET_AMP_GAIN_MUTE, 0x7017},
- { 0x1d, AC_VERB_SET_AMP_GAIN_MUTE, 0x7117},
- /* TODO: make option for 0x0c to be line-in
* { 0x1d, AC_VERB_SET_AMP_GAIN_MUTE, 0x7217}, */
This part is not really important. I used this to copy settings of M$ driver. Thirst two, are correctly set by BIOS, second two are switched.
- /* extra check all DACs */
- /* 0x18 -> 0x0c */
- { 0x0c, AC_VERB_SET_CONNECT_SEL, 0x03},
- /* 0x15 -> 0x0d */
- { 0x0d, AC_VERB_SET_CONNECT_SEL, 0x00},
- /* 0x16 -> 0x0f */
- { 0x0f, AC_VERB_SET_CONNECT_SEL, 0x02},
- /* 0x17 -> 0x10 */
- { 0x10, AC_VERB_SET_CONNECT_SEL, 0x01},
- {}
+};
static struct hda_verb stac92hd73xx_core_init[] = { /* set master volume and direct control */ { 0x1f, AC_VERB_SET_VOLUME_KNOB_CONTROL, 0xff}, @@ -1531,6 +1562,19 @@ static unsigned int dell_m6_pin_configs[13] = { 0x4f0000f0, };
The comment is not up to date any more. HP is working now. You said about wrong pincfgs. What you mean should be changed here to make difference between speaker and jack?
PS: up now, i trawling and not able to test this PC for about 6 months. So if you doubt, we can leave this patch till juli.
+/* TODO: _config[1] (PIN 0x0a) still do not working (Front panel speaker/hp),
- $.ini provide some variants of this pin: 0x02214230, 0x0221421F, 0x0211421F.
- Def. and Seq. should make difference.
- Same for _config[4] (0x0d): wariants 0x01114210, 0x0121421f -should be
- some hove in sync with 0x0a? _config[3] (0x0c) can be switched to line-in
- wariant 0x0181325e. */
+static unsigned int intel_dg45id_pin_configs[14] = {
- 0x02214230, 0x02A19240, 0x01113214, 0x01114210,
- 0x01A19250, 0x01111212, 0x01116211, 0x40f000f0,
- 0x40f000f0, 0x40f000f0, 0x40f000f0, 0x014510A0,
- 0x074510B0, 0x40f000f0
+};
static unsigned int alienware_m17x_pin_configs[13] = { 0x0321101f, 0x0321101f, 0x03a11020, 0x03014020, 0x90170110, 0x4f0000f0, 0x4f0000f0, 0x4f0000f0, @@ -1544,6 +1588,7 @@ static unsigned int *stac92hd73xx_brd_tbl[STAC_92HD73XX_MODELS] = { [STAC_DELL_M6_DMIC] = dell_m6_pin_configs, [STAC_DELL_M6_BOTH] = dell_m6_pin_configs, [STAC_DELL_EQ] = dell_m6_pin_configs,
- [STAC_92HD73XX_INTEL] = intel_dg45id_pin_configs, [STAC_ALIENWARE_M17X] = alienware_m17x_pin_configs,
};
@@ -5127,6 +5172,11 @@ again: break; } break;
- case STAC_92HD73XX_INTEL:
spec->init = intel_dg45id_init;
spec->num_dmics = STAC92HD73XX_NUM_DMICS;
spec->num_smuxes = ARRAY_SIZE(stac92hd73xx_smux_nids);
case STAC_ALIENWARE_M17X: spec->num_dmics = STAC92HD73XX_NUM_DMICS; spec->num_smuxes = ARRAY_SIZE(stac92hd73xx_smux_nids);break;
@@ -5164,7 +5214,8 @@ again: return err; }
- if (spec->board_config == STAC_92HD73XX_NO_JD)
if (spec->board_config == STAC_92HD73XX_NO_JD ||
spec->board_config == STAC_92HD73XX_INTEL)
spec->hp_detect = 0;
codec->patch_ops = stac92xx_patch_ops;
participants (3)
-
Alexey Fisher
-
Paulo Cavalcanti
-
Takashi Iwai