[alsa-devel] Headphone Mic and PA
Takashi Iwai
tiwai at suse.de
Mon Oct 19 11:53:21 CEST 2015
Hi David,
I'm currently checking the bug report regarding PA, and this looks
like an issue with "Headphone Mic" jack control.
The reported problem is that PA doesn't react properly when both HP
and dock line-out jacks are plugged and line-out is unplugged. The
machine in question is Dell E7250, and I see that it has only
"Headphone Mic Jack" kctl without "Headphone Jack" kctl. Is this the
intentional behavior?
I see the code in hda_jack.c:
int snd_hda_jack_add_kctls(struct hda_codec *codec,
const struct auto_pin_cfg *cfg)
{
const hda_nid_t *p;
int i, err;
for (i = 0; i < cfg->num_inputs; i++) {
/* If we have headphone mics; make sure they get the right name
before grabbed by output pins */
if (cfg->inputs[i].is_headphone_mic) {
if (auto_cfg_hp_outs(cfg) == 1)
err = add_jack_kctl(codec, auto_cfg_hp_pins(cfg)[0],
cfg, "Headphone Mic");
else
err = add_jack_kctl(codec, cfg->inputs[i].pin,
cfg, "Headphone Mic");
} else
err = add_jack_kctl(codec, cfg->inputs[i].pin, cfg,
NULL);
So, the driver seems doing what it was written. Meanwhile, the
headphone mic comes from the quirk:
[ALC293_FIXUP_DELL1_MIC_NO_PRESENCE] = {
.type = HDA_FIXUP_PINS,
.v.pins = (const struct hda_pintbl[]) {
{ 0x18, 0x01a1913d }, /* use as headphone mic, without its own jack detect */
{ 0x1a, 0x01a1913c }, /* use as headset mic, without its own jack detect */
{ }
},
.chained = true,
.chain_id = ALC269_FIXUP_HEADSET_MODE
},
and this appears as if it were supposed to be a phantom jack.
The alsa-info output is found in the bugzilla
https://bugzilla.suse.com/show_bug.cgi?id=948979
thanks,
Takashi
More information about the Alsa-devel
mailing list