2007-10-16 22:19:58

by Thomas Meyer

[permalink] [raw]
Subject: hda-intel: no soundcard with current linus' git tree

$ dmesg

[schnipp]

ACPI: PCI Interrupt 0000:00:1b.0[A] -> GSI 22 (level, low) -> IRQ 21
PCI: Enabling bus mastering for device 0000:00:1b.0
PCI: Setting latency timer of device 0000:00:1b.0 to 64
hda_codec: STAC922x, Apple subsys_id=106b0200
ACPI: PCI interrupt for device 0000:00:1b.0 disabled
HDA Intel: probe of 0000:00:1b.0 failed with error -16

[schnipp]



2007-10-17 02:48:15

by Maxim Levitsky

[permalink] [raw]
Subject: Re: hda-intel: no soundcard with current linus' git tree

On Wednesday 17 October 2007 00:18:42 Thomas Meyer wrote:
> $ dmesg
>
> [schnipp]
>
> ACPI: PCI Interrupt 0000:00:1b.0[A] -> GSI 22 (level, low) -> IRQ 21
> PCI: Enabling bus mastering for device 0000:00:1b.0
> PCI: Setting latency timer of device 0000:00:1b.0 to 64
> hda_codec: STAC922x, Apple subsys_id=106b0200
> ACPI: PCI interrupt for device 0000:00:1b.0 disabled
> HDA Intel: probe of 0000:00:1b.0 failed with error -16
>
> [schnipp]
>
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>


Please bisect this (the alsa merge happened just short time ago)
Which kernel did work?

Best regards,
Maxim Levitsky

2007-10-17 09:22:59

by Takashi Iwai

[permalink] [raw]
Subject: Re: hda-intel: no soundcard with current linus' git tree

At Wed, 17 Oct 2007 00:18:42 +0200,
Thomas Meyer wrote:
>
> $ dmesg
>
> [schnipp]
>
> ACPI: PCI Interrupt 0000:00:1b.0[A] -> GSI 22 (level, low) -> IRQ 21
> PCI: Enabling bus mastering for device 0000:00:1b.0
> PCI: Setting latency timer of device 0000:00:1b.0 to 64
> hda_codec: STAC922x, Apple subsys_id=106b0200
> ACPI: PCI interrupt for device 0000:00:1b.0 disabled
> HDA Intel: probe of 0000:00:1b.0 failed with error -16

It's EBUSY, so something conflict.
Try to build with CONFIG_SND_DEBUG=y (and CONFIG_SND_DEBUG_DETECT=y).


thanks,

Takashi

2007-10-17 18:17:56

by Thomas Meyer

[permalink] [raw]
Subject: Re: hda-intel: no soundcard with current linus' git tree

Takashi Iwai schrieb:
> At Wed, 17 Oct 2007 00:18:42 +0200,
> Thomas Meyer wrote:
>
>> $ dmesg
>>
>> [schnipp]
>>
>> ACPI: PCI Interrupt 0000:00:1b.0[A] -> GSI 22 (level, low) -> IRQ 21
>> PCI: Enabling bus mastering for device 0000:00:1b.0
>> PCI: Setting latency timer of device 0000:00:1b.0 to 64
>> hda_codec: STAC922x, Apple subsys_id=106b0200
>> ACPI: PCI interrupt for device 0000:00:1b.0 disabled
>> HDA Intel: probe of 0000:00:1b.0 failed with error -16
>>
>
> It's EBUSY, so something conflict.
> Try to build with CONFIG_SND_DEBUG=y (and CONFIG_SND_DEBUG_DETECT=y).
>
>
>
ACPI: PCI Interrupt 0000:00:1b.0[A] -> GSI 22 (level, low) -> IRQ 21
PCI: Enabling bus mastering for device 0000:00:1b.0
PCI: Setting latency timer of device 0000:00:1b.0 to 64
ALSA sound/pci/hda/hda_intel.c:727: codec_mask = 0x1
ALSA sound/pci/hda/hda_codec.c:2163: hda_codec: model 'intel-mac-v3' is
selected for config 8384:7680 (Mac Mini)
hda_codec: STAC922x, Apple subsys_id=106b0200
ALSA sound/pci/hda/patch_sigmatel.c:1283: hda_codec: pin nid 0a pin
config 0121e21f
ALSA sound/pci/hda/patch_sigmatel.c:1283: hda_codec: pin nid 0b pin
config 90a7012e
ALSA sound/pci/hda/patch_sigmatel.c:1283: hda_codec: pin nid 0c pin
config 9017e110
ALSA sound/pci/hda/patch_sigmatel.c:1283: hda_codec: pin nid 0d pin
config 400000fd
ALSA sound/pci/hda/patch_sigmatel.c:1283: hda_codec: pin nid 0e pin
config 400000fe
ALSA sound/pci/hda/patch_sigmatel.c:1283: hda_codec: pin nid 0f pin
config 0181e020
ALSA sound/pci/hda/patch_sigmatel.c:1283: hda_codec: pin nid 10 pin
config 1145e230
ALSA sound/pci/hda/patch_sigmatel.c:1283: hda_codec: pin nid 11 pin
config 11c5e240
usb 2-2: new full speed USB device using uhci_hcd and address 2
ALSA sound/pci/hda/patch_sigmatel.c:1283: hda_codec: pin nid 15 pin
config 400000fc
ALSA sound/pci/hda/patch_sigmatel.c:1283: hda_codec: pin nid 1b pin
config 400000fb
Clocksource tsc unstable (delta = -101396678 ns)
ALSA sound/pci/hda/hda_codec.c:2757: autoconfig: line_outs=1
(0xc/0x0/0x0/0x0/0x0)
ALSA sound/pci/hda/hda_codec.c:2761: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
ALSA sound/pci/hda/hda_codec.c:2765: hp_outs=1 (0xa/0x0/0x0/0x0/0x0)
ALSA sound/pci/hda/hda_codec.c:2773: inputs: mic=0xb, fmic=0x0,
line=0xf, fline=0x0, cd=0x0, aux=0x0
ALSA sound/pci/hda/patch_sigmatel.c:1656: stac92xx_add_dyn_out_pins:
total dac count=4
ALSA sound/pci/hda/patch_sigmatel.c:1779: dac_nids=3 (0x3/0x5/0x4/0x0/0x0)
usb 2-2: configuration #1 chosen from 1 choice
ALSA sound/core/control.c:331: control 2:0:0:Master Playback Volume:0 is
already present
ACPI: PCI interrupt for device 0000:00:1b.0 disabled
HDA Intel: probe of 0000:00:1b.0 failed with error -16

$ cat /proc/asound/cards
--- no soundcards ---

$ cat /proc/asound/devices
2: : timer
3: : sequencer



mfg
thomas

2007-10-18 01:52:38

by Maxim Levitsky

[permalink] [raw]
Subject: Re: hda-intel: no soundcard with current linus' git tree

Hi,

I understand why this happens.

Your sound card has a single "headphone" output, and since it is single, it is called "Master"
the stac you have also has a real master volume control, that controls all the DACs, not just the headphones.

I added support for it, thus two controls collided.

The following patch will rename the "Master" output to "Headphone"
Note that on the stac 9205/9204, the only one that has no master volume (the volume knob)
but has a "Master Volume" amplifier widget, this will probably rename the "Master Volume" to
Headphones.

This chip is quite different, thus I think this should be handled in its patch function.
I see what I can do later.
Meanwhile the rename from "Master" to Headphones" is the only regression.

Best regards,
Maxim Levitsky

PS: I reply to this mail with the patch.

2007-10-18 01:53:49

by Maxim Levitsky

[permalink] [raw]
Subject: Re: hda-intel: no soundcard with current linus' git tree

>From 0824b077b75c19253b45c5a455775c331acd54ee Mon Sep 17 00:00:00 2001
From: Maxim Levitsky <[email protected]>
Date: Thu, 18 Oct 2007 03:35:37 +0200
Subject: [PATCH] [HDA] [STAC] Since there is now a master volume control,
don't call the headphone output "Master", it isn't strictly correct anyway

Signed-off-by: Maxim Levitsky <[email protected]>
---
pci/hda/patch_sigmatel.c | 7 +------
1 files changed, 1 insertions(+), 6 deletions(-)

diff --git a/pci/hda/patch_sigmatel.c b/pci/hda/patch_sigmatel.c
index 6dffa54..7f157a6 100644
--- a/pci/hda/patch_sigmatel.c
+++ b/pci/hda/patch_sigmatel.c
@@ -1907,12 +1907,7 @@ static int stac92xx_auto_create_hp_ctls(struct hda_codec *codec,
return err;
}
if (spec->multiout.hp_nid) {
- const char *pfx;
- if (old_num_dacs == spec->multiout.num_dacs)
- pfx = "Master";
- else
- pfx = "Headphone";
- err = create_controls(spec, pfx, spec->multiout.hp_nid, 3);
+ err = create_controls(spec, "Headphone", spec->multiout.hp_nid, 3);
if (err < 0)
return err;
}
--
1.5.3.4

2007-10-18 02:36:15

by Jeff Garzik

[permalink] [raw]
Subject: Re: hda-intel: no soundcard with current linus' git tree

Thomas Meyer wrote:
> $ dmesg
>
> [schnipp]
>
> ACPI: PCI Interrupt 0000:00:1b.0[A] -> GSI 22 (level, low) -> IRQ 21
> PCI: Enabling bus mastering for device 0000:00:1b.0
> PCI: Setting latency timer of device 0000:00:1b.0 to 64
> hda_codec: STAC922x, Apple subsys_id=106b0200
> ACPI: PCI interrupt for device 0000:00:1b.0 disabled
> HDA Intel: probe of 0000:00:1b.0 failed with error -16
>
> [schnipp]

My sound ability similarly disappeared an upstream kernel <24 hours old
(includes the ALSA merge).

[jgarzik@core ~]$ lsmod | grep -i snd
snd_hda_intel 367396 2
snd_pcm_oss 42080 0
snd_mixer_oss 16640 2 snd_pcm_oss
snd_pcm 79624 2 snd_hda_intel,snd_pcm_oss
snd_page_alloc 9040 2 snd_hda_intel,snd_pcm

[jgarzik@core ~]$ lspci | grep -i audio
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High
Definition Audio Controller (rev 01)

[jgarzik@core ~]$ dmesg | egrep -i 'snd|hda'
[jgarzik@core ~]$

mplayer says

AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)

but no sound is emitted.

Earlier kernels been working fine since hda_intel was introduced.

Jeff


2007-10-18 03:36:57

by Maxim Levitsky

[permalink] [raw]
Subject: Re: hda-intel: no soundcard with current linus' git tree

On Thursday 18 October 2007 04:35:56 Jeff Garzik wrote:
> Thomas Meyer wrote:
> > $ dmesg
> >
> > [schnipp]
> >
> > ACPI: PCI Interrupt 0000:00:1b.0[A] -> GSI 22 (level, low) -> IRQ 21
> > PCI: Enabling bus mastering for device 0000:00:1b.0
> > PCI: Setting latency timer of device 0000:00:1b.0 to 64
> > hda_codec: STAC922x, Apple subsys_id=106b0200
> > ACPI: PCI interrupt for device 0000:00:1b.0 disabled
> > HDA Intel: probe of 0000:00:1b.0 failed with error -16
> >
> > [schnipp]
>
> My sound ability similarly disappeared an upstream kernel <24 hours old
> (includes the ALSA merge).
>
> [jgarzik@core ~]$ lsmod | grep -i snd
> snd_hda_intel 367396 2
> snd_pcm_oss 42080 0
> snd_mixer_oss 16640 2 snd_pcm_oss
> snd_pcm 79624 2 snd_hda_intel,snd_pcm_oss
> snd_page_alloc 9040 2 snd_hda_intel,snd_pcm
>
> [jgarzik@core ~]$ lspci | grep -i audio
> 00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High
> Definition Audio Controller (rev 01)
>
> [jgarzik@core ~]$ dmesg | egrep -i 'snd|hda'
> [jgarzik@core ~]$
>
> mplayer says
>
> AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)
>
> but no sound is emitted.
>
> Earlier kernels been working fine since hda_intel was introduced.
>
> Jeff
>
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>

What sound codec do you have?
cat /proc/asound/Intel/codec*

You probably have different issue, since your card is probed correctly


Regards,
Maxim Levitsky

2007-10-18 03:38:20

by Jeff Garzik

[permalink] [raw]
Subject: Re: hda-intel: no soundcard with current linus' git tree

Codec: SigmaTel STAC9221D A2
Address: 2
Vendor Id: 0x83847683
Subsystem Id: 0x80860417
Revision Id: 0x103201
No Modem Function Group found
Default PCM:
rates [0x7e0]: 44100 48000 88200 96000 176400 192000
bits [0xe]: 16 20 24
formats [0x1]: PCM
Default Amp-In caps: ofs=0x00, nsteps=0x0e, stepsize=0x05, mute=1
Default Amp-Out caps: ofs=0x7f, nsteps=0x7f, stepsize=0x02, mute=1
Node 0x02 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out
Amp-Out caps: N/A
Amp-Out vals: [0xff 0xff]
Power: 0x0
Node 0x03 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out
Amp-Out caps: N/A
Amp-Out vals: [0xff 0xff]
Power: 0x0
Node 0x04 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out
Amp-Out caps: N/A
Amp-Out vals: [0xff 0xff]
Power: 0x0
Node 0x05 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out
Amp-Out caps: N/A
Amp-Out vals: [0xff 0xff]
Power: 0x0
Node 0x06 [Audio Input] wcaps 0x1d0541: Stereo
Power: 0x0
Connection: 1
0x17
Node 0x07 [Audio Input] wcaps 0x1d0541: Stereo
Power: 0x0
Connection: 1
0x18
Node 0x08 [Audio Output] wcaps 0x40211: Stereo Digital
PCM:
rates [0x7e0]: 44100 48000 88200 96000 176400 192000
bits [0xe]: 16 20 24
formats [0x5]: PCM AC3
Node 0x09 [Audio Input] wcaps 0x140311: Stereo Digital
PCM:
rates [0x160]: 44100 48000 96000
bits [0xe]: 16 20 24
formats [0x5]: PCM AC3
Connection: 1
0x11
Node 0x0a [Pin Complex] wcaps 0x400181: Stereo
Pincap 0x08173f: IN OUT HP Detect
Pin Default 0x0221401f: [Jack] HP Out at Ext Front
Conn = 1/8, Color = Green
Pin-ctls: 0xc0: OUT HP
Connection: 1
0x02
Node 0x0b [Pin Complex] wcaps 0x400181: Stereo
Pincap 0x081737: IN OUT Detect
Pin Default 0x01011012: [Jack] Line Out at Ext Rear
Conn = 1/8, Color = Black
Pin-ctls: 0x40: OUT
Connection: 1
0x04
Node 0x0c [Pin Complex] wcaps 0x400181: Stereo
Pincap 0x081737: IN OUT Detect
Pin Default 0x01813024: [Jack] Line In at Ext Rear
Conn = 1/8, Color = Blue
Pin-ctls: 0x20: IN
Connection: 1
0x03
Node 0x0d [Pin Complex] wcaps 0x400181: Stereo
Pincap 0x08173f: IN OUT HP Detect
Pin Default 0x01014010: [Jack] Line Out at Ext Rear
Conn = 1/8, Color = Green
Pin-ctls: 0x40: OUT
Connection: 1
0x02
Node 0x0e [Pin Complex] wcaps 0x400081: Stereo
Pincap 0x0824: IN Detect
Pin Default 0x01a19021: [Jack] Mic at Ext Rear
Conn = 1/8, Color = Pink
Pin-ctls: 0x20: IN
Node 0x0f [Pin Complex] wcaps 0x400181: Stereo
Pincap 0x0837: IN OUT Detect
Pin Default 0x01016011: [Jack] Line Out at Ext Rear
Conn = 1/8, Color = Orange
Pin-ctls: 0x40: OUT
Connection: 1
0x05
Node 0x10 [Pin Complex] wcaps 0x400301: Stereo Digital
Pincap 0x0810: OUT
Pin Default 0x01452130: [Jack] SPDIF Out at Ext Rear
Conn = Optical, Color = Grey
Pin-ctls: 0x40: OUT
Connection: 3
0x08* 0x17 0x19
Node 0x11 [Pin Complex] wcaps 0x430681: Stereo Digital
Pincap 0x0810024: IN EAPD Detect
Pin Default 0x40000100: [N/A] Line Out at Ext N/A
Conn = Unknown, Color = Unknown
Pin-ctls: 0x00:
Power: 0x0
Node 0x12 [Audio Selector] wcaps 0x30010d: Stereo Amp-Out
Amp-Out caps: ofs=0x00, nsteps=0x04, stepsize=0x27, mute=0
Amp-Out vals: [0x00 0x00]
Connection: 7
0x0e* 0x15 0x0f 0x0b 0x0c 0x0d 0x0a
Node 0x13 [Audio Selector] wcaps 0x30010d: Stereo Amp-Out
Amp-Out caps: ofs=0x00, nsteps=0x04, stepsize=0x27, mute=0
Amp-Out vals: [0x00 0x00]
Connection: 7
0x0e* 0x15 0x0f 0x0b 0x0c 0x0d 0x0a
Node 0x14 [Beep Generator Widget] wcaps 0x70000c: Mono Amp-Out
Amp-Out caps: ofs=0x03, nsteps=0x03, stepsize=0x17, mute=0
Amp-Out vals: [0x00]
Node 0x15 [Pin Complex] wcaps 0x400001: Stereo
Pincap 0x0820: IN
Pin Default 0x02a19320: [Jack] Mic at Ext Front
Conn = 1/8, Color = Pink
Pin-ctls: 0x20: IN
Node 0x16 [Volume Knob Widget] wcaps 0x600000: Mono
Node 0x17 [Audio Selector] wcaps 0x300903: Stereo Amp-In
Amp-In caps: N/A
Amp-In vals: [0x07 0x07]
Connection: 1
0x12
Node 0x18 [Audio Selector] wcaps 0x300903: Stereo Amp-In
Amp-In caps: N/A
Amp-In vals: [0x80 0x80]
Connection: 1
0x13
Node 0x19 [Vendor Defined Widget] wcaps 0xf30201: Stereo Digital
Node 0x1a [Audio Output] wcaps 0x30201: Stereo Digital
Node 0x1b [Pin Complex] wcaps 0x400301: Stereo Digital
Pincap 0x0810: OUT
Pin Default 0x40000100: [N/A] Line Out at Ext N/A
Conn = Unknown, Color = Unknown
Pin-ctls: 0x00:
Connection: 1
0x1a


Attachments:
codec.txt (4.31 kB)

2007-10-18 04:10:51

by Maxim Levitsky

[permalink] [raw]
Subject: Re: hda-intel: no soundcard with current linus' git tree

On Thursday 18 October 2007 05:38:06 Jeff Garzik wrote:
> Maxim Levitsky wrote:
> > What sound codec do you have?
> > cat /proc/asound/Intel/codec*
>
> Attached.
>
> I'm on x86-64/Fedora 7 FWIW.
>
>
> > You probably have different issue, since your card is probed correctly
>
> Agreed (though I was surprised that a correct probe did not yield a
> single printk).
>
> Jeff
>
>
>


Thanks.

Probably everything is fine.

I added a new mixer control called "Master Volume"
it is a VolumeKnob.

It is a hardware control, that was unused in the driver before.

It affects the volume of all DACs
check if it is enabled, and set to maximum value.

This control affects the volume quite a lot, for example on my system
if I set it to middle, I almost hear no sound.

Maybe something else unrelated to my patches broke your sound too.


Regards,
Maxim Levitsky

2007-10-18 04:24:49

by Jeff Garzik

[permalink] [raw]
Subject: Re: hda-intel: no soundcard with current linus' git tree

Maxim Levitsky wrote:
> Probably everything is fine.
>
> I added a new mixer control called "Master Volume"
> it is a VolumeKnob.
>
> It is a hardware control, that was unused in the driver before.
>
> It affects the volume of all DACs
> check if it is enabled, and set to maximum value.
>
> This control affects the volume quite a lot, for example on my system
> if I set it to middle, I almost hear no sound.
>
> Maybe something else unrelated to my patches broke your sound too.


'alsamixergui' shows it enabled, and near the maximum.

I'll bisect this no-audio regression when I have time, but that will be
after I'm finished with the current libata explosions :(

In the meantime, feel free to ask for more diagnostic output.

Jeff


2007-10-18 06:44:03

by Takashi Iwai

[permalink] [raw]
Subject: Re: hda-intel: no soundcard with current linus' git tree

At Thu, 18 Oct 2007 03:53:08 +0200,
Maxim Levitsky wrote:
>
> From 0824b077b75c19253b45c5a455775c331acd54ee Mon Sep 17 00:00:00 2001
> From: Maxim Levitsky <[email protected]>
> Date: Thu, 18 Oct 2007 03:35:37 +0200
> Subject: [PATCH] [HDA] [STAC] Since there is now a master volume control,
> don't call the headphone output "Master", it isn't strictly correct anyway

I thought stac925x has no volume knob, so "Master" should be still
applied for this codec?


Takashi

>
> Signed-off-by: Maxim Levitsky <[email protected]>
> ---
> pci/hda/patch_sigmatel.c | 7 +------
> 1 files changed, 1 insertions(+), 6 deletions(-)
>
> diff --git a/pci/hda/patch_sigmatel.c b/pci/hda/patch_sigmatel.c
> index 6dffa54..7f157a6 100644
> --- a/pci/hda/patch_sigmatel.c
> +++ b/pci/hda/patch_sigmatel.c
> @@ -1907,12 +1907,7 @@ static int stac92xx_auto_create_hp_ctls(struct hda_codec *codec,
> return err;
> }
> if (spec->multiout.hp_nid) {
> - const char *pfx;
> - if (old_num_dacs == spec->multiout.num_dacs)
> - pfx = "Master";
> - else
> - pfx = "Headphone";
> - err = create_controls(spec, pfx, spec->multiout.hp_nid, 3);
> + err = create_controls(spec, "Headphone", spec->multiout.hp_nid, 3);
> if (err < 0)
> return err;
> }
> --
> 1.5.3.4
>

2007-10-18 06:49:21

by Takashi Iwai

[permalink] [raw]
Subject: Re: hda-intel: no soundcard with current linus' git tree

At Wed, 17 Oct 2007 23:38:06 -0400,
Jeff Garzik wrote:
>
> Maxim Levitsky wrote:
> > What sound codec do you have?
> > cat /proc/asound/Intel/codec*
>
> Attached.
>
> I'm on x86-64/Fedora 7 FWIW.
>
>
> > You probably have different issue, since your card is probed correctly
>
> Agreed (though I was surprised that a correct probe did not yield a
> single printk).

It's shown when CONFIG_SND_DEBUG=y is set.

> Default Amp-In caps: ofs=0x00, nsteps=0x0e, stepsize=0x05, mute=1
> Default Amp-Out caps: ofs=0x7f, nsteps=0x7f, stepsize=0x02, mute=1
> Node 0x02 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out
> Amp-Out caps: N/A
> Amp-Out vals: [0xff 0xff]

Looks like that the volume are full but muted (0x80 is set).
Ditto for surround and CLFE volumes. Could you double-check?

Also, please attach the generated file via
alsactl -f somefile store
This will contain the mixer status, so we can check more details.


thanks,

Takashi

2007-10-18 08:49:57

by Jan-Simon Möller

[permalink] [raw]
Subject: Re: hda-intel: no soundcard with current linus' git tree

I've also no sound. Had it working using the alsa.git tree _before_ the last
merge (>48h). Needed to use model=asus for this fujitsu v5505 here.

Now it doesn't work, even with other model-options (fujitsu, laptop).


legolas:/proc/asound # cat cards
0 [Intel ]: HDA-Intel - HDA Intel
HDA Intel at 0xfc400000 irq 22
legolas:/proc/asound # cat pcm
00-01: Conexant Digital : Conexant Digital : playback 1
00-00: CONEXANT Analog : CONEXANT Analog : playback 1 : capture 1
legolas:/proc/asound # cat hwdep
00-00: HDA Codec 0
legolas:/proc/asound # cat devices
2: : timer
3: [ 0- 1]: digital audio playback
4: [ 0- 0]: digital audio playback
5: [ 0- 0]: digital audio capture
6: [ 0- 0]: hardware dependent
7: [ 0] : control
8: : sequencer

legolas:/proc/asound # cat card0/codec#0
Codec: Conexant CX20549 (Venice)
Address: 0
Vendor Id: 0x14f15045
Subsystem Id: 0x1734110e
Revision Id: 0x100100
No Modem Function Group found
Default PCM:
rates [0x140]: 48000 96000
bits [0xe]: 16 20 24
formats [0x1]: PCM
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
Node 0x10 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
Amp-Out caps: ofs=0x2b, nsteps=0x2b, stepsize=0x05, mute=1
Amp-Out vals: [0x2b 0x2b]
Pincap 0x0810014: OUT EAPD Detect
Pin Default 0x92170110: [Fixed] Speaker at Int Front
Conn = Analog, Color = Unknown
Pin-ctls: 0x40: OUT
Power: 0x0
Connection: 2
0x19 0x17*
Node 0x11 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
Amp-Out caps: ofs=0x2b, nsteps=0x2b, stepsize=0x05, mute=1
Amp-Out vals: [0x2b 0x2b]
Pincap 0x08113c: IN OUT HP Detect
Pin Default 0x0121401f: [Jack] HP Out at Ext Rear
Conn = 1/8, Color = Green
Pin-ctls: 0xc0: OUT HP
Power: 0x0
Connection: 2
0x19 0x17*
Node 0x12 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
Amp-Out caps: ofs=0x2b, nsteps=0x2b, stepsize=0x05, mute=1
Amp-Out vals: [0x2b 0x2b]
Pincap 0x08113c: IN OUT HP Detect
Pin Default 0x01a19020: [Jack] Mic at Ext Rear
Conn = 1/8, Color = Pink
Pin-ctls: 0x20: IN
Power: 0x0
Connection: 2
0x19 0x17*
Node 0x13 [Pin Complex] wcaps 0x400301: Stereo Digital
Pincap 0x0810: OUT
Pin Default 0x214571f0: [Jack] SPDIF Out at Sep Rear
Conn = Optical, Color = Yellow
Pin-ctls: 0x00:
Connection: 1
0x18
Node 0x14 [Pin Complex] wcaps 0x400081: Stereo
Pincap 0x081124: IN Detect
Pin Default 0x97a7012e: [Fixed] Mic at Int Riser
Conn = Analog, Color = Unknown
Pin-ctls: 0x24: IN
Node 0x15 [Pin Complex] wcaps 0x400001: Stereo
Pincap 0x0820: IN
Pin Default 0x400001f0: [N/A] Line Out at Ext N/A
Conn = Unknown, Color = Unknown
Pin-ctls: 0x00:
Node 0x16 [Beep Generator Widget] wcaps 0x70000c: Mono Amp-Out
Amp-Out caps: ofs=0x07, nsteps=0x07, stepsize=0x0b, mute=1
Amp-Out vals: [0x06]
Node 0x17 [Audio Mixer] wcaps 0x20050b: Stereo Amp-In
Amp-In caps: ofs=0x14, nsteps=0x2b, stepsize=0x05, mute=1
Amp-In vals: [0x94 0x94] [0x94 0x94] [0x94 0x94] [0x94 0x94] [0x94 0x94]
Power: 0x0
Connection: 5
0x19 0x14 0x12 0x11 0x15
Node 0x18 [Audio Output] wcaps 0x211: Stereo Digital
PCM:
rates [0x40]: 48000
bits [0x6]: 16 20
formats [0x5]: PCM AC3
Node 0x19 [Audio Output] wcaps 0xc11: Stereo
PCM:
rates [0x540]: 48000 96000 192000
bits [0xe]: 16 20 24
formats [0x1]: PCM
Power: 0x0
Node 0x1a [Audio Input] wcaps 0x100d0b: Stereo Amp-In
Amp-In caps: ofs=0x00, nsteps=0x17, stepsize=0x05, mute=1
Amp-In vals: [0x17 0x17] [0x00 0x00] [0x00 0x00] [0x00 0x00] [0x00 0x00]
Power: 0x0
Connection: 5
0x17 0x14* 0x12 0x11 0x15
Node 0x1b [Vendor Defined Widget] wcaps 0xf00000: Mono

Best regards
Jan-Simon

2007-10-18 08:58:56

by Takashi Iwai

[permalink] [raw]
Subject: Re: [alsa-devel] hda-intel: no soundcard with current linus' git tree

At Thu, 18 Oct 2007 10:49:48 +0200,
Jan-Simon M?ller wrote:
>
> I've also no sound. Had it working using the alsa.git tree _before_ the last
> merge (>48h). Needed to use model=asus for this fujitsu v5505 here.

Well, it's not called as "working". You did some workaround
explicitly...

> Now it doesn't work, even with other model-options (fujitsu, laptop).

There is no recent change regarding Conexant codecs over months in
ALSA tree. So, the problem has to be there for long time.

I guess you didn't take ALSA codes from alsa.git properly? alsa.git
master is as same as Linus tree. The latest ALSA code is hold in mm
branch.


thanks,

Takashi

> legolas:/proc/asound # cat cards
> 0 [Intel ]: HDA-Intel - HDA Intel
> HDA Intel at 0xfc400000 irq 22
> legolas:/proc/asound # cat pcm
> 00-01: Conexant Digital : Conexant Digital : playback 1
> 00-00: CONEXANT Analog : CONEXANT Analog : playback 1 : capture 1
> legolas:/proc/asound # cat hwdep
> 00-00: HDA Codec 0
> legolas:/proc/asound # cat devices
> 2: : timer
> 3: [ 0- 1]: digital audio playback
> 4: [ 0- 0]: digital audio playback
> 5: [ 0- 0]: digital audio capture
> 6: [ 0- 0]: hardware dependent
> 7: [ 0] : control
> 8: : sequencer
>
> legolas:/proc/asound # cat card0/codec#0
> Codec: Conexant CX20549 (Venice)
> Address: 0
> Vendor Id: 0x14f15045
> Subsystem Id: 0x1734110e
> Revision Id: 0x100100
> No Modem Function Group found
> Default PCM:
> rates [0x140]: 48000 96000
> bits [0xe]: 16 20 24
> formats [0x1]: PCM
> Default Amp-In caps: N/A
> Default Amp-Out caps: N/A
> Node 0x10 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
> Amp-Out caps: ofs=0x2b, nsteps=0x2b, stepsize=0x05, mute=1
> Amp-Out vals: [0x2b 0x2b]
> Pincap 0x0810014: OUT EAPD Detect
> Pin Default 0x92170110: [Fixed] Speaker at Int Front
> Conn = Analog, Color = Unknown
> Pin-ctls: 0x40: OUT
> Power: 0x0
> Connection: 2
> 0x19 0x17*
> Node 0x11 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
> Amp-Out caps: ofs=0x2b, nsteps=0x2b, stepsize=0x05, mute=1
> Amp-Out vals: [0x2b 0x2b]
> Pincap 0x08113c: IN OUT HP Detect
> Pin Default 0x0121401f: [Jack] HP Out at Ext Rear
> Conn = 1/8, Color = Green
> Pin-ctls: 0xc0: OUT HP
> Power: 0x0
> Connection: 2
> 0x19 0x17*
> Node 0x12 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
> Amp-Out caps: ofs=0x2b, nsteps=0x2b, stepsize=0x05, mute=1
> Amp-Out vals: [0x2b 0x2b]
> Pincap 0x08113c: IN OUT HP Detect
> Pin Default 0x01a19020: [Jack] Mic at Ext Rear
> Conn = 1/8, Color = Pink
> Pin-ctls: 0x20: IN
> Power: 0x0
> Connection: 2
> 0x19 0x17*
> Node 0x13 [Pin Complex] wcaps 0x400301: Stereo Digital
> Pincap 0x0810: OUT
> Pin Default 0x214571f0: [Jack] SPDIF Out at Sep Rear
> Conn = Optical, Color = Yellow
> Pin-ctls: 0x00:
> Connection: 1
> 0x18
> Node 0x14 [Pin Complex] wcaps 0x400081: Stereo
> Pincap 0x081124: IN Detect
> Pin Default 0x97a7012e: [Fixed] Mic at Int Riser
> Conn = Analog, Color = Unknown
> Pin-ctls: 0x24: IN
> Node 0x15 [Pin Complex] wcaps 0x400001: Stereo
> Pincap 0x0820: IN
> Pin Default 0x400001f0: [N/A] Line Out at Ext N/A
> Conn = Unknown, Color = Unknown
> Pin-ctls: 0x00:
> Node 0x16 [Beep Generator Widget] wcaps 0x70000c: Mono Amp-Out
> Amp-Out caps: ofs=0x07, nsteps=0x07, stepsize=0x0b, mute=1
> Amp-Out vals: [0x06]
> Node 0x17 [Audio Mixer] wcaps 0x20050b: Stereo Amp-In
> Amp-In caps: ofs=0x14, nsteps=0x2b, stepsize=0x05, mute=1
> Amp-In vals: [0x94 0x94] [0x94 0x94] [0x94 0x94] [0x94 0x94] [0x94 0x94]
> Power: 0x0
> Connection: 5
> 0x19 0x14 0x12 0x11 0x15
> Node 0x18 [Audio Output] wcaps 0x211: Stereo Digital
> PCM:
> rates [0x40]: 48000
> bits [0x6]: 16 20
> formats [0x5]: PCM AC3
> Node 0x19 [Audio Output] wcaps 0xc11: Stereo
> PCM:
> rates [0x540]: 48000 96000 192000
> bits [0xe]: 16 20 24
> formats [0x1]: PCM
> Power: 0x0
> Node 0x1a [Audio Input] wcaps 0x100d0b: Stereo Amp-In
> Amp-In caps: ofs=0x00, nsteps=0x17, stepsize=0x05, mute=1
> Amp-In vals: [0x17 0x17] [0x00 0x00] [0x00 0x00] [0x00 0x00] [0x00 0x00]
> Power: 0x0
> Connection: 5
> 0x17 0x14* 0x12 0x11 0x15
> Node 0x1b [Vendor Defined Widget] wcaps 0xf00000: Mono
>
> Best regards
> Jan-Simon
> _______________________________________________
> Alsa-devel mailing list
> [email protected]
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
>

2007-10-18 11:50:54

by Jan-Simon Möller

[permalink] [raw]
Subject: Re: [alsa-devel] hda-intel: no soundcard with current linus' git tree

> Well, it's not called as "working". You did some workaround
> explicitly...
True ;) .

> > Now it doesn't work, even with other model-options (fujitsu, laptop).
>
> There is no recent change regarding Conexant codecs over months in
> ALSA tree. So, the problem has to be there for long time.
>
> I guess you didn't take ALSA codes from alsa.git properly? alsa.git
> master is as same as Linus tree. The latest ALSA code is hold in mm
> branch.

Aaah ;) switched to -mm and just compiling ...

Greets
Jan-Simon

2007-10-18 14:22:39

by Maxim Levitsky

[permalink] [raw]
Subject: Re: hda-intel: no soundcard with current linus' git tree

On Thursday 18 October 2007 07:57:27 Takashi Iwai wrote:
> At Thu, 18 Oct 2007 03:53:08 +0200,
> Maxim Levitsky wrote:
> >
> > From 0824b077b75c19253b45c5a455775c331acd54ee Mon Sep 17 00:00:00 2001
> > From: Maxim Levitsky <[email protected]>
> > Date: Thu, 18 Oct 2007 03:35:37 +0200
> > Subject: [PATCH] [HDA] [STAC] Since there is now a master volume control,
> > don't call the headphone output "Master", it isn't strictly correct anyway
>
> I thought stac925x has no volume knob, so "Master" should be still
> applied for this codec?

Yes, you are right, but stac925x has only one DAC, and thus if it is connected to any line-out, it will be
'Front', but if it is connected to 'headphones' only, then why not to call it 'Headphone'

STAC 9200 has no volumeknob too, but it is handled seperartly
STAC 9202 and 9250 has no volumeknob too, but as I said they have just one DAC again


Best regards,
Maxim Levitsky
>
>
> Takashi
>
> >
> > Signed-off-by: Maxim Levitsky <[email protected]>
> > ---
> > pci/hda/patch_sigmatel.c | 7 +------
> > 1 files changed, 1 insertions(+), 6 deletions(-)
> >
> > diff --git a/pci/hda/patch_sigmatel.c b/pci/hda/patch_sigmatel.c
> > index 6dffa54..7f157a6 100644
> > --- a/pci/hda/patch_sigmatel.c
> > +++ b/pci/hda/patch_sigmatel.c
> > @@ -1907,12 +1907,7 @@ static int stac92xx_auto_create_hp_ctls(struct hda_codec *codec,
> > return err;
> > }
> > if (spec->multiout.hp_nid) {
> > - const char *pfx;
> > - if (old_num_dacs == spec->multiout.num_dacs)
> > - pfx = "Master";
> > - else
> > - pfx = "Headphone";
> > - err = create_controls(spec, pfx, spec->multiout.hp_nid, 3);
> > + err = create_controls(spec, "Headphone", spec->multiout.hp_nid, 3);
> > if (err < 0)
> > return err;
> > }
> > --
> > 1.5.3.4
> >
>


2007-10-18 14:38:30

by Takashi Iwai

[permalink] [raw]
Subject: Re: hda-intel: no soundcard with current linus' git tree

At Thu, 18 Oct 2007 16:21:59 +0200,
Maxim Levitsky wrote:
>
> On Thursday 18 October 2007 07:57:27 Takashi Iwai wrote:
> > At Thu, 18 Oct 2007 03:53:08 +0200,
> > Maxim Levitsky wrote:
> > >
> > > From 0824b077b75c19253b45c5a455775c331acd54ee Mon Sep 17 00:00:00 2001
> > > From: Maxim Levitsky <[email protected]>
> > > Date: Thu, 18 Oct 2007 03:35:37 +0200
> > > Subject: [PATCH] [HDA] [STAC] Since there is now a master volume control,
> > > don't call the headphone output "Master", it isn't strictly correct anyway
> >
> > I thought stac925x has no volume knob, so "Master" should be still
> > applied for this codec?
>
> Yes, you are right, but stac925x has only one DAC, and thus if it is
> connected to any line-out, it will be
> 'Front', but if it is connected to 'headphones' only, then why not
> to call it 'Headphone'

The point is that apps usually require a "Master" volume. If it's the
single volume control, it's better to call it master for convenience.


> STAC 9200 has no volumeknob too, but it is handled seperartly

Yes, 9200 doesn't call stac92xx_auto_create_hp_ctls(), so it's not
affected.

> STAC 9202 and 9250 has no volumeknob too, but as I said they have
> just one DAC again

Both are handled as patch_stac925x. That's what I meant. With your
patch, there will be no master any more.

So, how about the patch below?


Takashi

diff -r fb9512ce24e0 pci/hda/patch_sigmatel.c
--- a/pci/hda/patch_sigmatel.c Thu Oct 18 10:48:43 2007 +0200
+++ b/pci/hda/patch_sigmatel.c Thu Oct 18 16:36:35 2007 +0200
@@ -111,6 +111,7 @@ struct sigmatel_spec {
unsigned int alt_switch: 1;
unsigned int hp_detect: 1;
unsigned int gpio_mute: 1;
+ unsigned int no_vol_knob :1;

unsigned int gpio_mask, gpio_data;

@@ -1930,7 +1931,8 @@ static int stac92xx_auto_create_hp_ctls(
}
if (spec->multiout.hp_nid) {
const char *pfx;
- if (old_num_dacs == spec->multiout.num_dacs)
+ if (old_num_dacs == spec->multiout.num_dacs &&
+ spec->no_vol_knob)
pfx = "Master";
else
pfx = "Headphone";
@@ -2487,6 +2489,7 @@ static int patch_stac9200(struct hda_cod
codec->spec = spec;
spec->num_pins = ARRAY_SIZE(stac9200_pin_nids);
spec->pin_nids = stac9200_pin_nids;
+ spec->no_vol_knob = 1;
spec->board_config = snd_hda_check_board_config(codec, STAC_9200_MODELS,
stac9200_models,
stac9200_cfg_tbl);
@@ -2541,6 +2544,7 @@ static int patch_stac925x(struct hda_cod
codec->spec = spec;
spec->num_pins = ARRAY_SIZE(stac925x_pin_nids);
spec->pin_nids = stac925x_pin_nids;
+ spec->no_vol_knob = 1;
spec->board_config = snd_hda_check_board_config(codec, STAC_925x_MODELS,
stac925x_models,

2007-10-18 15:05:36

by Jan-Simon Möller

[permalink] [raw]
Subject: Re: [alsa-devel] hda-intel: no soundcard with current linus' git tree

Hi !

I compiled some different kernel and tried - no success without module,
module=fujitsu, module=laptop, model=asus. I went through the alsa doc and
found the section about Conexant 5047. I tried it and got some sound when
using module=laptop-hp.

So I suppose some pins are different here.

So let's summarize: I get sound on a 2.6.23 with module=laptop-hp. Laptop is a
fujitsu-siemens v5505 as mentioned.

Best regards
Jan-Simon


2007-10-18 15:25:27

by Maxim Levitsky

[permalink] [raw]
Subject: Re: hda-intel: no soundcard with current linus' git tree

On Thursday 18 October 2007 15:49:22 Takashi Iwai wrote:
> At Thu, 18 Oct 2007 16:21:59 +0200,
> Maxim Levitsky wrote:
> >
> > On Thursday 18 October 2007 07:57:27 Takashi Iwai wrote:
> > > At Thu, 18 Oct 2007 03:53:08 +0200,
> > > Maxim Levitsky wrote:
> > > >
> > > > From 0824b077b75c19253b45c5a455775c331acd54ee Mon Sep 17 00:00:00 2001
> > > > From: Maxim Levitsky <[email protected]>
> > > > Date: Thu, 18 Oct 2007 03:35:37 +0200
> > > > Subject: [PATCH] [HDA] [STAC] Since there is now a master volume control,
> > > > don't call the headphone output "Master", it isn't strictly correct anyway
> > >
> > > I thought stac925x has no volume knob, so "Master" should be still
> > > applied for this codec?
> >
> > Yes, you are right, but stac925x has only one DAC, and thus if it is
> > connected to any line-out, it will be
> > 'Front', but if it is connected to 'headphones' only, then why not
> > to call it 'Headphone'
>
> The point is that apps usually require a "Master" volume. If it's the
> single volume control, it's better to call it master for convenience.
And most STACs didn't have one till I added this volumeknob...


>
>
> > STAC 9200 has no volumeknob too, but it is handled seperartly
>
> Yes, 9200 doesn't call stac92xx_auto_create_hp_ctls(), so it's not
> affected.
>
> > STAC 9202 and 9250 has no volumeknob too, but as I said they have
> > just one DAC again
>
> Both are handled as patch_stac925x. That's what I meant. With your
> patch, there will be no master any more.
>
> So, how about the patch below?
>
>
> Takashi
>
> diff -r fb9512ce24e0 pci/hda/patch_sigmatel.c
> --- a/pci/hda/patch_sigmatel.c Thu Oct 18 10:48:43 2007 +0200
> +++ b/pci/hda/patch_sigmatel.c Thu Oct 18 16:36:35 2007 +0200
> @@ -111,6 +111,7 @@ struct sigmatel_spec {
> unsigned int alt_switch: 1;
> unsigned int hp_detect: 1;
> unsigned int gpio_mute: 1;
> + unsigned int no_vol_knob :1;
>
> unsigned int gpio_mask, gpio_data;
>
> @@ -1930,7 +1931,8 @@ static int stac92xx_auto_create_hp_ctls(
> }
> if (spec->multiout.hp_nid) {
> const char *pfx;
> - if (old_num_dacs == spec->multiout.num_dacs)
> + if (old_num_dacs == spec->multiout.num_dacs &&
> + spec->no_vol_knob)
> pfx = "Master";
> else
> pfx = "Headphone";
> @@ -2487,6 +2489,7 @@ static int patch_stac9200(struct hda_cod
> codec->spec = spec;
> spec->num_pins = ARRAY_SIZE(stac9200_pin_nids);
> spec->pin_nids = stac9200_pin_nids;
> + spec->no_vol_knob = 1;
> spec->board_config = snd_hda_check_board_config(codec, STAC_9200_MODELS,
> stac9200_models,
> stac9200_cfg_tbl);
> @@ -2541,6 +2544,7 @@ static int patch_stac925x(struct hda_cod
> codec->spec = spec;
> spec->num_pins = ARRAY_SIZE(stac925x_pin_nids);
> spec->pin_nids = stac925x_pin_nids;
> + spec->no_vol_knob = 1;
> spec->board_config = snd_hda_check_board_config(codec, STAC_925x_MODELS,
> stac925x_models,


Perfect.
This will ensure the same behavior, as was without the volumeknob.

Best regards,
Maxim Levitsky

2007-10-18 15:29:26

by Takashi Iwai

[permalink] [raw]
Subject: Re: [alsa-devel] hda-intel: no soundcard with current linus' git tree

At Thu, 18 Oct 2007 17:05:17 +0200,
Jan-Simon M?ller wrote:
>
> Hi !
>
> I compiled some different kernel and tried - no success without module,
> module=fujitsu, module=laptop, model=asus. I went through the alsa doc and
> found the section about Conexant 5047. I tried it and got some sound when
> using module=laptop-hp.

No, it's Conexant 5045. Slightly but fatally different from 5047.

Could you check whether the patch below fixes the problem?
Don't forget to adjust mixers after the patch. You'll have PCM
and other volumes. Unmute and raise them appropriately.

You may still have a weak mic input, though, but it's another
problem...


thanks,

Takashi

diff -r fb9512ce24e0 pci/hda/patch_conexant.c
--- a/pci/hda/patch_conexant.c Thu Oct 18 10:48:43 2007 +0200
+++ b/pci/hda/patch_conexant.c Thu Oct 18 17:26:58 2007 +0200
@@ -554,10 +554,16 @@ static struct snd_kcontrol_new cxt5045_m
.get = conexant_mux_enum_get,
.put = conexant_mux_enum_put
},
- HDA_CODEC_VOLUME("Int Mic Volume", 0x1a, 0x01, HDA_INPUT),
- HDA_CODEC_MUTE("Int Mic Switch", 0x1a, 0x01, HDA_INPUT),
- HDA_CODEC_VOLUME("Ext Mic Volume", 0x1a, 0x02, HDA_INPUT),
- HDA_CODEC_MUTE("Ext Mic Switch", 0x1a, 0x02, HDA_INPUT),
+ HDA_CODEC_VOLUME("Int Mic Capture Volume", 0x1a, 0x01, HDA_INPUT),
+ HDA_CODEC_MUTE("Int Mic Capture Switch", 0x1a, 0x01, HDA_INPUT),
+ HDA_CODEC_VOLUME("Ext Mic Capture Volume", 0x1a, 0x02, HDA_INPUT),
+ HDA_CODEC_MUTE("Ext Mic Capture Switch", 0x1a, 0x02, HDA_INPUT),
+ HDA_CODEC_VOLUME("PCM Playback Volume", 0x17, 0x0, HDA_INPUT),
+ HDA_CODEC_MUTE("PCM Playback Switch", 0x17, 0x0, HDA_INPUT),
+ HDA_CODEC_VOLUME("Int Mic Playback Volume", 0x17, 0x1, HDA_INPUT),
+ HDA_CODEC_MUTE("Int Mic Playback Switch", 0x17, 0x1, HDA_INPUT),
+ HDA_CODEC_VOLUME("Ext Mic Playback Volume", 0x17, 0x2, HDA_INPUT),
+ HDA_CODEC_MUTE("Ext Mic Playback Switch", 0x17, 0x2, HDA_INPUT),
HDA_BIND_VOL("Master Playback Volume", &cxt5045_hp_bind_master_vol),
{
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
@@ -576,16 +582,15 @@ static struct hda_verb cxt5045_init_verb
{0x12, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN },
{0x14, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN|AC_PINCTL_VREF_80 },
/* HP, Amp */
- {0x11, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP },
- {0x17, AC_VERB_SET_CONNECT_SEL,0x01},
- {0x17, AC_VERB_SET_AMP_GAIN_MUTE,
- AC_AMP_SET_OUTPUT|AC_AMP_SET_RIGHT|AC_AMP_SET_LEFT|0x01},
- {0x17, AC_VERB_SET_AMP_GAIN_MUTE,
- AC_AMP_SET_OUTPUT|AC_AMP_SET_RIGHT|AC_AMP_SET_LEFT|0x02},
- {0x17, AC_VERB_SET_AMP_GAIN_MUTE,
- AC_AMP_SET_OUTPUT|AC_AMP_SET_RIGHT|AC_AMP_SET_LEFT|0x03},
- {0x17, AC_VERB_SET_AMP_GAIN_MUTE,
- AC_AMP_SET_OUTPUT|AC_AMP_SET_RIGHT|AC_AMP_SET_LEFT|0x04},
+ {0x10, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT},
+ {0x10, AC_VERB_SET_CONNECT_SEL, 0x1},
+ {0x11, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP},
+ {0x11, AC_VERB_SET_CONNECT_SEL, 0x1},
+ {0x17, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(0)},
+ {0x17, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(1)},
+ {0x17, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(2)},
+ {0x17, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(3)},
+ {0x17, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(4)},
/* Record selector: Int mic */
{0x1a, AC_VERB_SET_CONNECT_SEL,0x1},
{0x1a, AC_VERB_SET_AMP_GAIN_MUTE,

2007-10-18 15:36:16

by Takashi Iwai

[permalink] [raw]
Subject: Re: hda-intel: no soundcard with current linus' git tree

At Thu, 18 Oct 2007 17:24:46 +0200,
Maxim Levitsky wrote:
>
> On Thursday 18 October 2007 15:49:22 Takashi Iwai wrote:
> > At Thu, 18 Oct 2007 16:21:59 +0200,
> > Maxim Levitsky wrote:
> > >
> > > On Thursday 18 October 2007 07:57:27 Takashi Iwai wrote:
> > > > At Thu, 18 Oct 2007 03:53:08 +0200,
> > > > Maxim Levitsky wrote:
> > > > >
> > > > > From 0824b077b75c19253b45c5a455775c331acd54ee Mon Sep 17 00:00:00 2001
> > > > > From: Maxim Levitsky <[email protected]>
> > > > > Date: Thu, 18 Oct 2007 03:35:37 +0200
> > > > > Subject: [PATCH] [HDA] [STAC] Since there is now a master volume control,
> > > > > don't call the headphone output "Master", it isn't strictly correct anyway
> > > >
> > > > I thought stac925x has no volume knob, so "Master" should be still
> > > > applied for this codec?
> > >
> > > Yes, you are right, but stac925x has only one DAC, and thus if it is
> > > connected to any line-out, it will be
> > > 'Front', but if it is connected to 'headphones' only, then why not
> > > to call it 'Headphone'
> >
> > The point is that apps usually require a "Master" volume. If it's the
> > single volume control, it's better to call it master for convenience.
> And most STACs didn't have one till I added this volumeknob...

Yep, but there were some with master already :)

> > > STAC 9200 has no volumeknob too, but it is handled seperartly
> >
> > Yes, 9200 doesn't call stac92xx_auto_create_hp_ctls(), so it's not
> > affected.
> >
> > > STAC 9202 and 9250 has no volumeknob too, but as I said they have
> > > just one DAC again
> >
> > Both are handled as patch_stac925x. That's what I meant. With your
> > patch, there will be no master any more.
> >
> > So, how about the patch below?
> >
> >
> > Takashi
> >
> > diff -r fb9512ce24e0 pci/hda/patch_sigmatel.c
> > --- a/pci/hda/patch_sigmatel.c Thu Oct 18 10:48:43 2007 +0200
> > +++ b/pci/hda/patch_sigmatel.c Thu Oct 18 16:36:35 2007 +0200
> > @@ -111,6 +111,7 @@ struct sigmatel_spec {
> > unsigned int alt_switch: 1;
> > unsigned int hp_detect: 1;
> > unsigned int gpio_mute: 1;
> > + unsigned int no_vol_knob :1;
> >
> > unsigned int gpio_mask, gpio_data;
> >
> > @@ -1930,7 +1931,8 @@ static int stac92xx_auto_create_hp_ctls(
> > }
> > if (spec->multiout.hp_nid) {
> > const char *pfx;
> > - if (old_num_dacs == spec->multiout.num_dacs)
> > + if (old_num_dacs == spec->multiout.num_dacs &&
> > + spec->no_vol_knob)
> > pfx = "Master";
> > else
> > pfx = "Headphone";
> > @@ -2487,6 +2489,7 @@ static int patch_stac9200(struct hda_cod
> > codec->spec = spec;
> > spec->num_pins = ARRAY_SIZE(stac9200_pin_nids);
> > spec->pin_nids = stac9200_pin_nids;
> > + spec->no_vol_knob = 1;
> > spec->board_config = snd_hda_check_board_config(codec, STAC_9200_MODELS,
> > stac9200_models,
> > stac9200_cfg_tbl);
> > @@ -2541,6 +2544,7 @@ static int patch_stac925x(struct hda_cod
> > codec->spec = spec;
> > spec->num_pins = ARRAY_SIZE(stac925x_pin_nids);
> > spec->pin_nids = stac925x_pin_nids;
> > + spec->no_vol_knob = 1;
> > spec->board_config = snd_hda_check_board_config(codec, STAC_925x_MODELS,
> > stac925x_models,
>
>
> Perfect.
> This will ensure the same behavior, as was without the volumeknob.

OK, now I committed to ALSA tree.


Takashi

2007-10-18 16:19:38

by Jan-Simon Möller

[permalink] [raw]
Subject: Re: [alsa-devel] hda-intel: no soundcard with current linus' git tree


Tried you patch. Now the card works even without any model selected. Also the
speakers sound "better" now :D . Bass is nearly too loud.

Tnx for looking into this!
Just on question: is it possible to mute the main speakers when headphones get
plugged in ? Atm the internal speakers stay on.

Best regards
Jan-Simon

2007-10-19 05:59:14

by Takashi Iwai

[permalink] [raw]
Subject: Re: [alsa-devel] hda-intel: no soundcard with current linus' git tree

At Thu, 18 Oct 2007 18:19:25 +0200,
Jan-Simon M?ller wrote:
>
>
> Tried you patch. Now the card works even without any model selected. Also the
> speakers sound "better" now :D . Bass is nearly too loud.

Good to hear!

> Tnx for looking into this!
> Just on question: is it possible to mute the main speakers when headphones get
> plugged in ? Atm the internal speakers stay on.

Try model=fujitsu or model=laptop. This will activate the
auto-muting.

If it works, let me know the PCI SSID (from the output of lspci -vv).


thanks,

Takashi

2007-10-19 10:46:36

by Jan-Simon Möller

[permalink] [raw]
Subject: Re: [alsa-devel] hda-intel: no soundcard with current linus' git tree

Am Freitag 19 Oktober 2007 07:05:54 schrieb Takashi Iwai:
>
> Try model=fujitsu or model=laptop. This will activate the
> auto-muting.

model=laptop worked, model=fujitsu did not.

> If it works, let me know the PCI SSID (from the output of lspci -vv).

I did already, here's the copy:

00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio
Controller (rev 03)
Subsystem: Fujitsu Siemens Computer GmbH Unknown device 110e
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR+ FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 22
Region 0: Memory at fc400000 (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 Unknown type IRQ 0
Device: Supported: MaxPayload 128 bytes, PhantFunc 0, ExtTag-
Device: Latency L0s <64ns, L1 <1us
Device: Errors: Correctable- Non-Fatal- Fatal- Unsupported-
Device: RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop+
Device: MaxPayload 128 bytes, MaxReadReq 128 bytes
Link: Supported Speed unknown, Width x0, ASPM unknown, Port 0
Link: Latency L0s <64ns, L1 <1us
Link: ASPM Disabled CommClk- ExtSynch-
Link: Speed unknown, Width x0
Capabilities: [100] Virtual Channel
Capabilities: [130] Unknown (5)



Model name is FSC Esprimo Mobile Edition9 V5505 T7300, details here:
http://www.notebookzentrale.de/eshop.php?action=article_detail&s_supplier_aid=1366417&position=9&anzahl_treffer=9


Thanks again, great work! I patched my 10.3 default kernel and it works
also :D . Linux is great - have phun !

Best regards
Jan-Simon M?ller

2007-10-19 10:57:13

by Takashi Iwai

[permalink] [raw]
Subject: Re: [alsa-devel] hda-intel: no soundcard with current linus' git tree

At Fri, 19 Oct 2007 12:46:34 +0200,
Jan-Simon M?ller wrote:
>
> Am Freitag 19 Oktober 2007 07:05:54 schrieb Takashi Iwai:
> >
> > Try model=fujitsu or model=laptop. This will activate the
> > auto-muting.
>
> model=laptop worked, model=fujitsu did not.
>
> > If it works, let me know the PCI SSID (from the output of lspci -vv).
>
> I did already, here's the copy:

Thanks. With the patch below, the driver should work without option.
Give it a try.


Takashi

diff -r 7cf5e23f804e sound/pci/hda/patch_conexant.c
--- a/sound/pci/hda/patch_conexant.c Fri Oct 19 08:23:00 2007 +0200
+++ b/sound/pci/hda/patch_conexant.c Fri Oct 19 12:56:13 2007 +0200
@@ -765,6 +765,7 @@ static struct snd_pci_quirk cxt5045_cfg_
SND_PCI_QUIRK(0x103c, 0x30d9, "HP Spartan", CXT5045_LAPTOP),
SND_PCI_QUIRK(0x1734, 0x10ad, "Fujitsu Si1520", CXT5045_FUJITSU),
SND_PCI_QUIRK(0x1734, 0x10cb, "Fujitsu Si3515", CXT5045_LAPTOP),
+ SND_PCI_QUIRK(0x1734, 0x110e, "Fujitsu V5505", CXT5045_LAPTOP),
SND_PCI_QUIRK(0x8086, 0x2111, "Conexant Reference board", CXT5045_LAPTOP),
{}
};

2007-10-21 15:42:59

by Thomas Meyer

[permalink] [raw]
Subject: Re: hda-intel: no soundcard with current linus' git tree

Takashi Iwai schrieb:
>
> Both are handled as patch_stac925x. That's what I meant. With your
> patch, there will be no master any more.
>
> So, how about the patch below?
>
>
> Takashi
>
> diff -r fb9512ce24e0 pci/hda/patch_sigmatel.c
> --- a/pci/hda/patch_sigmatel.c Thu Oct 18 10:48:43 2007 +0200
> +++ b/pci/hda/patch_sigmatel.c Thu Oct 18 16:36:35 2007 +0200
> @@ -111,6 +111,7 @@ struct sigmatel_spec {
> unsigned int alt_switch: 1;
> unsigned int hp_detect: 1;
> unsigned int gpio_mute: 1;
> + unsigned int no_vol_knob :1;
>
> unsigned int gpio_mask, gpio_data;
>
> @@ -1930,7 +1931,8 @@ static int stac92xx_auto_create_hp_ctls(
> }
> if (spec->multiout.hp_nid) {
> const char *pfx;
> - if (old_num_dacs == spec->multiout.num_dacs)
> + if (old_num_dacs == spec->multiout.num_dacs &&
> + spec->no_vol_knob)
> pfx = "Master";
> else
> pfx = "Headphone";
> @@ -2487,6 +2489,7 @@ static int patch_stac9200(struct hda_cod
> codec->spec = spec;
> spec->num_pins = ARRAY_SIZE(stac9200_pin_nids);
> spec->pin_nids = stac9200_pin_nids;
> + spec->no_vol_knob = 1;
> spec->board_config = snd_hda_check_board_config(codec, STAC_9200_MODELS,
> stac9200_models,
> stac9200_cfg_tbl);
> @@ -2541,6 +2544,7 @@ static int patch_stac925x(struct hda_cod
> codec->spec = spec;
> spec->num_pins = ARRAY_SIZE(stac925x_pin_nids);
> spec->pin_nids = stac925x_pin_nids;
> + spec->no_vol_knob = 1;
> spec->board_config = snd_hda_check_board_config(codec, STAC_925x_MODELS,
> stac925x_models,
>
>
Thanks. Soundcard is back and my "multimedia" keys for configuring the
master volume are working again with alsa 1.0.15 and above patch.

mfg
thomas