* [PATCH] hda: Add logic to force HP mixer creation @ 2009-02-15 16:01 Matthew Ranostay 2009-02-16 9:08 ` Takashi Iwai 0 siblings, 1 reply; 11+ messages in thread From: Matthew Ranostay @ 2009-02-15 16:01 UTC (permalink / raw) To: alsa-devel; +Cc: Takashi Iwai, Mario Limonciello In some instances like a laptop PCI_QUIRK you may want to force a headphone mixer otherwise a "Front" mixer would be in its place, this is to aid user friendlyness. Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com> --- sound/pci/hda/patch_sigmatel.c | 25 ++++++++++++++++++------- 1 files changed, 18 insertions(+), 7 deletions(-) diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index aeb5d21..e02a187 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c @@ -168,6 +168,7 @@ struct sigmatel_spec { unsigned int surr_switch: 1; unsigned int alt_switch: 1; unsigned int hp_detect: 1; + unsigned int hp_mixer: 1; unsigned int spdif_mute: 1; unsigned int check_volume_offset:1; @@ -857,9 +858,9 @@ static struct hda_verb stac92hd73xx_10ch_core_init[] = { }; static struct hda_verb stac92hd83xxx_core_init[] = { - { 0xa, AC_VERB_SET_CONNECT_SEL, 0x1}, - { 0xb, AC_VERB_SET_CONNECT_SEL, 0x1}, - { 0xd, AC_VERB_SET_CONNECT_SEL, 0x0}, + { 0xa, AC_VERB_SET_CONNECT_SEL, 0x0}, + { 0xb, AC_VERB_SET_CONNECT_SEL, 0x0}, + { 0xd, AC_VERB_SET_CONNECT_SEL, 0x1}, /* power state controls amps */ { 0x01, AC_VERB_SET_EAPD, 1 << 2}, @@ -3115,12 +3116,12 @@ static int stac92xx_auto_create_multi_out_ctls(struct hda_codec *codec, "Front", "Surround", NULL /*CLFE*/, "Side" }; hda_nid_t nid = 0; - int i, err; + int i, idx = 0, err; unsigned int wid_caps; for (i = 0; i < cfg->line_outs && spec->multiout.dac_nids[i]; i++) { nid = spec->multiout.dac_nids[i]; - if (i == 2) { + if (idx == 2) { /* Center/LFE */ err = create_controls(codec, "Center", nid, 1); if (err < 0) @@ -3139,9 +3140,9 @@ static int stac92xx_auto_create_multi_out_ctls(struct hda_codec *codec, if (err < 0) return err; } - + idx++; } else { - const char *name = chname[i]; + const char *name = chname[idx]; /* if it's a single DAC, assign a better name */ if (!i && is_unique_dac(spec, nid)) { switch (cfg->line_out_type) { @@ -3153,6 +3154,10 @@ static int stac92xx_auto_create_multi_out_ctls(struct hda_codec *codec, break; } } + if (!i && spec->hp_mixer) + name = "Headphone"; + else + idx++; err = create_controls(codec, name, nid, 3); if (err < 0) return err; @@ -4894,6 +4899,12 @@ again: break; } + switch (spec->board_config) { + case STAC_DELL_S14: + spec->hp_mixer = 1; + break; + } + err = stac92xx_parse_auto_config(codec, 0x1d, 0); if (!err) { if (spec->board_config < 0) { -- 1.5.6.3 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH] hda: Add logic to force HP mixer creation 2009-02-15 16:01 [PATCH] hda: Add logic to force HP mixer creation Matthew Ranostay @ 2009-02-16 9:08 ` Takashi Iwai 2009-02-16 23:34 ` Matthew Ranostay 2009-02-17 18:02 ` Mario Limonciello 0 siblings, 2 replies; 11+ messages in thread From: Takashi Iwai @ 2009-02-16 9:08 UTC (permalink / raw) To: Matthew Ranostay; +Cc: alsa-devel, Mario Limonciello At Sun, 15 Feb 2009 11:01:01 -0500, Matthew Ranostay wrote: > > In some instances like a laptop PCI_QUIRK you may want to force a > headphone mixer otherwise a "Front" mixer would be in its place, this > is to aid user friendlyness. > > Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com> Well, the change looks a bit too ad hoc. Could you give alsa-info.sh output for this? thanks, Takashi > --- > sound/pci/hda/patch_sigmatel.c | 25 ++++++++++++++++++------- > 1 files changed, 18 insertions(+), 7 deletions(-) > > diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c > index aeb5d21..e02a187 100644 > --- a/sound/pci/hda/patch_sigmatel.c > +++ b/sound/pci/hda/patch_sigmatel.c > @@ -168,6 +168,7 @@ struct sigmatel_spec { > unsigned int surr_switch: 1; > unsigned int alt_switch: 1; > unsigned int hp_detect: 1; > + unsigned int hp_mixer: 1; > unsigned int spdif_mute: 1; > unsigned int check_volume_offset:1; > > @@ -857,9 +858,9 @@ static struct hda_verb stac92hd73xx_10ch_core_init[] = { > }; > > static struct hda_verb stac92hd83xxx_core_init[] = { > - { 0xa, AC_VERB_SET_CONNECT_SEL, 0x1}, > - { 0xb, AC_VERB_SET_CONNECT_SEL, 0x1}, > - { 0xd, AC_VERB_SET_CONNECT_SEL, 0x0}, > + { 0xa, AC_VERB_SET_CONNECT_SEL, 0x0}, > + { 0xb, AC_VERB_SET_CONNECT_SEL, 0x0}, > + { 0xd, AC_VERB_SET_CONNECT_SEL, 0x1}, > > /* power state controls amps */ > { 0x01, AC_VERB_SET_EAPD, 1 << 2}, > @@ -3115,12 +3116,12 @@ static int stac92xx_auto_create_multi_out_ctls(struct hda_codec *codec, > "Front", "Surround", NULL /*CLFE*/, "Side" > }; > hda_nid_t nid = 0; > - int i, err; > + int i, idx = 0, err; > unsigned int wid_caps; > > for (i = 0; i < cfg->line_outs && spec->multiout.dac_nids[i]; i++) { > nid = spec->multiout.dac_nids[i]; > - if (i == 2) { > + if (idx == 2) { > /* Center/LFE */ > err = create_controls(codec, "Center", nid, 1); > if (err < 0) > @@ -3139,9 +3140,9 @@ static int stac92xx_auto_create_multi_out_ctls(struct hda_codec *codec, > if (err < 0) > return err; > } > - > + idx++; > } else { > - const char *name = chname[i]; > + const char *name = chname[idx]; > /* if it's a single DAC, assign a better name */ > if (!i && is_unique_dac(spec, nid)) { > switch (cfg->line_out_type) { > @@ -3153,6 +3154,10 @@ static int stac92xx_auto_create_multi_out_ctls(struct hda_codec *codec, > break; > } > } > + if (!i && spec->hp_mixer) > + name = "Headphone"; > + else > + idx++; > err = create_controls(codec, name, nid, 3); > if (err < 0) > return err; > @@ -4894,6 +4899,12 @@ again: > break; > } > > + switch (spec->board_config) { > + case STAC_DELL_S14: > + spec->hp_mixer = 1; > + break; > + } > + > err = stac92xx_parse_auto_config(codec, 0x1d, 0); > if (!err) { > if (spec->board_config < 0) { > -- > 1.5.6.3 > ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] hda: Add logic to force HP mixer creation 2009-02-16 9:08 ` Takashi Iwai @ 2009-02-16 23:34 ` Matthew Ranostay 2009-02-17 17:16 ` Takashi Iwai 2009-02-17 18:02 ` Mario Limonciello 1 sibling, 1 reply; 11+ messages in thread From: Matthew Ranostay @ 2009-02-16 23:34 UTC (permalink / raw) To: Takashi Iwai; +Cc: alsa-devel Takashi Iwai wrote: > At Sun, 15 Feb 2009 11:01:01 -0500, > Matthew Ranostay wrote: >> In some instances like a laptop PCI_QUIRK you may want to force a >> headphone mixer otherwise a "Front" mixer would be in its place, this >> is to aid user friendlyness. >> >> Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com> > > Well, the change looks a bit too ad hoc. > Could you give alsa-info.sh output for this? > http://www.alsa-project.org/db/?f=1cd2363ec823c8c2db005acf996608da67ff7a3e > > thanks, > > Takashi > >> --- >> sound/pci/hda/patch_sigmatel.c | 25 ++++++++++++++++++------- >> 1 files changed, 18 insertions(+), 7 deletions(-) >> >> diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c >> index aeb5d21..e02a187 100644 >> --- a/sound/pci/hda/patch_sigmatel.c >> +++ b/sound/pci/hda/patch_sigmatel.c >> @@ -168,6 +168,7 @@ struct sigmatel_spec { >> unsigned int surr_switch: 1; >> unsigned int alt_switch: 1; >> unsigned int hp_detect: 1; >> + unsigned int hp_mixer: 1; >> unsigned int spdif_mute: 1; >> unsigned int check_volume_offset:1; >> >> @@ -857,9 +858,9 @@ static struct hda_verb stac92hd73xx_10ch_core_init[] = { >> }; >> >> static struct hda_verb stac92hd83xxx_core_init[] = { >> - { 0xa, AC_VERB_SET_CONNECT_SEL, 0x1}, >> - { 0xb, AC_VERB_SET_CONNECT_SEL, 0x1}, >> - { 0xd, AC_VERB_SET_CONNECT_SEL, 0x0}, >> + { 0xa, AC_VERB_SET_CONNECT_SEL, 0x0}, >> + { 0xb, AC_VERB_SET_CONNECT_SEL, 0x0}, >> + { 0xd, AC_VERB_SET_CONNECT_SEL, 0x1}, >> >> /* power state controls amps */ >> { 0x01, AC_VERB_SET_EAPD, 1 << 2}, >> @@ -3115,12 +3116,12 @@ static int stac92xx_auto_create_multi_out_ctls(struct hda_codec *codec, >> "Front", "Surround", NULL /*CLFE*/, "Side" >> }; >> hda_nid_t nid = 0; >> - int i, err; >> + int i, idx = 0, err; >> unsigned int wid_caps; >> >> for (i = 0; i < cfg->line_outs && spec->multiout.dac_nids[i]; i++) { >> nid = spec->multiout.dac_nids[i]; >> - if (i == 2) { >> + if (idx == 2) { >> /* Center/LFE */ >> err = create_controls(codec, "Center", nid, 1); >> if (err < 0) >> @@ -3139,9 +3140,9 @@ static int stac92xx_auto_create_multi_out_ctls(struct hda_codec *codec, >> if (err < 0) >> return err; >> } >> - >> + idx++; >> } else { >> - const char *name = chname[i]; >> + const char *name = chname[idx]; >> /* if it's a single DAC, assign a better name */ >> if (!i && is_unique_dac(spec, nid)) { >> switch (cfg->line_out_type) { >> @@ -3153,6 +3154,10 @@ static int stac92xx_auto_create_multi_out_ctls(struct hda_codec *codec, >> break; >> } >> } >> + if (!i && spec->hp_mixer) >> + name = "Headphone"; >> + else >> + idx++; >> err = create_controls(codec, name, nid, 3); >> if (err < 0) >> return err; >> @@ -4894,6 +4899,12 @@ again: >> break; >> } >> >> + switch (spec->board_config) { >> + case STAC_DELL_S14: >> + spec->hp_mixer = 1; >> + break; >> + } >> + >> err = stac92xx_parse_auto_config(codec, 0x1d, 0); >> if (!err) { >> if (spec->board_config < 0) { >> -- >> 1.5.6.3 >> > ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] hda: Add logic to force HP mixer creation 2009-02-16 23:34 ` Matthew Ranostay @ 2009-02-17 17:16 ` Takashi Iwai 0 siblings, 0 replies; 11+ messages in thread From: Takashi Iwai @ 2009-02-17 17:16 UTC (permalink / raw) To: Matthew Ranostay; +Cc: alsa-devel At Mon, 16 Feb 2009 18:34:35 -0500, Matthew Ranostay wrote: > > Takashi Iwai wrote: > > At Sun, 15 Feb 2009 11:01:01 -0500, > > Matthew Ranostay wrote: > >> In some instances like a laptop PCI_QUIRK you may want to force a > >> headphone mixer otherwise a "Front" mixer would be in its place, this > >> is to aid user friendlyness. > >> > >> Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com> > > > > Well, the change looks a bit too ad hoc. > > Could you give alsa-info.sh output for this? > > > > http://www.alsa-project.org/db/?f=1cd2363ec823c8c2db005acf996608da67ff7a3e Thanks. The problem here is "Headphone" volume control doesn't really mean only headphones. You have two headphones on the device, and if you play the multi-channels, this volume control doesn't affect both but only one. Takashi > > > > > thanks, > > > > Takashi > > > >> --- > >> sound/pci/hda/patch_sigmatel.c | 25 ++++++++++++++++++------- > >> 1 files changed, 18 insertions(+), 7 deletions(-) > >> > >> diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c > >> index aeb5d21..e02a187 100644 > >> --- a/sound/pci/hda/patch_sigmatel.c > >> +++ b/sound/pci/hda/patch_sigmatel.c > >> @@ -168,6 +168,7 @@ struct sigmatel_spec { > >> unsigned int surr_switch: 1; > >> unsigned int alt_switch: 1; > >> unsigned int hp_detect: 1; > >> + unsigned int hp_mixer: 1; > >> unsigned int spdif_mute: 1; > >> unsigned int check_volume_offset:1; > >> > >> @@ -857,9 +858,9 @@ static struct hda_verb stac92hd73xx_10ch_core_init[] = { > >> }; > >> > >> static struct hda_verb stac92hd83xxx_core_init[] = { > >> - { 0xa, AC_VERB_SET_CONNECT_SEL, 0x1}, > >> - { 0xb, AC_VERB_SET_CONNECT_SEL, 0x1}, > >> - { 0xd, AC_VERB_SET_CONNECT_SEL, 0x0}, > >> + { 0xa, AC_VERB_SET_CONNECT_SEL, 0x0}, > >> + { 0xb, AC_VERB_SET_CONNECT_SEL, 0x0}, > >> + { 0xd, AC_VERB_SET_CONNECT_SEL, 0x1}, > >> > >> /* power state controls amps */ > >> { 0x01, AC_VERB_SET_EAPD, 1 << 2}, > >> @@ -3115,12 +3116,12 @@ static int stac92xx_auto_create_multi_out_ctls(struct hda_codec *codec, > >> "Front", "Surround", NULL /*CLFE*/, "Side" > >> }; > >> hda_nid_t nid = 0; > >> - int i, err; > >> + int i, idx = 0, err; > >> unsigned int wid_caps; > >> > >> for (i = 0; i < cfg->line_outs && spec->multiout.dac_nids[i]; i++) { > >> nid = spec->multiout.dac_nids[i]; > >> - if (i == 2) { > >> + if (idx == 2) { > >> /* Center/LFE */ > >> err = create_controls(codec, "Center", nid, 1); > >> if (err < 0) > >> @@ -3139,9 +3140,9 @@ static int stac92xx_auto_create_multi_out_ctls(struct hda_codec *codec, > >> if (err < 0) > >> return err; > >> } > >> - > >> + idx++; > >> } else { > >> - const char *name = chname[i]; > >> + const char *name = chname[idx]; > >> /* if it's a single DAC, assign a better name */ > >> if (!i && is_unique_dac(spec, nid)) { > >> switch (cfg->line_out_type) { > >> @@ -3153,6 +3154,10 @@ static int stac92xx_auto_create_multi_out_ctls(struct hda_codec *codec, > >> break; > >> } > >> } > >> + if (!i && spec->hp_mixer) > >> + name = "Headphone"; > >> + else > >> + idx++; > >> err = create_controls(codec, name, nid, 3); > >> if (err < 0) > >> return err; > >> @@ -4894,6 +4899,12 @@ again: > >> break; > >> } > >> > >> + switch (spec->board_config) { > >> + case STAC_DELL_S14: > >> + spec->hp_mixer = 1; > >> + break; > >> + } > >> + > >> err = stac92xx_parse_auto_config(codec, 0x1d, 0); > >> if (!err) { > >> if (spec->board_config < 0) { > >> -- > >> 1.5.6.3 > >> > > > ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] hda: Add logic to force HP mixer creation 2009-02-16 9:08 ` Takashi Iwai 2009-02-16 23:34 ` Matthew Ranostay @ 2009-02-17 18:02 ` Mario Limonciello 2009-02-17 18:28 ` Takashi Iwai 1 sibling, 1 reply; 11+ messages in thread From: Mario Limonciello @ 2009-02-17 18:02 UTC (permalink / raw) To: Takashi Iwai; +Cc: alsa-devel, Matthew Ranostay [-- Attachment #1.1.1.1: Type: text/plain, Size: 3690 bytes --] I've tested the patch, and it does greatly aid userfriendliness. the "Surround" mixer no longer has a function, but it's clear that you need to turn up the Headphone mixer to make headphones work. Here's the alsa-info.sh output with that patch applied and the other s14 patch applied to the latest git snapshot from today. I thought you mentioned the s14 patch was applied to git, but I didn't see it in the snapshot for some reason. Takashi Iwai wrote: > At Sun, 15 Feb 2009 11:01:01 -0500, > Matthew Ranostay wrote: > >> In some instances like a laptop PCI_QUIRK you may want to force a >> headphone mixer otherwise a "Front" mixer would be in its place, this >> is to aid user friendlyness. >> >> Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com> >> > > Well, the change looks a bit too ad hoc. > Could you give alsa-info.sh output for this? > > > thanks, > > Takashi > > >> --- >> sound/pci/hda/patch_sigmatel.c | 25 ++++++++++++++++++------- >> 1 files changed, 18 insertions(+), 7 deletions(-) >> >> diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c >> index aeb5d21..e02a187 100644 >> --- a/sound/pci/hda/patch_sigmatel.c >> +++ b/sound/pci/hda/patch_sigmatel.c >> @@ -168,6 +168,7 @@ struct sigmatel_spec { >> unsigned int surr_switch: 1; >> unsigned int alt_switch: 1; >> unsigned int hp_detect: 1; >> + unsigned int hp_mixer: 1; >> unsigned int spdif_mute: 1; >> unsigned int check_volume_offset:1; >> >> @@ -857,9 +858,9 @@ static struct hda_verb stac92hd73xx_10ch_core_init[] = { >> }; >> >> static struct hda_verb stac92hd83xxx_core_init[] = { >> - { 0xa, AC_VERB_SET_CONNECT_SEL, 0x1}, >> - { 0xb, AC_VERB_SET_CONNECT_SEL, 0x1}, >> - { 0xd, AC_VERB_SET_CONNECT_SEL, 0x0}, >> + { 0xa, AC_VERB_SET_CONNECT_SEL, 0x0}, >> + { 0xb, AC_VERB_SET_CONNECT_SEL, 0x0}, >> + { 0xd, AC_VERB_SET_CONNECT_SEL, 0x1}, >> >> /* power state controls amps */ >> { 0x01, AC_VERB_SET_EAPD, 1 << 2}, >> @@ -3115,12 +3116,12 @@ static int stac92xx_auto_create_multi_out_ctls(struct hda_codec *codec, >> "Front", "Surround", NULL /*CLFE*/, "Side" >> }; >> hda_nid_t nid = 0; >> - int i, err; >> + int i, idx = 0, err; >> unsigned int wid_caps; >> >> for (i = 0; i < cfg->line_outs && spec->multiout.dac_nids[i]; i++) { >> nid = spec->multiout.dac_nids[i]; >> - if (i == 2) { >> + if (idx == 2) { >> /* Center/LFE */ >> err = create_controls(codec, "Center", nid, 1); >> if (err < 0) >> @@ -3139,9 +3140,9 @@ static int stac92xx_auto_create_multi_out_ctls(struct hda_codec *codec, >> if (err < 0) >> return err; >> } >> - >> + idx++; >> } else { >> - const char *name = chname[i]; >> + const char *name = chname[idx]; >> /* if it's a single DAC, assign a better name */ >> if (!i && is_unique_dac(spec, nid)) { >> switch (cfg->line_out_type) { >> @@ -3153,6 +3154,10 @@ static int stac92xx_auto_create_multi_out_ctls(struct hda_codec *codec, >> break; >> } >> } >> + if (!i && spec->hp_mixer) >> + name = "Headphone"; >> + else >> + idx++; >> err = create_controls(codec, name, nid, 3); >> if (err < 0) >> return err; >> @@ -4894,6 +4899,12 @@ again: >> break; >> } >> >> + switch (spec->board_config) { >> + case STAC_DELL_S14: >> + spec->hp_mixer = 1; >> + break; >> + } >> + >> err = stac92xx_parse_auto_config(codec, 0x1d, 0); >> if (!err) { >> if (spec->board_config < 0) { >> -- >> 1.5.6.3 >> >> -- Mario Limonciello *Dell | Linux Engineering* mario_limonciello@dell.com [-- Attachment #1.1.1.2: Type: text/plain, Size: 0 bytes --] [-- Attachment #1.1.2: 1.0.19.11.g5fc41.195.g772ce+s14+headphone_logic.alsa-info.txt --] [-- Type: text/plain, Size: 27898 bytes --] upload=true&script=true&cardinfo= !!################################ !!ALSA Information Script v 0.4.54 !!################################ !!Script ran on: Tue Feb 17 17:47:36 UTC 2009 !!Linux Distribution !!------------------ Ubuntu jaunty (development branch) \n \l DISTRIB_ID=Ubuntu DISTRIB_DESCRIPTION="Ubuntu jaunty (development branch)" !!Kernel Information !!------------------ Kernel release: 2.6.28-7-generic Operating System: GNU/Linux Architecture: i686 Processor: unknown SMP Enabled: Yes !!ALSA Version !!------------ Driver version: 1.0.19.11.g5fc41.195.g772ce Library version: Utilities version: 1.0.18 !!Loaded ALSA modules !!------------------- snd_hda_intel !!Sound Servers on this system !!---------------------------- Pulseaudio: Installed - Yes (/usr/bin/pulseaudio) Running - No ESound Daemon: Installed - Yes (/usr/bin/esd) Running - No !!Soundcards recognised by ALSA !!----------------------------- 0 [NVidia ]: HDA-Intel - HDA NVidia HDA NVidia at 0xf0980000 irq 17 !!PCI Soundcards installed in the system !!-------------------------------------- 00:08.0 Audio device: nVidia Corporation MCP79 High Definition Audio (rev b1) !!Advanced information - PCI Vendor/Device/Susbsystem ID's !!-------------------------------------------------------- 00:08.0 0403: 10de:0ac0 (rev b1) Subsystem: 1028:02ba !!Modprobe options (Sound related) !!-------------------------------- snd-atiixp-modem: index=-2 snd-intel8x0m: index=-2 snd-via82xx-modem: index=-2 snd-usb-audio: index=-2 snd-usb-us122l: index=-2 snd-usb-usx2y: index=-2 snd-usb-caiaq: index=-2 snd-cmipci: mpu_port=0x330 fm_port=0x388 snd-pcsp: index=-2 !!Loaded sound module options !!-------------------------- !!Module: snd_hda_intel bdl_pos_adj : 32,-1,-1,-1,-1,-1,-1,-1 enable : Y,Y,Y,Y,Y,Y,Y,Y enable_msi : 0 id : <NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL> index : -1,-1,-1,-1,-1,-1,-1,-1 model : <NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL> position_fix : 0,0,0,0,0,0,0,0 power_save : 0 power_save_controller : Y probe_mask : -1,-1,-1,-1,-1,-1,-1,-1 probe_only : N,N,N,N,N,N,N,N single_cmd : N !!HDA-Intel Codec information !!--------------------------- --startcollapse-- Codec: IDT 92HD83C1X5 Address: 0 Vendor Id: 0x111d7604 Subsystem Id: 0x102802ba Revision Id: 0x100302 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=3, o=0, i=0, unsolicited=1, wake=1 IO[0]: enable=0, dir=0, 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 Power-Map: 0x00 Node 0x0a [Pin Complex] wcaps 0x400581: Stereo Pincap 0x0001001c: OUT HP EAPD Detect EAPD 0x2: EAPD Pin Default 0x02214030: [Jack] HP Out at Ext Front Conn = 1/8, Color = Green DefAssociation = 0x3, Sequence = 0x0 Pin-ctls: 0xc0: OUT HP Unsolicited: tag=02, enabled=1 Power: setting=D0, actual=D0 Connection: 4 0x13 0x14* 0x1c 0x22 Node 0x0b [Pin Complex] wcaps 0x400581: Stereo Pincap 0x0001001c: OUT HP EAPD Detect EAPD 0x2: EAPD Pin Default 0x02211010: [Jack] HP Out at Ext Front Conn = 1/8, Color = Black DefAssociation = 0x1, Sequence = 0x0 Pin-ctls: 0xc0: OUT HP Unsolicited: tag=01, enabled=1 Power: setting=D0, actual=D0 Connection: 4 0x13 0x14* 0x1c 0x22 Node 0x0c [Pin Complex] wcaps 0x400583: Stereo Amp-In Amp-In caps: N/A Amp-In vals: [0x00 0x00] Pincap 0x00011734: IN OUT EAPD Detect Vref caps: HIZ 50 GRD 80 EAPD 0x2: EAPD 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 Power: setting=D0, actual=D0 Connection: 4 0x13 0x14 0x1c 0x22* Node 0x0d [Pin Complex] wcaps 0x400501: Stereo Pincap 0x00010050: OUT EAPD Balanced EAPD 0x2: EAPD Pin Default 0x01014050: [Jack] Line Out at Ext Rear Conn = 1/8, Color = Green DefAssociation = 0x5, Sequence = 0x0 Pin-ctls: 0x40: OUT Power: setting=D0, actual=D0 Connection: 4 0x13* 0x14 0x1c 0x22 Node 0x0e [Pin Complex] wcaps 0x400583: Stereo Amp-In Amp-In caps: N/A Amp-In vals: [0x00 0x00] Pincap 0x00010034: IN OUT EAPD Detect EAPD 0x2: EAPD 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 Connection: 4 0x13* 0x14 0x1c 0x22 Node 0x0f [Pin Complex] wcaps 0x400583: Stereo Amp-In Amp-In caps: N/A Amp-In vals: [0x00 0x00] Pincap 0x00011734: IN OUT EAPD Detect Vref caps: HIZ 50 GRD 80 EAPD 0x2: EAPD Pin Default 0x01819040: [Jack] Line In at Ext Rear Conn = 1/8, Color = Pink DefAssociation = 0x4, Sequence = 0x0 Pin-ctls: 0x20: IN VREF_HIZ Unsolicited: tag=04, enabled=1 Power: setting=D0, actual=D0 Connection: 4 0x13 0x14 0x1c 0x22* Node 0x10 [Pin Complex] wcaps 0x400500: Mono Pincap 0x00000010: OUT Pin Default 0x40f000f0: [N/A] Other at Ext N/A Conn = Unknown, Color = Unknown DefAssociation = 0xf, Sequence = 0x0 Pin-ctls: 0x00: Power: setting=D0, actual=D0 Connection: 1 0x1a Node 0x11 [Pin Complex] wcaps 0x400483: Stereo Amp-In Amp-In caps: N/A Amp-In vals: [0x00 0x00] Pincap 0x00000024: IN Detect Pin Default 0x90a60160: [Fixed] Mic at Int N/A Conn = Digital, Color = Unknown DefAssociation = 0x6, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x20: IN Unsolicited: tag=00, enabled=0 Power: setting=D0, actual=D0 Node 0x12 [Vendor Defined Widget] wcaps 0xf00503: Stereo Amp-In Amp-In caps: N/A Amp-In vals: [0x00 0x00] Power: setting=D0, actual=D0 Connection: 1 0x20 Node 0x13 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out R/L Amp-Out caps: N/A Amp-Out vals: [0x77 0x77] Converter: stream=0, channel=0 Power: setting=D0, actual=D0 Delay: 13 samples Node 0x14 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out R/L Amp-Out caps: N/A Amp-Out vals: [0x7a 0x7a] Converter: stream=0, channel=0 Power: setting=D0, actual=D0 Delay: 13 samples Node 0x15 [Audio Input] wcaps 0x1d0541: Stereo Converter: stream=0, channel=0 SDI-Select: 0 Power: setting=D0, actual=D0 Delay: 13 samples Connection: 1 0x17 Processing caps: benign=0, ncoeff=0 Node 0x16 [Audio Input] wcaps 0x1d0541: Stereo Converter: stream=0, channel=0 SDI-Select: 0 Power: setting=D0, actual=D0 Delay: 13 samples Connection: 1 0x18 Processing caps: benign=0, ncoeff=0 Node 0x17 [Audio Selector] wcaps 0x300d0d: Stereo Amp-Out R/L Amp-Out caps: ofs=0x00, nsteps=0x0f, stepsize=0x05, mute=1 Amp-Out vals: [0x80 0x80] Power: setting=D0, actual=D0 Connection: 6 0x0c 0x0e 0x0f 0x1b 0x11* 0x12 Node 0x18 [Audio Selector] wcaps 0x300d0d: Stereo Amp-Out R/L Amp-Out caps: ofs=0x00, nsteps=0x0f, stepsize=0x05, mute=1 Amp-Out vals: [0x80 0x80] Power: setting=D0, actual=D0 Connection: 6 0x0c* 0x0e 0x0f 0x1b 0x11 0x12 Node 0x19 [Audio Selector] wcaps 0x300501: Stereo Power: setting=D0, actual=D0 Connection: 4 0x13* 0x14 0x1c 0x22 Node 0x1a [Audio Mixer] wcaps 0x200500: Mono Power: setting=D0, actual=D0 Connection: 1 0x19 Node 0x1b [Audio Mixer] wcaps 0x20050b: 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] Power: setting=D0, actual=D0 Connection: 5 0x0c 0x0e 0x0f 0x13 0x14 Node 0x1c [Audio Selector] wcaps 0x30050d: Stereo Amp-Out Amp-Out caps: ofs=0x1f, nsteps=0x1f, stepsize=0x05, mute=1 Amp-Out vals: [0x9f 0x9f] Power: setting=D0, actual=D0 Connection: 1 0x1b Node 0x1d [Audio Output] wcaps 0x4061d: 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 Power: setting=D0, actual=D0 Delay: 4 samples Node 0x1e [Audio Output] wcaps 0x4061d: 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 Power: setting=D0, actual=D0 Delay: 4 samples Node 0x1f [Pin Complex] wcaps 0x400781: Stereo Digital Pincap 0x00000014: OUT 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 Power: setting=D0, actual=D0 Connection: 1 0x1d Node 0x20 [Pin Complex] wcaps 0x400781: Stereo Digital Pincap 0x00000034: IN OUT 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 Power: setting=D0, actual=D0 Connection: 1 0x1e Node 0x21 [Beep Generator Widget] wcaps 0x70000c: Mono Amp-Out Amp-Out caps: ofs=0x03, nsteps=0x03, stepsize=0x17, mute=1 Amp-Out vals: [0x00] Node 0x22 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out R/L Amp-Out caps: N/A Amp-Out vals: [0xfa 0xfa] Converter: stream=0, channel=0 Power: setting=D0, actual=D0 Delay: 13 samples Codec: Nvidia MCP7A HDMI Address: 3 Vendor Id: 0x10de0007 Subsystem Id: 0x102802ba Revision Id: 0x100100 No Modem Function Group found Default PCM: rates [0x0]: bits [0x0]: formats [0x0]: Default Amp-In caps: N/A Default Amp-Out caps: N/A GPIO: io=0, o=0, i=0, unsolicited=0, wake=0 Node 0x04 [Audio Output] wcaps 0x211: Stereo Digital Converter: stream=0, channel=0 Digital: Digital category: 0x0 PCM: rates [0xc0]: 48000 88200 bits [0xf]: 8 16 20 24 formats [0x1]: PCM Node 0x05 [Pin Complex] wcaps 0x400381: Stereo Digital Pincap 0x00000014: OUT Detect Pin Default 0x18560110: [Jack] Digital Out at Int HDMI Conn = Digital, Color = Unknown DefAssociation = 0x1, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x40: OUT Unsolicited: tag=00, enabled=0 Connection: 1 0x04 Node 0x06 [Audio Output] wcaps 0x211: Stereo Digital Converter: stream=0, channel=0 Digital: Digital category: 0x0 PCM: rates [0xc0]: 48000 88200 bits [0xf]: 8 16 20 24 formats [0x1]: PCM Node 0x07 [Pin Complex] wcaps 0x400381: Stereo Digital Pincap 0x00000014: OUT Detect Pin Default 0x58560121: [N/A] Digital Out at Int HDMI Conn = Digital, Color = Unknown DefAssociation = 0x2, Sequence = 0x1 Misc = NO_PRESENCE Pin-ctls: 0x00: Unsolicited: tag=00, enabled=0 Connection: 1 0x06 Node 0x08 [Audio Output] wcaps 0x211: Stereo Digital Converter: stream=0, channel=0 Digital: Digital category: 0x0 PCM: rates [0xc0]: 48000 88200 bits [0xf]: 8 16 20 24 formats [0x1]: PCM Node 0x09 [Pin Complex] wcaps 0x400381: Stereo Digital Pincap 0x00000014: OUT Detect Pin Default 0x58560122: [N/A] Digital Out at Int HDMI Conn = Digital, Color = Unknown DefAssociation = 0x2, Sequence = 0x2 Misc = NO_PRESENCE Pin-ctls: 0x00: Unsolicited: tag=00, enabled=0 Connection: 1 0x08 Node 0x0a [Audio Output] wcaps 0x211: Stereo Digital Converter: stream=0, channel=0 Digital: Digital category: 0x0 PCM: rates [0xc0]: 48000 88200 bits [0xf]: 8 16 20 24 formats [0x1]: PCM Node 0x0b [Pin Complex] wcaps 0x400381: Stereo Digital Pincap 0x00000014: OUT Detect Pin Default 0x58560123: [N/A] Digital Out at Int HDMI Conn = Digital, Color = Unknown DefAssociation = 0x2, Sequence = 0x3 Misc = NO_PRESENCE Pin-ctls: 0x00: Unsolicited: tag=00, enabled=0 Connection: 1 0x0a Node 0x0c [Audio Output] wcaps 0x211: Stereo Digital Converter: stream=0, channel=0 Digital: Digital category: 0x0 PCM: rates [0xc0]: 48000 88200 bits [0xf]: 8 16 20 24 formats [0x1]: PCM Node 0x0d [Pin Complex] wcaps 0x400381: Stereo Digital Pincap 0x00000014: OUT Detect Pin Default 0x58560124: [N/A] Digital Out at Int HDMI Conn = Digital, Color = Unknown DefAssociation = 0x2, Sequence = 0x4 Misc = NO_PRESENCE Pin-ctls: 0x00: Unsolicited: tag=00, enabled=0 Connection: 1 0x0c --endcollapse-- !!ALSA Device nodes !!----------------- crw-rw----+ 1 root audio 116, 0 Feb 17 12:44 /dev/snd/controlC0 crw-rw----+ 1 root audio 116, 4 Feb 17 12:44 /dev/snd/hwC0D0 crw-rw----+ 1 root audio 116, 7 Feb 17 12:44 /dev/snd/hwC0D3 crw-rw----+ 1 root audio 116, 24 Feb 17 12:45 /dev/snd/pcmC0D0c crw-rw----+ 1 root audio 116, 16 Feb 17 12:46 /dev/snd/pcmC0D0p crw-rw----+ 1 root audio 116, 19 Feb 17 12:44 /dev/snd/pcmC0D3p crw-rw----+ 1 root audio 116, 1 Feb 17 12:44 /dev/snd/seq crw-rw----+ 1 root audio 116, 33 Feb 17 12:44 /dev/snd/timer !!Aplay/Arecord output !!------------ APLAY **** List of PLAYBACK Hardware Devices **** card 0: NVidia [HDA NVidia], device 0: STAC92xx Analog [STAC92xx Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: NVidia [HDA NVidia], device 3: NVIDIA HDMI [NVIDIA HDMI] Subdevices: 1/1 Subdevice #0: subdevice #0 ARECORD **** List of CAPTURE Hardware Devices **** card 0: NVidia [HDA NVidia], device 0: STAC92xx Analog [STAC92xx Analog] Subdevices: 2/2 Subdevice #0: subdevice #0 Subdevice #1: subdevice #1 !!Amixer output !!------------- !!-------Mixer controls for card 0 [NVidia] Card hw:0 'NVidia'/'HDA NVidia at 0xf0980000 irq 17' Mixer name : 'Nvidia MCP7A HDMI' Components : 'HDA:111d7604,102802ba,00100302 HDA:10de0007,102802ba,00100100' Controls : 37 Simple ctrls : 22 Simple mixer control 'Master',0 Capabilities: pvolume pvolume-joined pswitch pswitch-joined Playback channels: Mono Limits: Playback 0 - 64 Mono: Playback 59 [92%] [-3.75dB] [on] Simple mixer control 'Headphone as Line Out',0 Capabilities: pswitch pswitch-joined Playback channels: Mono Mono: Playback [off] Simple mixer control 'PCM',0 Capabilities: pvolume Playback channels: Front Left - Front Right Limits: Playback 0 - 255 Mono: Front Left: Playback 255 [100%] [0.00dB] Front Right: Playback 255 [100%] [0.00dB] Simple mixer control 'Front',0 Capabilities: pvolume pswitch Playback channels: Front Left - Front Right Limits: Playback 0 - 64 Mono: Front Left: Playback 61 [95%] [-2.25dB] [on] Front Right: Playback 61 [95%] [-2.25dB] [on] Simple mixer control 'Front Mic',0 Capabilities: cvolume cswitch Capture channels: Front Left - Front Right Limits: Capture 0 - 31 Front Left: Capture 23 [74%] [0.00dB] [off] Front Right: Capture 23 [74%] [0.00dB] [off] Simple mixer control 'Surround',0 Capabilities: pvolume pswitch Playback channels: Front Left - Front Right Limits: Playback 0 - 64 Mono: Front Left: Playback 64 [100%] [0.00dB] [on] Front Right: Playback 64 [100%] [0.00dB] [on] Simple mixer control 'Center',0 Capabilities: pvolume pvolume-joined pswitch pswitch-joined Playback channels: Mono Limits: Playback 0 - 64 Mono: Playback 64 [100%] [0.00dB] [off] Simple mixer control 'LFE',0 Capabilities: pvolume pvolume-joined pswitch pswitch-joined Playback channels: Mono Limits: Playback 0 - 64 Mono: Playback 64 [100%] [0.00dB] [off] Simple mixer control 'Line In',0 Capabilities: cvolume cswitch Capture channels: Front Left - Front Right Limits: Capture 0 - 31 Front Left: Capture 23 [74%] [0.00dB] [off] Front Right: Capture 23 [74%] [0.00dB] [off] Simple mixer control 'Line In as Output',0 Capabilities: pswitch pswitch-joined Playback channels: Mono Mono: Playback [off] Simple mixer control 'Mic as Output',0 Capabilities: pswitch pswitch-joined Playback channels: Mono Mono: Playback [off] Simple mixer control 'IEC958',0 Capabilities: pswitch pswitch-joined Playback channels: Mono Mono: Playback [off] Simple mixer control 'Mono Mux',0 Capabilities: enum Items: 'DAC0' 'DAC1' 'Mixer' 'DAC2' Item0: 'DAC0' Simple mixer control 'Capture',0 Capabilities: cvolume cswitch Capture channels: Front Left - Front Right Limits: Capture 0 - 15 Front Left: Capture 0 [0%] [0.00dB] [off] Front Right: Capture 0 [0%] [0.00dB] [off] Simple mixer control 'Capture',1 Capabilities: cvolume cswitch Capture channels: Front Left - Front Right Limits: Capture 0 - 15 Front Left: Capture 0 [0%] [0.00dB] [off] Front Right: Capture 0 [0%] [0.00dB] [off] Simple mixer control 'Amp',0 Capabilities: cvolume Capture channels: Front Left - Front Right Limits: Capture 0 - 3 Front Left: Capture 0 [0%] [0.00dB] Front Right: Capture 0 [0%] [0.00dB] Simple mixer control 'DAC0',0 Capabilities: cvolume cswitch Capture channels: Front Left - Front Right Limits: Capture 0 - 31 Front Left: Capture 23 [74%] [0.00dB] [off] Front Right: Capture 23 [74%] [0.00dB] [off] Simple mixer control 'DAC1',0 Capabilities: cvolume cswitch Capture channels: Front Left - Front Right Limits: Capture 0 - 31 Front Left: Capture 23 [74%] [0.00dB] [off] Front Right: Capture 23 [74%] [0.00dB] [off] Simple mixer control 'Digital Input Source',0 Capabilities: enum Items: 'Analog Inputs' 'Digital Mic 1' 'Digital Mic 2' Item0: 'Digital Mic 1' Simple mixer control 'Digital Input Source',1 Capabilities: enum Items: 'Analog Inputs' 'Digital Mic 1' 'Digital Mic 2' Item0: 'Analog Inputs' Simple mixer control 'PC Beep',0 Capabilities: pvolume pvolume-joined pswitch pswitch-joined Playback channels: Mono Limits: Playback 0 - 3 Mono: Playback 1 [33%] [-12.00dB] [off] Simple mixer control 'Swap Center/LFE',0 Capabilities: pswitch pswitch-joined Playback channels: Mono Mono: Playback [off] !!Alsactl output !!------------- --startcollapse-- state.NVidia { control.1 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 15' comment.dbmin 0 comment.dbmax 2250 iface MIXER name 'Capture Volume' value.0 0 value.1 0 } control.2 { comment.access 'read write' comment.type BOOLEAN comment.count 2 iface MIXER name 'Capture Switch' value.0 false value.1 false } control.3 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 15' comment.dbmin 0 comment.dbmax 2250 iface MIXER name 'Capture Volume' index 1 value.0 0 value.1 0 } control.4 { comment.access 'read write' comment.type BOOLEAN comment.count 2 iface MIXER name 'Capture Switch' index 1 value.0 false value.1 false } control.5 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 31' comment.dbmin -3450 comment.dbmax 1200 iface MIXER name 'DAC0 Capture Volume' value.0 23 value.1 23 } control.6 { comment.access 'read write' comment.type BOOLEAN comment.count 2 iface MIXER name 'DAC0 Capture Switch' value.0 false value.1 false } control.7 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 31' comment.dbmin -3450 comment.dbmax 1200 iface MIXER name 'DAC1 Capture Volume' value.0 23 value.1 23 } control.8 { comment.access 'read write' comment.type BOOLEAN comment.count 2 iface MIXER name 'DAC1 Capture Switch' value.0 false value.1 false } control.9 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 31' comment.dbmin -3450 comment.dbmax 1200 iface MIXER name 'Front Mic Capture Volume' value.0 23 value.1 23 } control.10 { comment.access 'read write' comment.type BOOLEAN comment.count 2 iface MIXER name 'Front Mic Capture Switch' value.0 false value.1 false } control.11 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 31' comment.dbmin -3450 comment.dbmax 1200 iface MIXER name 'Line In Capture Volume' value.0 23 value.1 23 } control.12 { comment.access 'read write' comment.type BOOLEAN comment.count 2 iface MIXER name 'Line In Capture Switch' value.0 false value.1 false } control.13 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 64' comment.dbmin -4800 comment.dbmax 0 iface MIXER name 'Front Playback Volume' value.0 61 value.1 61 } control.14 { comment.access 'read write' comment.type BOOLEAN comment.count 2 iface MIXER name 'Front Playback Switch' value.0 true value.1 true } control.15 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 64' comment.dbmin -4800 comment.dbmax 0 iface MIXER name 'Surround Playback Volume' value.0 64 value.1 64 } control.16 { comment.access 'read write' comment.type BOOLEAN comment.count 2 iface MIXER name 'Surround Playback Switch' value.0 true value.1 true } control.17 { comment.access 'read write' comment.type INTEGER comment.count 1 comment.range '0 - 64' comment.dbmin -4800 comment.dbmax 0 iface MIXER name 'Center Playback Volume' value 64 } control.18 { comment.access 'read write' comment.type BOOLEAN comment.count 1 iface MIXER name 'Center Playback Switch' value false } control.19 { comment.access 'read write' comment.type INTEGER comment.count 1 comment.range '0 - 64' comment.dbmin -4800 comment.dbmax 0 iface MIXER name 'LFE Playback Volume' value 64 } control.20 { comment.access 'read write' comment.type BOOLEAN comment.count 1 iface MIXER name 'LFE Playback Switch' value false } control.21 { comment.access 'read write' comment.type BOOLEAN comment.count 1 iface MIXER name 'Swap Center/LFE Playback Switch' value false } control.22 { comment.access 'read write' comment.type BOOLEAN comment.count 1 iface MIXER name 'Headphone as Line Out Switch' value false } control.23 { comment.access 'read write' comment.type BOOLEAN comment.count 1 iface MIXER name 'Line In as Output Switch' value false } control.24 { comment.access 'read write' comment.type BOOLEAN comment.count 1 iface MIXER name 'Mic as Output Switch' value false } control.25 { comment.access 'read write' comment.type BOOLEAN comment.count 1 iface MIXER name 'PC Beep Playback Switch' value false } control.26 { comment.access 'read write' comment.type INTEGER comment.count 1 comment.range '0 - 3' comment.dbmin -1800 comment.dbmax 0 iface MIXER name 'PC Beep Playback Volume' value 1 } control.27 { comment.access 'read write' comment.type ENUMERATED comment.count 1 comment.item.0 DAC0 comment.item.1 DAC1 comment.item.2 Mixer comment.item.3 DAC2 iface MIXER name 'Mono Mux' value DAC0 } control.28 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 3' comment.dbmin 0 comment.dbmax 3000 iface MIXER name 'Amp Capture Volume' value.0 0 value.1 0 } control.29 { comment.access 'read write' comment.type ENUMERATED comment.count 1 comment.item.0 'Analog Inputs' comment.item.1 'Digital Mic 1' comment.item.2 'Digital Mic 2' iface MIXER name 'Digital Input Source' value 'Digital Mic 1' } control.30 { comment.access 'read write' comment.type ENUMERATED comment.count 1 comment.item.0 'Analog Inputs' comment.item.1 'Digital Mic 1' comment.item.2 'Digital Mic 2' iface MIXER name 'Digital Input Source' index 1 value 'Analog Inputs' } control.31 { comment.access 'read write' comment.type INTEGER comment.count 1 comment.range '0 - 64' comment.dbmin -4800 comment.dbmax 0 iface MIXER name 'Master Playback Volume' value 59 } control.32 { comment.access 'read write' comment.type BOOLEAN comment.count 1 iface MIXER name 'Master Playback Switch' value true } control.33 { comment.access read comment.type IEC958 comment.count 1 iface MIXER name 'IEC958 Playback Con Mask' value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' } control.34 { comment.access read comment.type IEC958 comment.count 1 iface MIXER name 'IEC958 Playback Pro Mask' value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' } control.35 { comment.access 'read write' comment.type IEC958 comment.count 1 iface MIXER name 'IEC958 Playback Default' value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' } control.36 { comment.access 'read write' comment.type BOOLEAN comment.count 1 iface MIXER name 'IEC958 Playback Switch' value false } control.37 { comment.access 'read write user' comment.type INTEGER comment.count 2 comment.range '0 - 255' comment.tlv '0000000100000008ffffec1400000014' comment.dbmin -5100 comment.dbmax 0 iface MIXER name 'PCM Playback Volume' value.0 255 value.1 255 } } --endcollapse-- !!All Loaded Modules !!------------------ Module binfmt_misc bridge stp bnep video output input_polldev ppdev parport_pc lp parport snd_hda_codec_nvhdmi joydev snd_hda_codec_idt snd_hda_intel snd_hda_codec snd_hwdep snd_pcm_oss snd_mixer_oss snd_pcm snd_seq_dummy snd_seq_oss psmouse nvidia pcspkr dcdbas serio_raw snd_seq_midi agpgart snd_rawmidi ieee80211_crypt_tkip snd_seq_midi_event wl ieee80211_crypt snd_seq shpchp uvcvideo compat_ioctl32 snd_timer snd_seq_device videodev v4l1_compat snd soundcore snd_page_alloc ohci1394 ieee1394 r8169 mii ehci_hcd ohci_hcd fbcon tileblit font bitblit softcursor fuse [-- Attachment #1.2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 260 bytes --] [-- Attachment #2: Type: text/plain, Size: 160 bytes --] _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] hda: Add logic to force HP mixer creation 2009-02-17 18:02 ` Mario Limonciello @ 2009-02-17 18:28 ` Takashi Iwai 2009-02-17 19:27 ` Mario Limonciello 0 siblings, 1 reply; 11+ messages in thread From: Takashi Iwai @ 2009-02-17 18:28 UTC (permalink / raw) To: Mario Limonciello; +Cc: alsa-devel, Matthew Ranostay At Tue, 17 Feb 2009 12:02:22 -0600, Mario Limonciello wrote: > > I've tested the patch, and it does greatly aid userfriendliness. the > "Surround" mixer no longer has a function, but it's clear that you need to > turn up the Headphone mixer to make headphones work. If "Surround" doesn't do anything, why should it be there? And, does "Headphone" change both headphones even with 4 or 6 ch outputs properly? Doesn't "Headhpone" change any other output volumes? The patch introduces another exception, and now nobody would understand how the channels and outputs and mixers are assigned together. Besides, also some another fix (changing the widget connection) is found in a single patch. This must be split. > Here's the alsa-info.sh output with that patch applied and the other s14 patch > applied to the latest git snapshot from today. I thought you mentioned the > s14 patch was applied to git, but I didn't see it in the snapshot for some > reason. Hm, I thought I did. Which patch exactly? thanks, Takashi > > Takashi Iwai wrote: > > At Sun, 15 Feb 2009 11:01:01 -0500, > Matthew Ranostay wrote: > > In some instances like a laptop PCI_QUIRK you may want to force a > headphone mixer otherwise a "Front" mixer would be in its place, this > is to aid user friendlyness. > > Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com> > > Well, the change looks a bit too ad hoc. > Could you give alsa-info.sh output for this? > > thanks, > > Takashi > > --- > sound/pci/hda/patch_sigmatel.c | 25 ++++++++++++++++++------- > 1 files changed, 18 insertions(+), 7 deletions(-) > > diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c > index aeb5d21..e02a187 100644 > --- a/sound/pci/hda/patch_sigmatel.c > +++ b/sound/pci/hda/patch_sigmatel.c > @@ -168,6 +168,7 @@ struct sigmatel_spec { > unsigned int surr_switch: 1; > unsigned int alt_switch: 1; > unsigned int hp_detect: 1; > + unsigned int hp_mixer: 1; > unsigned int spdif_mute: 1; > unsigned int check_volume_offset:1; > > @@ -857,9 +858,9 @@ static struct hda_verb stac92hd73xx_10ch_core_init[] = { > }; > > static struct hda_verb stac92hd83xxx_core_init[] = { > - { 0xa, AC_VERB_SET_CONNECT_SEL, 0x1}, > - { 0xb, AC_VERB_SET_CONNECT_SEL, 0x1}, > - { 0xd, AC_VERB_SET_CONNECT_SEL, 0x0}, > + { 0xa, AC_VERB_SET_CONNECT_SEL, 0x0}, > + { 0xb, AC_VERB_SET_CONNECT_SEL, 0x0}, > + { 0xd, AC_VERB_SET_CONNECT_SEL, 0x1}, > > /* power state controls amps */ > { 0x01, AC_VERB_SET_EAPD, 1 << 2}, > @@ -3115,12 +3116,12 @@ static int stac92xx_auto_create_multi_out_ctls(struct hda_codec *codec, > "Front", "Surround", NULL /*CLFE*/, "Side" > }; > hda_nid_t nid = 0; > - int i, err; > + int i, idx = 0, err; > unsigned int wid_caps; > > for (i = 0; i < cfg->line_outs && spec->multiout.dac_nids[i]; i++) { > nid = spec->multiout.dac_nids[i]; > - if (i == 2) { > + if (idx == 2) { > /* Center/LFE */ > err = create_controls(codec, "Center", nid, 1); > if (err < 0) > @@ -3139,9 +3140,9 @@ static int stac92xx_auto_create_multi_out_ctls(struct hda_codec *codec, > if (err < 0) > return err; > } > - > + idx++; > } else { > - const char *name = chname[i]; > + const char *name = chname[idx]; > /* if it's a single DAC, assign a better name */ > if (!i && is_unique_dac(spec, nid)) { > switch (cfg->line_out_type) { > @@ -3153,6 +3154,10 @@ static int stac92xx_auto_create_multi_out_ctls(struct hda_codec *codec, > break; > } > } > + if (!i && spec->hp_mixer) > + name = "Headphone"; > + else > + idx++; > err = create_controls(codec, name, nid, 3); > if (err < 0) > return err; > @@ -4894,6 +4899,12 @@ again: > break; > } > > + switch (spec->board_config) { > + case STAC_DELL_S14: > + spec->hp_mixer = 1; > + break; > + } > + > err = stac92xx_parse_auto_config(codec, 0x1d, 0); > if (!err) { > if (spec->board_config < 0) { > -- > 1.5.6.3 > > -- > Mario Limonciello > Dell | Linux Engineering > mario_limonciello@dell.com > > > [1.2 1.0.19.11.g5fc41.195.g772ce+s14+headphone_logic.alsa-info.txt <text/plain (quoted-printable)>] > upload=true&script=true&cardinfo= > !!################################ > !!ALSA Information Script v 0.4.54 > !!################################ > > !!Script ran on: Tue Feb 17 17:47:36 UTC 2009 > > > !!Linux Distribution > !!------------------ > > Ubuntu jaunty (development branch) \n \l DISTRIB_ID=Ubuntu DISTRIB_DESCRIPTION="Ubuntu jaunty (development branch)" > > > !!Kernel Information > !!------------------ > > Kernel release: 2.6.28-7-generic > Operating System: GNU/Linux > Architecture: i686 > Processor: unknown > SMP Enabled: Yes > > > !!ALSA Version > !!------------ > > Driver version: 1.0.19.11.g5fc41.195.g772ce > Library version: > Utilities version: 1.0.18 > > > !!Loaded ALSA modules > !!------------------- > > snd_hda_intel > > > !!Sound Servers on this system > !!---------------------------- > > Pulseaudio: > Installed - Yes (/usr/bin/pulseaudio) > Running - No > > ESound Daemon: > Installed - Yes (/usr/bin/esd) > Running - No > > > !!Soundcards recognised by ALSA > !!----------------------------- > > 0 [NVidia ]: HDA-Intel - HDA NVidia > HDA NVidia at 0xf0980000 irq 17 > > > !!PCI Soundcards installed in the system > !!-------------------------------------- > > 00:08.0 Audio device: nVidia Corporation MCP79 High Definition Audio (rev b1) > > > !!Advanced information - PCI Vendor/Device/Susbsystem ID's > !!-------------------------------------------------------- > > 00:08.0 0403: 10de:0ac0 (rev b1) > Subsystem: 1028:02ba > > > !!Modprobe options (Sound related) > !!-------------------------------- > > snd-atiixp-modem: index=-2 > snd-intel8x0m: index=-2 > snd-via82xx-modem: index=-2 > snd-usb-audio: index=-2 > snd-usb-us122l: index=-2 > snd-usb-usx2y: index=-2 > snd-usb-caiaq: index=-2 > snd-cmipci: mpu_port=0x330 fm_port=0x388 > snd-pcsp: index=-2 > > > !!Loaded sound module options > !!-------------------------- > > !!Module: snd_hda_intel > bdl_pos_adj : 32,-1,-1,-1,-1,-1,-1,-1 > enable : Y,Y,Y,Y,Y,Y,Y,Y > enable_msi : 0 > id : <NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL> > index : -1,-1,-1,-1,-1,-1,-1,-1 > model : <NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL> > position_fix : 0,0,0,0,0,0,0,0 > power_save : 0 > power_save_controller : Y > probe_mask : -1,-1,-1,-1,-1,-1,-1,-1 > probe_only : N,N,N,N,N,N,N,N > single_cmd : N > > > !!HDA-Intel Codec information > !!--------------------------- > --startcollapse-- > > Codec: IDT 92HD83C1X5 > Address: 0 > Vendor Id: 0x111d7604 > Subsystem Id: 0x102802ba > Revision Id: 0x100302 > 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=3, o=0, i=0, unsolicited=1, wake=1 > IO[0]: enable=0, dir=0, 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 > Power-Map: 0x00 > Node 0x0a [Pin Complex] wcaps 0x400581: Stereo > Pincap 0x0001001c: OUT HP EAPD Detect > EAPD 0x2: EAPD > Pin Default 0x02214030: [Jack] HP Out at Ext Front > Conn = 1/8, Color = Green > DefAssociation = 0x3, Sequence = 0x0 > Pin-ctls: 0xc0: OUT HP > Unsolicited: tag=02, enabled=1 > Power: setting=D0, actual=D0 > Connection: 4 > 0x13 0x14* 0x1c 0x22 > Node 0x0b [Pin Complex] wcaps 0x400581: Stereo > Pincap 0x0001001c: OUT HP EAPD Detect > EAPD 0x2: EAPD > Pin Default 0x02211010: [Jack] HP Out at Ext Front > Conn = 1/8, Color = Black > DefAssociation = 0x1, Sequence = 0x0 > Pin-ctls: 0xc0: OUT HP > Unsolicited: tag=01, enabled=1 > Power: setting=D0, actual=D0 > Connection: 4 > 0x13 0x14* 0x1c 0x22 > Node 0x0c [Pin Complex] wcaps 0x400583: Stereo Amp-In > Amp-In caps: N/A > Amp-In vals: [0x00 0x00] > Pincap 0x00011734: IN OUT EAPD Detect > Vref caps: HIZ 50 GRD 80 > EAPD 0x2: EAPD > 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 > Power: setting=D0, actual=D0 > Connection: 4 > 0x13 0x14 0x1c 0x22* > Node 0x0d [Pin Complex] wcaps 0x400501: Stereo > Pincap 0x00010050: OUT EAPD Balanced > EAPD 0x2: EAPD > Pin Default 0x01014050: [Jack] Line Out at Ext Rear > Conn = 1/8, Color = Green > DefAssociation = 0x5, Sequence = 0x0 > Pin-ctls: 0x40: OUT > Power: setting=D0, actual=D0 > Connection: 4 > 0x13* 0x14 0x1c 0x22 > Node 0x0e [Pin Complex] wcaps 0x400583: Stereo Amp-In > Amp-In caps: N/A > Amp-In vals: [0x00 0x00] > Pincap 0x00010034: IN OUT EAPD Detect > EAPD 0x2: EAPD > 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 > Connection: 4 > 0x13* 0x14 0x1c 0x22 > Node 0x0f [Pin Complex] wcaps 0x400583: Stereo Amp-In > Amp-In caps: N/A > Amp-In vals: [0x00 0x00] > Pincap 0x00011734: IN OUT EAPD Detect > Vref caps: HIZ 50 GRD 80 > EAPD 0x2: EAPD > Pin Default 0x01819040: [Jack] Line In at Ext Rear > Conn = 1/8, Color = Pink > DefAssociation = 0x4, Sequence = 0x0 > Pin-ctls: 0x20: IN VREF_HIZ > Unsolicited: tag=04, enabled=1 > Power: setting=D0, actual=D0 > Connection: 4 > 0x13 0x14 0x1c 0x22* > Node 0x10 [Pin Complex] wcaps 0x400500: Mono > Pincap 0x00000010: OUT > Pin Default 0x40f000f0: [N/A] Other at Ext N/A > Conn = Unknown, Color = Unknown > DefAssociation = 0xf, Sequence = 0x0 > Pin-ctls: 0x00: > Power: setting=D0, actual=D0 > Connection: 1 > 0x1a > Node 0x11 [Pin Complex] wcaps 0x400483: Stereo Amp-In > Amp-In caps: N/A > Amp-In vals: [0x00 0x00] > Pincap 0x00000024: IN Detect > Pin Default 0x90a60160: [Fixed] Mic at Int N/A > Conn = Digital, Color = Unknown > DefAssociation = 0x6, Sequence = 0x0 > Misc = NO_PRESENCE > Pin-ctls: 0x20: IN > Unsolicited: tag=00, enabled=0 > Power: setting=D0, actual=D0 > Node 0x12 [Vendor Defined Widget] wcaps 0xf00503: Stereo Amp-In > Amp-In caps: N/A > Amp-In vals: [0x00 0x00] > Power: setting=D0, actual=D0 > Connection: 1 > 0x20 > Node 0x13 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out R/L > Amp-Out caps: N/A > Amp-Out vals: [0x77 0x77] > Converter: stream=0, channel=0 > Power: setting=D0, actual=D0 > Delay: 13 samples > Node 0x14 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out R/L > Amp-Out caps: N/A > Amp-Out vals: [0x7a 0x7a] > Converter: stream=0, channel=0 > Power: setting=D0, actual=D0 > Delay: 13 samples > Node 0x15 [Audio Input] wcaps 0x1d0541: Stereo > Converter: stream=0, channel=0 > SDI-Select: 0 > Power: setting=D0, actual=D0 > Delay: 13 samples > Connection: 1 > 0x17 > Processing caps: benign=0, ncoeff=0 > Node 0x16 [Audio Input] wcaps 0x1d0541: Stereo > Converter: stream=0, channel=0 > SDI-Select: 0 > Power: setting=D0, actual=D0 > Delay: 13 samples > Connection: 1 > 0x18 > Processing caps: benign=0, ncoeff=0 > Node 0x17 [Audio Selector] wcaps 0x300d0d: Stereo Amp-Out R/L > Amp-Out caps: ofs=0x00, nsteps=0x0f, stepsize=0x05, mute=1 > Amp-Out vals: [0x80 0x80] > Power: setting=D0, actual=D0 > Connection: 6 > 0x0c 0x0e 0x0f 0x1b 0x11* 0x12 > Node 0x18 [Audio Selector] wcaps 0x300d0d: Stereo Amp-Out R/L > Amp-Out caps: ofs=0x00, nsteps=0x0f, stepsize=0x05, mute=1 > Amp-Out vals: [0x80 0x80] > Power: setting=D0, actual=D0 > Connection: 6 > 0x0c* 0x0e 0x0f 0x1b 0x11 0x12 > Node 0x19 [Audio Selector] wcaps 0x300501: Stereo > Power: setting=D0, actual=D0 > Connection: 4 > 0x13* 0x14 0x1c 0x22 > Node 0x1a [Audio Mixer] wcaps 0x200500: Mono > Power: setting=D0, actual=D0 > Connection: 1 > 0x19 > Node 0x1b [Audio Mixer] wcaps 0x20050b: 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] > Power: setting=D0, actual=D0 > Connection: 5 > 0x0c 0x0e 0x0f 0x13 0x14 > Node 0x1c [Audio Selector] wcaps 0x30050d: Stereo Amp-Out > Amp-Out caps: ofs=0x1f, nsteps=0x1f, stepsize=0x05, mute=1 > Amp-Out vals: [0x9f 0x9f] > Power: setting=D0, actual=D0 > Connection: 1 > 0x1b > Node 0x1d [Audio Output] wcaps 0x4061d: 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 > Power: setting=D0, actual=D0 > Delay: 4 samples > Node 0x1e [Audio Output] wcaps 0x4061d: 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 > Power: setting=D0, actual=D0 > Delay: 4 samples > Node 0x1f [Pin Complex] wcaps 0x400781: Stereo Digital > Pincap 0x00000014: OUT 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 > Power: setting=D0, actual=D0 > Connection: 1 > 0x1d > Node 0x20 [Pin Complex] wcaps 0x400781: Stereo Digital > Pincap 0x00000034: IN OUT 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 > Power: setting=D0, actual=D0 > Connection: 1 > 0x1e > Node 0x21 [Beep Generator Widget] wcaps 0x70000c: Mono Amp-Out > Amp-Out caps: ofs=0x03, nsteps=0x03, stepsize=0x17, mute=1 > Amp-Out vals: [0x00] > Node 0x22 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out R/L > Amp-Out caps: N/A > Amp-Out vals: [0xfa 0xfa] > Converter: stream=0, channel=0 > Power: setting=D0, actual=D0 > Delay: 13 samples > Codec: Nvidia MCP7A HDMI > Address: 3 > Vendor Id: 0x10de0007 > Subsystem Id: 0x102802ba > Revision Id: 0x100100 > No Modem Function Group found > Default PCM: > rates [0x0]: > bits [0x0]: > formats [0x0]: > Default Amp-In caps: N/A > Default Amp-Out caps: N/A > GPIO: io=0, o=0, i=0, unsolicited=0, wake=0 > Node 0x04 [Audio Output] wcaps 0x211: Stereo Digital > Converter: stream=0, channel=0 > Digital: > Digital category: 0x0 > PCM: > rates [0xc0]: 48000 88200 > bits [0xf]: 8 16 20 24 > formats [0x1]: PCM > Node 0x05 [Pin Complex] wcaps 0x400381: Stereo Digital > Pincap 0x00000014: OUT Detect > Pin Default 0x18560110: [Jack] Digital Out at Int HDMI > Conn = Digital, Color = Unknown > DefAssociation = 0x1, Sequence = 0x0 > Misc = NO_PRESENCE > Pin-ctls: 0x40: OUT > Unsolicited: tag=00, enabled=0 > Connection: 1 > 0x04 > Node 0x06 [Audio Output] wcaps 0x211: Stereo Digital > Converter: stream=0, channel=0 > Digital: > Digital category: 0x0 > PCM: > rates [0xc0]: 48000 88200 > bits [0xf]: 8 16 20 24 > formats [0x1]: PCM > Node 0x07 [Pin Complex] wcaps 0x400381: Stereo Digital > Pincap 0x00000014: OUT Detect > Pin Default 0x58560121: [N/A] Digital Out at Int HDMI > Conn = Digital, Color = Unknown > DefAssociation = 0x2, Sequence = 0x1 > Misc = NO_PRESENCE > Pin-ctls: 0x00: > Unsolicited: tag=00, enabled=0 > Connection: 1 > 0x06 > Node 0x08 [Audio Output] wcaps 0x211: Stereo Digital > Converter: stream=0, channel=0 > Digital: > Digital category: 0x0 > PCM: > rates [0xc0]: 48000 88200 > bits [0xf]: 8 16 20 24 > formats [0x1]: PCM > Node 0x09 [Pin Complex] wcaps 0x400381: Stereo Digital > Pincap 0x00000014: OUT Detect > Pin Default 0x58560122: [N/A] Digital Out at Int HDMI > Conn = Digital, Color = Unknown > DefAssociation = 0x2, Sequence = 0x2 > Misc = NO_PRESENCE > Pin-ctls: 0x00: > Unsolicited: tag=00, enabled=0 > Connection: 1 > 0x08 > Node 0x0a [Audio Output] wcaps 0x211: Stereo Digital > Converter: stream=0, channel=0 > Digital: > Digital category: 0x0 > PCM: > rates [0xc0]: 48000 88200 > bits [0xf]: 8 16 20 24 > formats [0x1]: PCM > Node 0x0b [Pin Complex] wcaps 0x400381: Stereo Digital > Pincap 0x00000014: OUT Detect > Pin Default 0x58560123: [N/A] Digital Out at Int HDMI > Conn = Digital, Color = Unknown > DefAssociation = 0x2, Sequence = 0x3 > Misc = NO_PRESENCE > Pin-ctls: 0x00: > Unsolicited: tag=00, enabled=0 > Connection: 1 > 0x0a > Node 0x0c [Audio Output] wcaps 0x211: Stereo Digital > Converter: stream=0, channel=0 > Digital: > Digital category: 0x0 > PCM: > rates [0xc0]: 48000 88200 > bits [0xf]: 8 16 20 24 > formats [0x1]: PCM > Node 0x0d [Pin Complex] wcaps 0x400381: Stereo Digital > Pincap 0x00000014: OUT Detect > Pin Default 0x58560124: [N/A] Digital Out at Int HDMI > Conn = Digital, Color = Unknown > DefAssociation = 0x2, Sequence = 0x4 > Misc = NO_PRESENCE > Pin-ctls: 0x00: > Unsolicited: tag=00, enabled=0 > Connection: 1 > 0x0c > --endcollapse-- > > > !!ALSA Device nodes > !!----------------- > > crw-rw----+ 1 root audio 116, 0 Feb 17 12:44 /dev/snd/controlC0 > crw-rw----+ 1 root audio 116, 4 Feb 17 12:44 /dev/snd/hwC0D0 > crw-rw----+ 1 root audio 116, 7 Feb 17 12:44 /dev/snd/hwC0D3 > crw-rw----+ 1 root audio 116, 24 Feb 17 12:45 /dev/snd/pcmC0D0c > crw-rw----+ 1 root audio 116, 16 Feb 17 12:46 /dev/snd/pcmC0D0p > crw-rw----+ 1 root audio 116, 19 Feb 17 12:44 /dev/snd/pcmC0D3p > crw-rw----+ 1 root audio 116, 1 Feb 17 12:44 /dev/snd/seq > crw-rw----+ 1 root audio 116, 33 Feb 17 12:44 /dev/snd/timer > > > !!Aplay/Arecord output > !!------------ > > APLAY > > **** List of PLAYBACK Hardware Devices **** > card 0: NVidia [HDA NVidia], device 0: STAC92xx Analog [STAC92xx Analog] > Subdevices: 1/1 > Subdevice #0: subdevice #0 > card 0: NVidia [HDA NVidia], device 3: NVIDIA HDMI [NVIDIA HDMI] > Subdevices: 1/1 > Subdevice #0: subdevice #0 > > ARECORD > > **** List of CAPTURE Hardware Devices **** > card 0: NVidia [HDA NVidia], device 0: STAC92xx Analog [STAC92xx Analog] > Subdevices: 2/2 > Subdevice #0: subdevice #0 > Subdevice #1: subdevice #1 > > !!Amixer output > !!------------- > > !!-------Mixer controls for card 0 [NVidia] > > Card hw:0 'NVidia'/'HDA NVidia at 0xf0980000 irq 17' > Mixer name : 'Nvidia MCP7A HDMI' > Components : 'HDA:111d7604,102802ba,00100302 HDA:10de0007,102802ba,00100100' > Controls : 37 > Simple ctrls : 22 > Simple mixer control 'Master',0 > Capabilities: pvolume pvolume-joined pswitch pswitch-joined > Playback channels: Mono > Limits: Playback 0 - 64 > Mono: Playback 59 [92%] [-3.75dB] [on] > Simple mixer control 'Headphone as Line Out',0 > Capabilities: pswitch pswitch-joined > Playback channels: Mono > Mono: Playback [off] > Simple mixer control 'PCM',0 > Capabilities: pvolume > Playback channels: Front Left - Front Right > Limits: Playback 0 - 255 > Mono: > Front Left: Playback 255 [100%] [0.00dB] > Front Right: Playback 255 [100%] [0.00dB] > Simple mixer control 'Front',0 > Capabilities: pvolume pswitch > Playback channels: Front Left - Front Right > Limits: Playback 0 - 64 > Mono: > Front Left: Playback 61 [95%] [-2.25dB] [on] > Front Right: Playback 61 [95%] [-2.25dB] [on] > Simple mixer control 'Front Mic',0 > Capabilities: cvolume cswitch > Capture channels: Front Left - Front Right > Limits: Capture 0 - 31 > Front Left: Capture 23 [74%] [0.00dB] [off] > Front Right: Capture 23 [74%] [0.00dB] [off] > Simple mixer control 'Surround',0 > Capabilities: pvolume pswitch > Playback channels: Front Left - Front Right > Limits: Playback 0 - 64 > Mono: > Front Left: Playback 64 [100%] [0.00dB] [on] > Front Right: Playback 64 [100%] [0.00dB] [on] > Simple mixer control 'Center',0 > Capabilities: pvolume pvolume-joined pswitch pswitch-joined > Playback channels: Mono > Limits: Playback 0 - 64 > Mono: Playback 64 [100%] [0.00dB] [off] > Simple mixer control 'LFE',0 > Capabilities: pvolume pvolume-joined pswitch pswitch-joined > Playback channels: Mono > Limits: Playback 0 - 64 > Mono: Playback 64 [100%] [0.00dB] [off] > Simple mixer control 'Line In',0 > Capabilities: cvolume cswitch > Capture channels: Front Left - Front Right > Limits: Capture 0 - 31 > Front Left: Capture 23 [74%] [0.00dB] [off] > Front Right: Capture 23 [74%] [0.00dB] [off] > Simple mixer control 'Line In as Output',0 > Capabilities: pswitch pswitch-joined > Playback channels: Mono > Mono: Playback [off] > Simple mixer control 'Mic as Output',0 > Capabilities: pswitch pswitch-joined > Playback channels: Mono > Mono: Playback [off] > Simple mixer control 'IEC958',0 > Capabilities: pswitch pswitch-joined > Playback channels: Mono > Mono: Playback [off] > Simple mixer control 'Mono Mux',0 > Capabilities: enum > Items: 'DAC0' 'DAC1' 'Mixer' 'DAC2' > Item0: 'DAC0' > Simple mixer control 'Capture',0 > Capabilities: cvolume cswitch > Capture channels: Front Left - Front Right > Limits: Capture 0 - 15 > Front Left: Capture 0 [0%] [0.00dB] [off] > Front Right: Capture 0 [0%] [0.00dB] [off] > Simple mixer control 'Capture',1 > Capabilities: cvolume cswitch > Capture channels: Front Left - Front Right > Limits: Capture 0 - 15 > Front Left: Capture 0 [0%] [0.00dB] [off] > Front Right: Capture 0 [0%] [0.00dB] [off] > Simple mixer control 'Amp',0 > Capabilities: cvolume > Capture channels: Front Left - Front Right > Limits: Capture 0 - 3 > Front Left: Capture 0 [0%] [0.00dB] > Front Right: Capture 0 [0%] [0.00dB] > Simple mixer control 'DAC0',0 > Capabilities: cvolume cswitch > Capture channels: Front Left - Front Right > Limits: Capture 0 - 31 > Front Left: Capture 23 [74%] [0.00dB] [off] > Front Right: Capture 23 [74%] [0.00dB] [off] > Simple mixer control 'DAC1',0 > Capabilities: cvolume cswitch > Capture channels: Front Left - Front Right > Limits: Capture 0 - 31 > Front Left: Capture 23 [74%] [0.00dB] [off] > Front Right: Capture 23 [74%] [0.00dB] [off] > Simple mixer control 'Digital Input Source',0 > Capabilities: enum > Items: 'Analog Inputs' 'Digital Mic 1' 'Digital Mic 2' > Item0: 'Digital Mic 1' > Simple mixer control 'Digital Input Source',1 > Capabilities: enum > Items: 'Analog Inputs' 'Digital Mic 1' 'Digital Mic 2' > Item0: 'Analog Inputs' > Simple mixer control 'PC Beep',0 > Capabilities: pvolume pvolume-joined pswitch pswitch-joined > Playback channels: Mono > Limits: Playback 0 - 3 > Mono: Playback 1 [33%] [-12.00dB] [off] > Simple mixer control 'Swap Center/LFE',0 > Capabilities: pswitch pswitch-joined > Playback channels: Mono > Mono: Playback [off] > > > !!Alsactl output > !!------------- > > --startcollapse-- > state.NVidia { > control.1 { > comment.access 'read write' > comment.type INTEGER > comment.count 2 > comment.range '0 - 15' > comment.dbmin 0 > comment.dbmax 2250 > iface MIXER > name 'Capture Volume' > value.0 0 > value.1 0 > } > control.2 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 2 > iface MIXER > name 'Capture Switch' > value.0 false > value.1 false > } > control.3 { > comment.access 'read write' > comment.type INTEGER > comment.count 2 > comment.range '0 - 15' > comment.dbmin 0 > comment.dbmax 2250 > iface MIXER > name 'Capture Volume' > index 1 > value.0 0 > value.1 0 > } > control.4 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 2 > iface MIXER > name 'Capture Switch' > index 1 > value.0 false > value.1 false > } > control.5 { > comment.access 'read write' > comment.type INTEGER > comment.count 2 > comment.range '0 - 31' > comment.dbmin -3450 > comment.dbmax 1200 > iface MIXER > name 'DAC0 Capture Volume' > value.0 23 > value.1 23 > } > control.6 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 2 > iface MIXER > name 'DAC0 Capture Switch' > value.0 false > value.1 false > } > control.7 { > comment.access 'read write' > comment.type INTEGER > comment.count 2 > comment.range '0 - 31' > comment.dbmin -3450 > comment.dbmax 1200 > iface MIXER > name 'DAC1 Capture Volume' > value.0 23 > value.1 23 > } > control.8 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 2 > iface MIXER > name 'DAC1 Capture Switch' > value.0 false > value.1 false > } > control.9 { > comment.access 'read write' > comment.type INTEGER > comment.count 2 > comment.range '0 - 31' > comment.dbmin -3450 > comment.dbmax 1200 > iface MIXER > name 'Front Mic Capture Volume' > value.0 23 > value.1 23 > } > control.10 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 2 > iface MIXER > name 'Front Mic Capture Switch' > value.0 false > value.1 false > } > control.11 { > comment.access 'read write' > comment.type INTEGER > comment.count 2 > comment.range '0 - 31' > comment.dbmin -3450 > comment.dbmax 1200 > iface MIXER > name 'Line In Capture Volume' > value.0 23 > value.1 23 > } > control.12 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 2 > iface MIXER > name 'Line In Capture Switch' > value.0 false > value.1 false > } > control.13 { > comment.access 'read write' > comment.type INTEGER > comment.count 2 > comment.range '0 - 64' > comment.dbmin -4800 > comment.dbmax 0 > iface MIXER > name 'Front Playback Volume' > value.0 61 > value.1 61 > } > control.14 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 2 > iface MIXER > name 'Front Playback Switch' > value.0 true > value.1 true > } > control.15 { > comment.access 'read write' > comment.type INTEGER > comment.count 2 > comment.range '0 - 64' > comment.dbmin -4800 > comment.dbmax 0 > iface MIXER > name 'Surround Playback Volume' > value.0 64 > value.1 64 > } > control.16 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 2 > iface MIXER > name 'Surround Playback Switch' > value.0 true > value.1 true > } > control.17 { > comment.access 'read write' > comment.type INTEGER > comment.count 1 > comment.range '0 - 64' > comment.dbmin -4800 > comment.dbmax 0 > iface MIXER > name 'Center Playback Volume' > value 64 > } > control.18 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 1 > iface MIXER > name 'Center Playback Switch' > value false > } > control.19 { > comment.access 'read write' > comment.type INTEGER > comment.count 1 > comment.range '0 - 64' > comment.dbmin -4800 > comment.dbmax 0 > iface MIXER > name 'LFE Playback Volume' > value 64 > } > control.20 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 1 > iface MIXER > name 'LFE Playback Switch' > value false > } > control.21 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 1 > iface MIXER > name 'Swap Center/LFE Playback Switch' > value false > } > control.22 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 1 > iface MIXER > name 'Headphone as Line Out Switch' > value false > } > control.23 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 1 > iface MIXER > name 'Line In as Output Switch' > value false > } > control.24 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 1 > iface MIXER > name 'Mic as Output Switch' > value false > } > control.25 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 1 > iface MIXER > name 'PC Beep Playback Switch' > value false > } > control.26 { > comment.access 'read write' > comment.type INTEGER > comment.count 1 > comment.range '0 - 3' > comment.dbmin -1800 > comment.dbmax 0 > iface MIXER > name 'PC Beep Playback Volume' > value 1 > } > control.27 { > comment.access 'read write' > comment.type ENUMERATED > comment.count 1 > comment.item.0 DAC0 > comment.item.1 DAC1 > comment.item.2 Mixer > comment.item.3 DAC2 > iface MIXER > name 'Mono Mux' > value DAC0 > } > control.28 { > comment.access 'read write' > comment.type INTEGER > comment.count 2 > comment.range '0 - 3' > comment.dbmin 0 > comment.dbmax 3000 > iface MIXER > name 'Amp Capture Volume' > value.0 0 > value.1 0 > } > control.29 { > comment.access 'read write' > comment.type ENUMERATED > comment.count 1 > comment.item.0 'Analog Inputs' > comment.item.1 'Digital Mic 1' > comment.item.2 'Digital Mic 2' > iface MIXER > name 'Digital Input Source' > value 'Digital Mic 1' > } > control.30 { > comment.access 'read write' > comment.type ENUMERATED > comment.count 1 > comment.item.0 'Analog Inputs' > comment.item.1 'Digital Mic 1' > comment.item.2 'Digital Mic 2' > iface MIXER > name 'Digital Input Source' > index 1 > value 'Analog Inputs' > } > control.31 { > comment.access 'read write' > comment.type INTEGER > comment.count 1 > comment.range '0 - 64' > comment.dbmin -4800 > comment.dbmax 0 > iface MIXER > name 'Master Playback Volume' > value 59 > } > control.32 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 1 > iface MIXER > name 'Master Playback Switch' > value true > } > control.33 { > comment.access read > comment.type IEC958 > comment.count 1 > iface MIXER > name 'IEC958 Playback Con Mask' > value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' > } > control.34 { > comment.access read > comment.type IEC958 > comment.count 1 > iface MIXER > name 'IEC958 Playback Pro Mask' > value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' > } > control.35 { > comment.access 'read write' > comment.type IEC958 > comment.count 1 > iface MIXER > name 'IEC958 Playback Default' > value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' > } > control.36 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 1 > iface MIXER > name 'IEC958 Playback Switch' > value false > } > control.37 { > comment.access 'read write user' > comment.type INTEGER > comment.count 2 > comment.range '0 - 255' > comment.tlv '0000000100000008ffffec1400000014' > comment.dbmin -5100 > comment.dbmax 0 > iface MIXER > name 'PCM Playback Volume' > value.0 255 > value.1 255 > } > } > --endcollapse-- > > > !!All Loaded Modules > !!------------------ > > Module > binfmt_misc > bridge > stp > bnep > video > output > input_polldev > ppdev > parport_pc > lp > parport > snd_hda_codec_nvhdmi > joydev > snd_hda_codec_idt > snd_hda_intel > snd_hda_codec > snd_hwdep > snd_pcm_oss > snd_mixer_oss > snd_pcm > snd_seq_dummy > snd_seq_oss > psmouse > nvidia > pcspkr > dcdbas > serio_raw > snd_seq_midi > agpgart > snd_rawmidi > ieee80211_crypt_tkip > snd_seq_midi_event > wl > ieee80211_crypt > snd_seq > shpchp > uvcvideo > compat_ioctl32 > snd_timer > snd_seq_device > videodev > v4l1_compat > snd > soundcore > snd_page_alloc > ohci1394 > ieee1394 > r8169 > mii > ehci_hcd > ohci_hcd > fbcon > tileblit > font > bitblit > softcursor > fuse > > > [2 OpenPGP digital signature <application/pgp-signature (7bit)>] > ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] hda: Add logic to force HP mixer creation 2009-02-17 18:28 ` Takashi Iwai @ 2009-02-17 19:27 ` Mario Limonciello 2009-02-17 20:42 ` Matthew Ranostay 2009-02-17 20:44 ` Takashi Iwai 0 siblings, 2 replies; 11+ messages in thread From: Mario Limonciello @ 2009-02-17 19:27 UTC (permalink / raw) To: Takashi Iwai; +Cc: alsa-devel, Matthew Ranostay [-- Attachment #1.1: Type: text/plain, Size: 2348 bytes --] Hi Takashi: Takashi Iwai wrote: > If "Surround" doesn't do anything, why should it be there? > And, does "Headphone" change both headphones even with 4 or 6 ch outputs > properly? Doesn't "Headhpone" change any other output volumes? > I found what the surround mixer is being used for. If "Mic as Output" is turned on, "Surround" acts as the mixer to control that jack. The Headphone mixer changes both of the regular headphone jack's volumes. Changing the "Headphone" volume doesn't affect the speaker outputs at all, only the two headphone jacks. > The patch introduces another exception, and now nobody would understand > how the channels and outputs and mixers are assigned together. > Two points: 1) I'm not sure this is as much of a problem as you raise. I don't believe many people even know how the channels and mixers are assigned in the first place. I see plenty of support requests for "why doesn't this second headphone jack work with headphones". I've never seen one of "I can't hook up my 7.1 surround system to my consumer grade laptop and have all of my speakers work". These machines come with DisplayPort and HDMI ports which people will generally be using for hooking up to their television sets. I seem to think it's not very common to use the analogue jacks to independently hook up pairs of speakers assigned to say Front or Surround. 2) You are still able to hook up a separate set of speakers to the mic output jack and since those are assigned surround have things work as expected. > > Hm, I thought I did. Which patch exactly? > > The patch title was [PATCH] hda: Add STA_DELL_S14 quirk. Here's the starting part of it: Add STAC_DELL_S14 quirk for new laptop series. Removed un-needed pins in pin_nids for stac92hd83xxx. Also reorganized connection selection code for the respective ports per quirk define. --- sound/pci/hda/patch_sigmatel.c <imap://mario_limonciello@outlook.dell.com:143/fetch%3EUID%3E/INBOX%3E13699#sound/pci/hda/patch_sigmatel.c> | 52 +++++++++++++++++++++++++++------------- 1 files changed, 35 insertions(+), 17 deletions(-) You responded to the mail saying it was applied, but I seem to not be able to find it in current ALSA git. Regards -- Mario Limonciello *Dell | Linux Engineering* mario_limonciello@dell.com [-- Attachment #1.2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 260 bytes --] [-- Attachment #2: Type: text/plain, Size: 160 bytes --] _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] hda: Add logic to force HP mixer creation 2009-02-17 19:27 ` Mario Limonciello @ 2009-02-17 20:42 ` Matthew Ranostay 2009-02-17 20:44 ` Takashi Iwai 1 sibling, 0 replies; 11+ messages in thread From: Matthew Ranostay @ 2009-02-17 20:42 UTC (permalink / raw) To: Mario Limonciello; +Cc: Takashi Iwai, alsa-devel Mario Limonciello wrote: > Hi Takashi: > > Takashi Iwai wrote: >> If "Surround" doesn't do anything, why should it be there? >> And, does "Headphone" change both headphones even with 4 or 6 ch outputs >> properly? Doesn't "Headhpone" change any other output volumes? >> > I found what the surround mixer is being used for. If "Mic as Output" is > turned on, "Surround" acts as the mixer to control that jack. > Correct. The the reason the headphone mixer isn't created without my patch is the "mic as output" and "line in as output" switches. > The Headphone mixer changes both of the regular headphone jack's > volumes. Changing the "Headphone" volume doesn't affect the speaker > outputs at all, only the two headphone jacks. >> The patch introduces another exception, and now nobody would understand >> how the channels and outputs and mixers are assigned together. >> > Two points: > 1) I'm not sure this is as much of a problem as you raise. I don't > believe many people even know how the channels and mixers are assigned > in the first place. I see plenty of support requests for "why doesn't > this second headphone jack work with headphones". I've never seen one of > "I can't hook up my 7.1 surround system to my consumer grade laptop and > have all of my speakers work". These machines come with DisplayPort and > HDMI ports which people will generally be using for hooking up to their > television sets. I seem to think it's not very common to use the > analogue jacks to independently hook up pairs of speakers assigned to > say Front or Surround. > 2) You are still able to hook up a separate set of speakers to the mic > output jack and since those are assigned surround have things work as > expected. > >> Hm, I thought I did. Which patch exactly? >> >> > The patch title was [PATCH] hda: Add STA_DELL_S14 quirk. Here's the > starting part of it: > > Add STAC_DELL_S14 quirk for new laptop series. Removed un-needed pins in pin_nids > for stac92hd83xxx. Also reorganized connection selection code for the respective ports > per quirk define. > > --- > sound/pci/hda/patch_sigmatel.c <imap://mario_limonciello@outlook.dell.com:143/fetch%3EUID%3E/INBOX%3E13699#sound/pci/hda/patch_sigmatel.c> | 52 +++++++++++++++++++++++++++------------- > > > 1 files changed, 35 insertions(+), 17 deletions(-) > > > You responded to the mail saying it was applied, but I seem to not be > able to find it in current ALSA git. > > Regards ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] hda: Add logic to force HP mixer creation 2009-02-17 19:27 ` Mario Limonciello 2009-02-17 20:42 ` Matthew Ranostay @ 2009-02-17 20:44 ` Takashi Iwai 2009-02-17 21:06 ` Mario Limonciello 1 sibling, 1 reply; 11+ messages in thread From: Takashi Iwai @ 2009-02-17 20:44 UTC (permalink / raw) To: Mario Limonciello; +Cc: alsa-devel, Matthew Ranostay At Tue, 17 Feb 2009 13:27:12 -0600, Mario Limonciello wrote: > > Hi Takashi: > > Takashi Iwai wrote: > > If "Surround" doesn't do anything, why should it be there? > And, does "Headphone" change both headphones even with 4 or 6 ch outputs > properly? Doesn't "Headhpone" change any other output volumes? > > I found what the surround mixer is being used for. If "Mic as Output" is > turned on, "Surround" acts as the mixer to control that jack. Ah, OK, then the mic jack is connected to the surround DAC. But don't you have Center and LFE? > The Headphone mixer changes both of the regular headphone jack's volumes. > Changing the "Headphone" volume doesn't affect the speaker outputs at all, > only the two headphone jacks. And any control of speaker volume? > The patch introduces another exception, and now nobody would understand > how the channels and outputs and mixers are assigned together. > > Two points: > 1) I'm not sure this is as much of a problem as you raise. I don't believe > many people even know how the channels and mixers are assigned in the first > place. I see plenty of support requests for "why doesn't this second > headphone jack work with headphones". Exactly this is why I complained. The current code is already way too complex and you have no idea how the I/O jacks are connected to which channel. Now you add another flag. That seems to shift the DAC index by some reason. And, make the first one as "Headphone" by some reason. But what reason is it exactly? My inner voice says that something gets wrong now. The time to clean up, make things straight than adding another short-cut. > I've never seen one of "I can't hook up > my 7.1 surround system to my consumer grade laptop and have all of my speakers > work". And exactly this is another point why I feel the necessity of cleanup. If the feature isn't needed, we should get rid of it. Or, implement in a better form. > These machines come with DisplayPort and HDMI ports which people will > generally be using for hooking up to their television sets. I seem to think > it's not very common to use the analogue jacks to independently hook up pairs > of speakers assigned to say Front or Surround. > 2) You are still able to hook up a separate set of speakers to the mic output > jack and since those are assigned surround have things work as expected. One more another problem is that this setup thingy isn't described at all, or pretty hard to guess from the mixer control. There are knobs, but you don't know the combination. > Hm, I thought I did. Which patch exactly? > > The patch title was [PATCH] hda: Add STA_DELL_S14 quirk. Here's the starting > part of it: > > Add STAC_DELL_S14 quirk for new laptop series. Removed un-needed pins in pin_nids > for stac92hd83xxx. Also reorganized connection selection code for the respective ports > per quirk define. This must be included. Check commit 8bb0ac5573ff0879fef511e1a80a4a4db0316daa in sound git tree. thanks, Takashi > --- > sound/pci/hda/patch_sigmatel.c | 52 +++++++++++++++++++++++++++------------- > > 1 files changed, 35 insertions(+), 17 deletions(-) > > You responded to the mail saying it was applied, but I seem to not be able to > find it in current ALSA git. > > Regards > -- > Mario Limonciello > Dell | Linux Engineering > mario_limonciello@dell.com > > > [2 OpenPGP digital signature <application/pgp-signature (7bit)>] > ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] hda: Add logic to force HP mixer creation 2009-02-17 20:44 ` Takashi Iwai @ 2009-02-17 21:06 ` Mario Limonciello 2009-02-18 6:43 ` Takashi Iwai 0 siblings, 1 reply; 11+ messages in thread From: Mario Limonciello @ 2009-02-17 21:06 UTC (permalink / raw) To: Takashi Iwai; +Cc: alsa-devel, Matthew Ranostay [-- Attachment #1.1: Type: text/plain, Size: 2189 bytes --] Hi Takashi: Takashi Iwai wrote: > At Tue, 17 Feb 2009 13:27:12 -0600, > Mario Limonciello wrote: > > > Ah, OK, then the mic jack is connected to the surround DAC. > But don't you have Center and LFE? > There aren't mixers for Center or LFE at all. Again going back to my feelings about mixer names, for the purposes of a laptop I think providing a knob called Center or another called LFE just adds to the confusion. > And any control of speaker volume? > Speaker volume is handled by the combination of Master, PCM, and Front mixers. The headphone mixer has no bearing on the volume of the speakers. > > And exactly this is another point why I feel the necessity of > cleanup. If the feature isn't needed, we should get rid of it. Or, > implement in a better form. > If I was to put a vote towards this, I think attempting to support 6 channel analog in the mobile space is a feature that needs to go. It causes confusion and complicates the code. > One more another problem is that this setup thingy isn't described > at all, or pretty hard to guess from the mixer control. There are > knobs, but you don't know the combination. > I think knobs, switches, do-hickeys, etc are great to have when they serve an explicit purpose. I look at the mixers being presented to me, and I've no idea what "Mono Mux" is there for, or why I've got several "Digital Input Source" areas. > This must be included. Check commit > 8bb0ac5573ff0879fef511e1a80a4a4db0316daa > in sound git tree. > I suppose i've got some confusion for when these commits are showing up on http://git.alsa-project.org/?p=alsa-kernel.git;a=history;f=sound/pci/hda/patch_sigmatel.c;h=3c84817ccd2e0d4bd1eee4f2882047ae84165e10;hb=HEAD My understanding was that the tree alsa-kernel tree was merged into the alsa-driver and alsa-kmirror trees on a regular basis. I have been operating off of web snapshots of alsa-driver from http://www.alsa-project.org/snapshot/ since I can't do GIT internally here, but I'm not seeing the patch show up in alsa-driver there. Regards -- Mario Limonciello *Dell | Linux Engineering* mario_limonciello@dell.com [-- Attachment #1.2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 260 bytes --] [-- Attachment #2: Type: text/plain, Size: 160 bytes --] _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] hda: Add logic to force HP mixer creation 2009-02-17 21:06 ` Mario Limonciello @ 2009-02-18 6:43 ` Takashi Iwai 0 siblings, 0 replies; 11+ messages in thread From: Takashi Iwai @ 2009-02-18 6:43 UTC (permalink / raw) To: Mario Limonciello; +Cc: alsa-devel, Matthew Ranostay At Tue, 17 Feb 2009 15:06:38 -0600, Mario Limonciello wrote: > > Hi Takashi: > > Takashi Iwai wrote: > > At Tue, 17 Feb 2009 13:27:12 -0600, > Mario Limonciello wrote: > > Ah, OK, then the mic jack is connected to the surround DAC. > But don't you have Center and LFE? > > There aren't mixers for Center or LFE at all. Again going back to my feelings > about mixer names, for the purposes of a laptop I think providing a knob > called Center or another called LFE just adds to the confusion. Right. Though, "Front", "Surround", "Center" and "LFE" are basically for logical channels, not the physical I/O volumes. So, their meanings don't conflict conceptually. However, in the case of laptop, the mapping between the channel and the phyiscal I/O is unclear, which causes confusion. > And any control of speaker volume? > > Speaker volume is handled by the combination of Master, PCM, and Front > mixers. The headphone mixer has no bearing on the volume of the speakers. OK, that's a good news at least. > And exactly this is another point why I feel the necessity of > cleanup. If the feature isn't needed, we should get rid of it. Or, > implement in a better form. > > If I was to put a vote towards this, I think attempting to support 6 channel > analog in the mobile space is a feature that needs to go. It causes confusion > and complicates the code. Yep. > One more another problem is that this setup thingy isn't described > at all, or pretty hard to guess from the mixer control. There are > knobs, but you don't know the combination. > > I think knobs, switches, do-hickeys, etc are great to have when they serve an > explicit purpose. I look at the mixers being presented to me, and I've no > idea what > > "Mono Mux" is there for, or why I've got several "Digital Input Source" > areas. This is another area that must be cleaned up, yes. > This must be included. Check commit > 8bb0ac5573ff0879fef511e1a80a4a4db0316daa > in sound git tree. > > I suppose i've got some confusion for when these commits are showing up on > http://git.alsa-project.org/?p=alsa-kernel.git;a=history;f=sound/pci/hda/ > patch_sigmatel.c;h=3c84817ccd2e0d4bd1eee4f2882047ae84165e10;hb=HEAD > My understanding was that the tree alsa-kernel tree was merged into the > alsa-driver and alsa-kmirror trees on a regular basis. I have been operating > off of web snapshots of alsa-driver from http://www.alsa-project.org/snapshot/ > since I can't do GIT internally here, but I'm not seeing the patch show up in > alsa-driver there. The tree I'm maintaining, sound git tree, is not on alsa-project.org. It's found on kernel.org, git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6.git and the snapshot tarball is ftp://ftp.kernel.org/pub/linux/kernel/people/tiwai/snapshot/alsa-driver-snapshot.tar.gz The above tree is used as a reference tree to the linux-next. Some other information is found in $LINUX/Documentation/sound/alsa/HD-Audio.txt in the recent kernel tree. thanks, Takashi ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2009-02-18 6:43 UTC | newest] Thread overview: 11+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2009-02-15 16:01 [PATCH] hda: Add logic to force HP mixer creation Matthew Ranostay 2009-02-16 9:08 ` Takashi Iwai 2009-02-16 23:34 ` Matthew Ranostay 2009-02-17 17:16 ` Takashi Iwai 2009-02-17 18:02 ` Mario Limonciello 2009-02-17 18:28 ` Takashi Iwai 2009-02-17 19:27 ` Mario Limonciello 2009-02-17 20:42 ` Matthew Ranostay 2009-02-17 20:44 ` Takashi Iwai 2009-02-17 21:06 ` Mario Limonciello 2009-02-18 6:43 ` Takashi Iwai
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.