* [PATCH] ALSA: hda - Remove ignore_misc_bit @ 2012-09-07 5:25 David Henningsson 2012-09-07 10:01 ` Takashi Iwai 2012-09-08 1:10 ` Raymond Yau 0 siblings, 2 replies; 22+ messages in thread From: David Henningsson @ 2012-09-07 5:25 UTC (permalink / raw) To: alsa-devel, tiwai; +Cc: 939161, David Henningsson The purpose of this flag is unclear. If the problem is that some machines have broken misc/NO_PRESENCE bits, they should be fixed by pin fixups. In addition, this causes jack detection functionality to be flawed on the M31EI, where there are two jacks without jack detection (which is properly marked as NO_PRESENCE), but due to ignore_misc_bit, these jacks are instead being reported as being present but always unplugged. BugLink: https://bugs.launchpad.net/bugs/939161 Signed-off-by: David Henningsson <david.henningsson@canonical.com> --- sound/pci/hda/hda_auto_parser.c | 4 ---- sound/pci/hda/hda_codec.h | 1 - sound/pci/hda/hda_jack.c | 5 ++--- 3 files changed, 2 insertions(+), 8 deletions(-) diff --git a/sound/pci/hda/hda_auto_parser.c b/sound/pci/hda/hda_auto_parser.c index 4f7d2df..9acd5a9 100644 --- a/sound/pci/hda/hda_auto_parser.c +++ b/sound/pci/hda/hda_auto_parser.c @@ -141,7 +141,6 @@ int snd_hda_parse_pin_defcfg(struct hda_codec *codec, memset(sequences_hp, 0, sizeof(sequences_hp)); assoc_line_out = 0; - codec->ignore_misc_bit = true; end_nid = codec->start_nid + codec->num_nodes; for (nid = codec->start_nid; nid < end_nid; nid++) { unsigned int wid_caps = get_wcaps(codec, nid); @@ -157,9 +156,6 @@ int snd_hda_parse_pin_defcfg(struct hda_codec *codec, continue; def_conf = snd_hda_codec_get_pincfg(codec, nid); - if (!(get_defcfg_misc(snd_hda_codec_get_pincfg(codec, nid)) & - AC_DEFCFG_MISC_NO_PRESENCE)) - codec->ignore_misc_bit = false; conn = get_defcfg_connect(def_conf); if (conn == AC_JACK_PORT_NONE) continue; diff --git a/sound/pci/hda/hda_codec.h b/sound/pci/hda/hda_codec.h index 8fd9f63..ee4ae8e 100644 --- a/sound/pci/hda/hda_codec.h +++ b/sound/pci/hda/hda_codec.h @@ -861,7 +861,6 @@ struct hda_codec { unsigned int no_sticky_stream:1; /* no sticky-PCM stream assignment */ unsigned int pins_shutup:1; /* pins are shut up */ unsigned int no_trigger_sense:1; /* don't trigger at pin-sensing */ - unsigned int ignore_misc_bit:1; /* ignore MISC_NO_PRESENCE bit */ unsigned int no_jack_detect:1; /* Machine has no jack-detection */ unsigned int pcm_format_first:1; /* PCM format must be set first */ unsigned int epss:1; /* supporting EPSS? */ diff --git a/sound/pci/hda/hda_jack.c b/sound/pci/hda/hda_jack.c index aaccc02..c9333c9 100644 --- a/sound/pci/hda/hda_jack.c +++ b/sound/pci/hda/hda_jack.c @@ -26,9 +26,8 @@ bool is_jack_detectable(struct hda_codec *codec, hda_nid_t nid) return false; if (!(snd_hda_query_pin_caps(codec, nid) & AC_PINCAP_PRES_DETECT)) return false; - if (!codec->ignore_misc_bit && - (get_defcfg_misc(snd_hda_codec_get_pincfg(codec, nid)) & - AC_DEFCFG_MISC_NO_PRESENCE)) + if (get_defcfg_misc(snd_hda_codec_get_pincfg(codec, nid)) & + AC_DEFCFG_MISC_NO_PRESENCE) return false; if (!(get_wcaps(codec, nid) & AC_WCAP_UNSOL_CAP)) return false; -- 1.7.9.5 ^ permalink raw reply related [flat|nested] 22+ messages in thread
* Re: [PATCH] ALSA: hda - Remove ignore_misc_bit 2012-09-07 5:25 [PATCH] ALSA: hda - Remove ignore_misc_bit David Henningsson @ 2012-09-07 10:01 ` Takashi Iwai 2012-09-07 11:26 ` David Henningsson 2012-09-08 1:10 ` Raymond Yau 1 sibling, 1 reply; 22+ messages in thread From: Takashi Iwai @ 2012-09-07 10:01 UTC (permalink / raw) To: David Henningsson; +Cc: alsa-devel, 939161 At Fri, 7 Sep 2012 07:25:44 +0200, David Henningsson wrote: > > The purpose of this flag is unclear. If the problem is that some machines > have broken misc/NO_PRESENCE bits, they should be fixed by pin fixups. > > In addition, this causes jack detection functionality to be flawed on > the M31EI, where there are two jacks without jack detection (which is > properly marked as NO_PRESENCE), but due to ignore_misc_bit, these > jacks are instead being reported as being present but always unplugged. > > BugLink: https://bugs.launchpad.net/bugs/939161 > Signed-off-by: David Henningsson <david.henningsson@canonical.com> So this will fix this one case but will break some others certainly. It's a difficult to judge, but more removal is better, so I'll take this. But I still wonder why PulseAudio cares the headphone jack state even though this has only one output at all? Takashi > --- > sound/pci/hda/hda_auto_parser.c | 4 ---- > sound/pci/hda/hda_codec.h | 1 - > sound/pci/hda/hda_jack.c | 5 ++--- > 3 files changed, 2 insertions(+), 8 deletions(-) > > diff --git a/sound/pci/hda/hda_auto_parser.c b/sound/pci/hda/hda_auto_parser.c > index 4f7d2df..9acd5a9 100644 > --- a/sound/pci/hda/hda_auto_parser.c > +++ b/sound/pci/hda/hda_auto_parser.c > @@ -141,7 +141,6 @@ int snd_hda_parse_pin_defcfg(struct hda_codec *codec, > memset(sequences_hp, 0, sizeof(sequences_hp)); > assoc_line_out = 0; > > - codec->ignore_misc_bit = true; > end_nid = codec->start_nid + codec->num_nodes; > for (nid = codec->start_nid; nid < end_nid; nid++) { > unsigned int wid_caps = get_wcaps(codec, nid); > @@ -157,9 +156,6 @@ int snd_hda_parse_pin_defcfg(struct hda_codec *codec, > continue; > > def_conf = snd_hda_codec_get_pincfg(codec, nid); > - if (!(get_defcfg_misc(snd_hda_codec_get_pincfg(codec, nid)) & > - AC_DEFCFG_MISC_NO_PRESENCE)) > - codec->ignore_misc_bit = false; > conn = get_defcfg_connect(def_conf); > if (conn == AC_JACK_PORT_NONE) > continue; > diff --git a/sound/pci/hda/hda_codec.h b/sound/pci/hda/hda_codec.h > index 8fd9f63..ee4ae8e 100644 > --- a/sound/pci/hda/hda_codec.h > +++ b/sound/pci/hda/hda_codec.h > @@ -861,7 +861,6 @@ struct hda_codec { > unsigned int no_sticky_stream:1; /* no sticky-PCM stream assignment */ > unsigned int pins_shutup:1; /* pins are shut up */ > unsigned int no_trigger_sense:1; /* don't trigger at pin-sensing */ > - unsigned int ignore_misc_bit:1; /* ignore MISC_NO_PRESENCE bit */ > unsigned int no_jack_detect:1; /* Machine has no jack-detection */ > unsigned int pcm_format_first:1; /* PCM format must be set first */ > unsigned int epss:1; /* supporting EPSS? */ > diff --git a/sound/pci/hda/hda_jack.c b/sound/pci/hda/hda_jack.c > index aaccc02..c9333c9 100644 > --- a/sound/pci/hda/hda_jack.c > +++ b/sound/pci/hda/hda_jack.c > @@ -26,9 +26,8 @@ bool is_jack_detectable(struct hda_codec *codec, hda_nid_t nid) > return false; > if (!(snd_hda_query_pin_caps(codec, nid) & AC_PINCAP_PRES_DETECT)) > return false; > - if (!codec->ignore_misc_bit && > - (get_defcfg_misc(snd_hda_codec_get_pincfg(codec, nid)) & > - AC_DEFCFG_MISC_NO_PRESENCE)) > + if (get_defcfg_misc(snd_hda_codec_get_pincfg(codec, nid)) & > + AC_DEFCFG_MISC_NO_PRESENCE) > return false; > if (!(get_wcaps(codec, nid) & AC_WCAP_UNSOL_CAP)) > return false; > -- > 1.7.9.5 > ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH] ALSA: hda - Remove ignore_misc_bit 2012-09-07 10:01 ` Takashi Iwai @ 2012-09-07 11:26 ` David Henningsson 2012-09-07 11:59 ` Takashi Iwai 0 siblings, 1 reply; 22+ messages in thread From: David Henningsson @ 2012-09-07 11:26 UTC (permalink / raw) To: Takashi Iwai; +Cc: alsa-devel, 939161 On 09/07/2012 12:01 PM, Takashi Iwai wrote: > At Fri, 7 Sep 2012 07:25:44 +0200, > David Henningsson wrote: >> >> The purpose of this flag is unclear. If the problem is that some machines >> have broken misc/NO_PRESENCE bits, they should be fixed by pin fixups. >> >> In addition, this causes jack detection functionality to be flawed on >> the M31EI, where there are two jacks without jack detection (which is >> properly marked as NO_PRESENCE), but due to ignore_misc_bit, these >> jacks are instead being reported as being present but always unplugged. >> >> BugLink: https://bugs.launchpad.net/bugs/939161 >> Signed-off-by: David Henningsson <david.henningsson@canonical.com> > > So this will fix this one case but will break some others certainly. > It's a difficult to judge, but more removal is better, so I'll take > this. Ok. Do you have a sense for how many machines that will regress due to this patch? If it is common to set all pins to the wrong value, maybe its the M31EI that is the exception. > But I still wonder why PulseAudio cares the headphone jack state even > though this has only one output at all? When seeing the system as a whole, there can be other outputs on other cards - HDMI, USB etc. If somebody e g plugs a USB headset in it will be simpler for the user if PulseAudio does not also show the unplugged 3.5 mm jack. -- David Henningsson, Canonical Ltd. https://launchpad.net/~diwic ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH] ALSA: hda - Remove ignore_misc_bit 2012-09-07 11:26 ` David Henningsson @ 2012-09-07 11:59 ` Takashi Iwai 2012-09-07 12:17 ` David Henningsson 0 siblings, 1 reply; 22+ messages in thread From: Takashi Iwai @ 2012-09-07 11:59 UTC (permalink / raw) To: David Henningsson; +Cc: alsa-devel, 939161 At Fri, 07 Sep 2012 13:26:35 +0200, David Henningsson wrote: > > On 09/07/2012 12:01 PM, Takashi Iwai wrote: > > At Fri, 7 Sep 2012 07:25:44 +0200, > > David Henningsson wrote: > >> > >> The purpose of this flag is unclear. If the problem is that some machines > >> have broken misc/NO_PRESENCE bits, they should be fixed by pin fixups. > >> > >> In addition, this causes jack detection functionality to be flawed on > >> the M31EI, where there are two jacks without jack detection (which is > >> properly marked as NO_PRESENCE), but due to ignore_misc_bit, these > >> jacks are instead being reported as being present but always unplugged. > >> > >> BugLink: https://bugs.launchpad.net/bugs/939161 > >> Signed-off-by: David Henningsson <david.henningsson@canonical.com> > > > > So this will fix this one case but will break some others certainly. > > It's a difficult to judge, but more removal is better, so I'll take > > this. > > Ok. Do you have a sense for how many machines that will regress due to > this patch? If it is common to set all pins to the wrong value, maybe > its the M31EI that is the exception. Maybe a few Acer and ASUS ones with old codecs. Possibly some desktops with unknown mobos might hit, but that's not what I do care so much for now. > > But I still wonder why PulseAudio cares the headphone jack state even > > though this has only one output at all? > > When seeing the system as a whole, there can be other outputs on other > cards - HDMI, USB etc. If somebody e g plugs a USB headset in it will be > simpler for the user if PulseAudio does not also show the unplugged 3.5 > mm jack. OK, but masking it out unconditionally isn't always nice. There are always corner cases... Takashi ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH] ALSA: hda - Remove ignore_misc_bit 2012-09-07 11:59 ` Takashi Iwai @ 2012-09-07 12:17 ` David Henningsson 2012-09-07 12:36 ` Takashi Iwai 0 siblings, 1 reply; 22+ messages in thread From: David Henningsson @ 2012-09-07 12:17 UTC (permalink / raw) To: Takashi Iwai; +Cc: alsa-devel, 939161 On 09/07/2012 01:59 PM, Takashi Iwai wrote: > At Fri, 07 Sep 2012 13:26:35 +0200, > David Henningsson wrote: >> >> On 09/07/2012 12:01 PM, Takashi Iwai wrote: >>> At Fri, 7 Sep 2012 07:25:44 +0200, >>> David Henningsson wrote: >>>> >>>> The purpose of this flag is unclear. If the problem is that some machines >>>> have broken misc/NO_PRESENCE bits, they should be fixed by pin fixups. >>>> >>>> In addition, this causes jack detection functionality to be flawed on >>>> the M31EI, where there are two jacks without jack detection (which is >>>> properly marked as NO_PRESENCE), but due to ignore_misc_bit, these >>>> jacks are instead being reported as being present but always unplugged. >>>> >>>> BugLink: https://bugs.launchpad.net/bugs/939161 >>>> Signed-off-by: David Henningsson <david.henningsson@canonical.com> >>> >>> So this will fix this one case but will break some others certainly. >>> It's a difficult to judge, but more removal is better, so I'll take >>> this. >> >> Ok. Do you have a sense for how many machines that will regress due to >> this patch? If it is common to set all pins to the wrong value, maybe >> its the M31EI that is the exception. > > Maybe a few Acer and ASUS ones with old codecs. > Possibly some desktops with unknown mobos might hit, but that's not > what I do care so much for now. Hrm, ok. I still don't like the idea of regressing machines...maybe this patch needs further research. >>> But I still wonder why PulseAudio cares the headphone jack state even >>> though this has only one output at all? >> >> When seeing the system as a whole, there can be other outputs on other >> cards - HDMI, USB etc. If somebody e g plugs a USB headset in it will be >> simpler for the user if PulseAudio does not also show the unplugged 3.5 >> mm jack. > > OK, but masking it out unconditionally isn't always nice. There are > always corner cases... Not sure what corner case you mean here, but if you like, you can configure this behaviour in /usr/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf, causing the jack detection to be ignored if you prefer. And you can quirk a specific machine to use another .conf file based on udev rules. Or is the corner case that ALSA don't give the correct jack detection value? If so I prefer it to be fixed in ALSA ;-) -- David Henningsson, Canonical Ltd. https://launchpad.net/~diwic ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH] ALSA: hda - Remove ignore_misc_bit 2012-09-07 12:17 ` David Henningsson @ 2012-09-07 12:36 ` Takashi Iwai 2012-09-07 12:47 ` David Henningsson 0 siblings, 1 reply; 22+ messages in thread From: Takashi Iwai @ 2012-09-07 12:36 UTC (permalink / raw) To: David Henningsson; +Cc: alsa-devel, 939161 At Fri, 07 Sep 2012 14:17:58 +0200, David Henningsson wrote: > > On 09/07/2012 01:59 PM, Takashi Iwai wrote: > > At Fri, 07 Sep 2012 13:26:35 +0200, > > David Henningsson wrote: > >> > >> On 09/07/2012 12:01 PM, Takashi Iwai wrote: > >>> At Fri, 7 Sep 2012 07:25:44 +0200, > >>> David Henningsson wrote: > >>>> > >>>> The purpose of this flag is unclear. If the problem is that some machines > >>>> have broken misc/NO_PRESENCE bits, they should be fixed by pin fixups. > >>>> > >>>> In addition, this causes jack detection functionality to be flawed on > >>>> the M31EI, where there are two jacks without jack detection (which is > >>>> properly marked as NO_PRESENCE), but due to ignore_misc_bit, these > >>>> jacks are instead being reported as being present but always unplugged. > >>>> > >>>> BugLink: https://bugs.launchpad.net/bugs/939161 > >>>> Signed-off-by: David Henningsson <david.henningsson@canonical.com> > >>> > >>> So this will fix this one case but will break some others certainly. > >>> It's a difficult to judge, but more removal is better, so I'll take > >>> this. > >> > >> Ok. Do you have a sense for how many machines that will regress due to > >> this patch? If it is common to set all pins to the wrong value, maybe > >> its the M31EI that is the exception. > > > > Maybe a few Acer and ASUS ones with old codecs. > > Possibly some desktops with unknown mobos might hit, but that's not > > what I do care so much for now. > > Hrm, ok. I still don't like the idea of regressing machines...maybe this > patch needs further research. Well, let's see. I guess a problem will pop up anyway a few kernel release later. People with such machines rarely follow the kernel development soonish. > >>> But I still wonder why PulseAudio cares the headphone jack state even > >>> though this has only one output at all? > >> > >> When seeing the system as a whole, there can be other outputs on other > >> cards - HDMI, USB etc. If somebody e g plugs a USB headset in it will be > >> simpler for the user if PulseAudio does not also show the unplugged 3.5 > >> mm jack. > > > > OK, but masking it out unconditionally isn't always nice. There are > > always corner cases... > > Not sure what corner case you mean here, but if you like, you can > configure this behaviour in > /usr/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf, > causing the jack detection to be ignored if you prefer. And you can > quirk a specific machine to use another .conf file based on udev rules. > > Or is the corner case that ALSA don't give the correct jack detection > value? If so I prefer it to be fixed in ALSA ;-) Well, I can think of different cases: BIOS is broken, my hardware is broken and the driver is broken. In such a case, an easier test would be to disable this jack auto-things in PA, rather than fiddling with the pin config and reconfigure the driver, so I hoped there might be an intuitive and easy way to do that. Takashi ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH] ALSA: hda - Remove ignore_misc_bit 2012-09-07 12:36 ` Takashi Iwai @ 2012-09-07 12:47 ` David Henningsson 2012-09-07 13:09 ` Takashi Iwai [not found] ` <CAN8cciYOMpjXfEpQxYFwTve94rz_LLzJyA=nBdCCdtwOJ5Lnbw@mail.gmail.com> 0 siblings, 2 replies; 22+ messages in thread From: David Henningsson @ 2012-09-07 12:47 UTC (permalink / raw) To: Takashi Iwai; +Cc: alsa-devel, 939161 On 09/07/2012 02:36 PM, Takashi Iwai wrote: > At Fri, 07 Sep 2012 14:17:58 +0200, > David Henningsson wrote: >> >> On 09/07/2012 01:59 PM, Takashi Iwai wrote: >>> At Fri, 07 Sep 2012 13:26:35 +0200, >>> David Henningsson wrote: >>>> >>>> On 09/07/2012 12:01 PM, Takashi Iwai wrote: >>>>> At Fri, 7 Sep 2012 07:25:44 +0200, >>>>> David Henningsson wrote: >>>>>> >>>>>> The purpose of this flag is unclear. If the problem is that some machines >>>>>> have broken misc/NO_PRESENCE bits, they should be fixed by pin fixups. >>>>>> >>>>>> In addition, this causes jack detection functionality to be flawed on >>>>>> the M31EI, where there are two jacks without jack detection (which is >>>>>> properly marked as NO_PRESENCE), but due to ignore_misc_bit, these >>>>>> jacks are instead being reported as being present but always unplugged. >>>>>> >>>>>> BugLink: https://bugs.launchpad.net/bugs/939161 >>>>>> Signed-off-by: David Henningsson <david.henningsson@canonical.com> >>>>> >>>>> So this will fix this one case but will break some others certainly. >>>>> It's a difficult to judge, but more removal is better, so I'll take >>>>> this. >>>> >>>> Ok. Do you have a sense for how many machines that will regress due to >>>> this patch? If it is common to set all pins to the wrong value, maybe >>>> its the M31EI that is the exception. >>> >>> Maybe a few Acer and ASUS ones with old codecs. >>> Possibly some desktops with unknown mobos might hit, but that's not >>> what I do care so much for now. >> >> Hrm, ok. I still don't like the idea of regressing machines...maybe this >> patch needs further research. > > Well, let's see. I guess a problem will pop up anyway a few kernel > release later. People with such machines rarely follow the kernel > development soonish. No, they complain on Launchpad, three months after the release or so, about how we could be stupid enough to break their systems ;-) >>>>> But I still wonder why PulseAudio cares the headphone jack state even >>>>> though this has only one output at all? >>>> >>>> When seeing the system as a whole, there can be other outputs on other >>>> cards - HDMI, USB etc. If somebody e g plugs a USB headset in it will be >>>> simpler for the user if PulseAudio does not also show the unplugged 3.5 >>>> mm jack. >>> >>> OK, but masking it out unconditionally isn't always nice. There are >>> always corner cases... >> >> Not sure what corner case you mean here, but if you like, you can >> configure this behaviour in >> /usr/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf, >> causing the jack detection to be ignored if you prefer. And you can >> quirk a specific machine to use another .conf file based on udev rules. >> >> Or is the corner case that ALSA don't give the correct jack detection >> value? If so I prefer it to be fixed in ALSA ;-) > > Well, I can think of different cases: BIOS is broken, my hardware is > broken and the driver is broken. In such a case, an easier test would > be to disable this jack auto-things in PA, rather than fiddling with > the pin config and reconfigure the driver, so I hoped there might be > an intuitive and easy way to do that. Naah, in all those cases it is ALSA's responsibility to give a correct answer up to PA - and as such, also to provide an "intuitive and easy way" to disable jack detection if you feel there is a need. IMO. That said, it's not super difficult to comment out a few lines in /usr/share/pulseaudio/alsa-mixer/paths/*.conf, and also, most mixer UIs (e g pavucontrol) still allows you to route audio to an unavailable port. -- David Henningsson, Canonical Ltd. https://launchpad.net/~diwic ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH] ALSA: hda - Remove ignore_misc_bit 2012-09-07 12:47 ` David Henningsson @ 2012-09-07 13:09 ` Takashi Iwai 2012-09-07 14:28 ` David Henningsson [not found] ` <CAN8cciYOMpjXfEpQxYFwTve94rz_LLzJyA=nBdCCdtwOJ5Lnbw@mail.gmail.com> 1 sibling, 1 reply; 22+ messages in thread From: Takashi Iwai @ 2012-09-07 13:09 UTC (permalink / raw) To: David Henningsson; +Cc: alsa-devel, 939161 At Fri, 07 Sep 2012 14:47:16 +0200, David Henningsson wrote: > > On 09/07/2012 02:36 PM, Takashi Iwai wrote: > > At Fri, 07 Sep 2012 14:17:58 +0200, > > David Henningsson wrote: > >> > >> On 09/07/2012 01:59 PM, Takashi Iwai wrote: > >>> At Fri, 07 Sep 2012 13:26:35 +0200, > >>> David Henningsson wrote: > >>>> > >>>> On 09/07/2012 12:01 PM, Takashi Iwai wrote: > >>>>> At Fri, 7 Sep 2012 07:25:44 +0200, > >>>>> David Henningsson wrote: > >>>>>> > >>>>>> The purpose of this flag is unclear. If the problem is that some machines > >>>>>> have broken misc/NO_PRESENCE bits, they should be fixed by pin fixups. > >>>>>> > >>>>>> In addition, this causes jack detection functionality to be flawed on > >>>>>> the M31EI, where there are two jacks without jack detection (which is > >>>>>> properly marked as NO_PRESENCE), but due to ignore_misc_bit, these > >>>>>> jacks are instead being reported as being present but always unplugged. > >>>>>> > >>>>>> BugLink: https://bugs.launchpad.net/bugs/939161 > >>>>>> Signed-off-by: David Henningsson <david.henningsson@canonical.com> > >>>>> > >>>>> So this will fix this one case but will break some others certainly. > >>>>> It's a difficult to judge, but more removal is better, so I'll take > >>>>> this. > >>>> > >>>> Ok. Do you have a sense for how many machines that will regress due to > >>>> this patch? If it is common to set all pins to the wrong value, maybe > >>>> its the M31EI that is the exception. > >>> > >>> Maybe a few Acer and ASUS ones with old codecs. > >>> Possibly some desktops with unknown mobos might hit, but that's not > >>> what I do care so much for now. > >> > >> Hrm, ok. I still don't like the idea of regressing machines...maybe this > >> patch needs further research. > > > > Well, let's see. I guess a problem will pop up anyway a few kernel > > release later. People with such machines rarely follow the kernel > > development soonish. > > No, they complain on Launchpad, three months after the release or so, > about how we could be stupid enough to break their systems ;-) > > >>>>> But I still wonder why PulseAudio cares the headphone jack state even > >>>>> though this has only one output at all? > >>>> > >>>> When seeing the system as a whole, there can be other outputs on other > >>>> cards - HDMI, USB etc. If somebody e g plugs a USB headset in it will be > >>>> simpler for the user if PulseAudio does not also show the unplugged 3.5 > >>>> mm jack. > >>> > >>> OK, but masking it out unconditionally isn't always nice. There are > >>> always corner cases... > >> > >> Not sure what corner case you mean here, but if you like, you can > >> configure this behaviour in > >> /usr/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf, > >> causing the jack detection to be ignored if you prefer. And you can > >> quirk a specific machine to use another .conf file based on udev rules. > >> > >> Or is the corner case that ALSA don't give the correct jack detection > >> value? If so I prefer it to be fixed in ALSA ;-) > > > > Well, I can think of different cases: BIOS is broken, my hardware is > > broken and the driver is broken. In such a case, an easier test would > > be to disable this jack auto-things in PA, rather than fiddling with > > the pin config and reconfigure the driver, so I hoped there might be > > an intuitive and easy way to do that. > > Naah, in all those cases it is ALSA's responsibility to give a correct > answer up to PA - and as such, also to provide an "intuitive and easy > way" to disable jack detection if you feel there is a need. IMO. Adjusting a user-space things is much safer than adjusting something in kernel. The former doesn't need a root privilege (if it's done right). Thus for debugging purpose, fiddling with PA at first would be more comfortable than digging with the driver code and BIOS setups. Of course, a permanent fix is a different story. I'm talking about the debuggability. > That said, it's not super difficult to comment out a few lines in > /usr/share/pulseaudio/alsa-mixer/paths/*.conf, and also, most mixer UIs > (e g pavucontrol) still allows you to route audio to an unavailable port. Yes, but some guidelines would be nice to have somewhere explicitly... Also this can be done without being root somehow, right? Takashi ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH] ALSA: hda - Remove ignore_misc_bit 2012-09-07 13:09 ` Takashi Iwai @ 2012-09-07 14:28 ` David Henningsson 2012-09-07 14:32 ` Takashi Iwai 0 siblings, 1 reply; 22+ messages in thread From: David Henningsson @ 2012-09-07 14:28 UTC (permalink / raw) To: Takashi Iwai; +Cc: alsa-devel, 939161 On 09/07/2012 03:09 PM, Takashi Iwai wrote: > At Fri, 07 Sep 2012 14:47:16 +0200, > David Henningsson wrote: >> >> On 09/07/2012 02:36 PM, Takashi Iwai wrote: >>> At Fri, 07 Sep 2012 14:17:58 +0200, >>> David Henningsson wrote: >>>> Or is the corner case that ALSA don't give the correct jack detection >>>> value? If so I prefer it to be fixed in ALSA ;-) >>> >>> Well, I can think of different cases: BIOS is broken, my hardware is >>> broken and the driver is broken. In such a case, an easier test would >>> be to disable this jack auto-things in PA, rather than fiddling with >>> the pin config and reconfigure the driver, so I hoped there might be >>> an intuitive and easy way to do that. >> >> Naah, in all those cases it is ALSA's responsibility to give a correct >> answer up to PA - and as such, also to provide an "intuitive and easy >> way" to disable jack detection if you feel there is a need. IMO. > > Adjusting a user-space things is much safer than adjusting something > in kernel. The former doesn't need a root privilege (if it's done > right). Thus for debugging purpose, fiddling with PA at first would > be more comfortable than digging with the driver code and BIOS > setups. > > Of course, a permanent fix is a different story. I'm talking about > the debuggability. > >> That said, it's not super difficult to comment out a few lines in >> /usr/share/pulseaudio/alsa-mixer/paths/*.conf, and also, most mixer UIs >> (e g pavucontrol) still allows you to route audio to an unavailable port. > > Yes, but some guidelines would be nice to have somewhere explicitly... > Also this can be done without being root somehow, right? Hmm, I'm afraid it's not so easy to turn off PulseAudio's jack detection without being root. Maybe it's possible using some .asoundrc magic? Btw - I've never seen this as a practical problem myself. For debugging jack sense problems, I typically triage with 1) "amixer contents" (PulseAudio or kernel space?) 2) "sudo hda-jack-sense-test" (hardware or driver?) Asking people to run a sudo command has never been a problem. (but maybe that's a problem in itself - i e that people are not security aware...) -- David Henningsson, Canonical Ltd. https://launchpad.net/~diwic ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH] ALSA: hda - Remove ignore_misc_bit 2012-09-07 14:28 ` David Henningsson @ 2012-09-07 14:32 ` Takashi Iwai 2012-09-07 15:39 ` Tanu Kaskinen 0 siblings, 1 reply; 22+ messages in thread From: Takashi Iwai @ 2012-09-07 14:32 UTC (permalink / raw) To: David Henningsson; +Cc: alsa-devel, 939161 At Fri, 07 Sep 2012 16:28:19 +0200, David Henningsson wrote: > > On 09/07/2012 03:09 PM, Takashi Iwai wrote: > > At Fri, 07 Sep 2012 14:47:16 +0200, > > David Henningsson wrote: > >> > >> On 09/07/2012 02:36 PM, Takashi Iwai wrote: > >>> At Fri, 07 Sep 2012 14:17:58 +0200, > >>> David Henningsson wrote: > >>>> Or is the corner case that ALSA don't give the correct jack detection > >>>> value? If so I prefer it to be fixed in ALSA ;-) > >>> > >>> Well, I can think of different cases: BIOS is broken, my hardware is > >>> broken and the driver is broken. In such a case, an easier test would > >>> be to disable this jack auto-things in PA, rather than fiddling with > >>> the pin config and reconfigure the driver, so I hoped there might be > >>> an intuitive and easy way to do that. > >> > >> Naah, in all those cases it is ALSA's responsibility to give a correct > >> answer up to PA - and as such, also to provide an "intuitive and easy > >> way" to disable jack detection if you feel there is a need. IMO. > > > > Adjusting a user-space things is much safer than adjusting something > > in kernel. The former doesn't need a root privilege (if it's done > > right). Thus for debugging purpose, fiddling with PA at first would > > be more comfortable than digging with the driver code and BIOS > > setups. > > > > Of course, a permanent fix is a different story. I'm talking about > > the debuggability. > > > >> That said, it's not super difficult to comment out a few lines in > >> /usr/share/pulseaudio/alsa-mixer/paths/*.conf, and also, most mixer UIs > >> (e g pavucontrol) still allows you to route audio to an unavailable port. > > > > Yes, but some guidelines would be nice to have somewhere explicitly... > > Also this can be done without being root somehow, right? > > Hmm, I'm afraid it's not so easy to turn off PulseAudio's jack detection > without being root. Maybe it's possible using some .asoundrc magic? That's bad. asoundrc is equally cryptic like udev rules :) Honestly, can't the whole /usr/share/pulseaudio/* files be specified via an environment variable, or automatically looking at ~/.pulse/alsa-mixer/paths/* or such? > Btw - I've never seen this as a practical problem myself. For debugging > jack sense problems, I typically triage with > 1) "amixer contents" (PulseAudio or kernel space?) > 2) "sudo hda-jack-sense-test" (hardware or driver?) > > Asking people to run a sudo command has never been a problem. (but maybe > that's a problem in itself - i e that people are not security aware...) Indeed. Anyway, it's way offtopic now :) Takashi ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH] ALSA: hda - Remove ignore_misc_bit 2012-09-07 14:32 ` Takashi Iwai @ 2012-09-07 15:39 ` Tanu Kaskinen 0 siblings, 0 replies; 22+ messages in thread From: Tanu Kaskinen @ 2012-09-07 15:39 UTC (permalink / raw) To: Takashi Iwai; +Cc: alsa-devel, 939161, David Henningsson On Fri, 2012-09-07 at 16:32 +0200, Takashi Iwai wrote: > > Hmm, I'm afraid it's not so easy to turn off PulseAudio's jack detection > > without being root. Maybe it's possible using some .asoundrc magic? > > That's bad. asoundrc is equally cryptic like udev rules :) > > Honestly, can't the whole /usr/share/pulseaudio/* files be specified > via an environment variable, or automatically looking at > ~/.pulse/alsa-mixer/paths/* or such? FWIW, I'm in favor of looking at the home directory... -- Tanu ^ permalink raw reply [flat|nested] 22+ messages in thread
[parent not found: <CAN8cciYOMpjXfEpQxYFwTve94rz_LLzJyA=nBdCCdtwOJ5Lnbw@mail.gmail.com>]
* Re: [PATCH] ALSA: hda - Remove ignore_misc_bit [not found] ` <CAN8cciYOMpjXfEpQxYFwTve94rz_LLzJyA=nBdCCdtwOJ5Lnbw@mail.gmail.com> @ 2012-09-17 8:44 ` Raymond Yau 0 siblings, 0 replies; 22+ messages in thread From: Raymond Yau @ 2012-09-17 8:44 UTC (permalink / raw) To: David Henningsson Cc: Takashi Iwai, ALSA Development Mailing List, ian_minett, 995156, 1033996 >>>>>> But I still wonder why PulseAudio cares the headphone jack state even >>>>>> though this has only one output at all? >>>>> >>>>> >>>>> When seeing the system as a whole, there can be other outputs on other >>>>> cards - HDMI, USB etc. If somebody e g plugs a USB headset in it will be >>>>> simpler for the user if PulseAudio does not also show the unplugged 3.5 >>>>> mm jack phantom port of internal speaker or internal Mic is ok but how about those jack spdif, CD , Aux which does not have jack detect circuit Is it feasible for driver implement a read/ write kcontrol for those port and allow the user to change the state of those port by using special application (e.g. qashctl) ? > > That said, it's not super difficult to comment out a few lines in > /usr/share/pulseaudio/alsa-mixer/paths/*.conf, and also, most mixer UIs (e g pavucontrol) still allows you to route audio to an unavailable port. For ad1988 which still not support auto mute nor hda jack detect. The user still able to use the card in gnome but not in unity. https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/995169 And ca0132 which does not implement auto mute ? https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/1043621 And the other ad198x which support auto mute but not implement hda jack detect https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/1051494 The other cases are those on-board ac97 controller (e.g. Intel8x0, atiixp,...) with ac97 codecs which have the headphone playback volume control. What is the usage of those "Headphone Jack Sense" control of AC97 codecs ? Some of them seem have inverted control https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/1033996 ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH] ALSA: hda - Remove ignore_misc_bit 2012-09-07 5:25 [PATCH] ALSA: hda - Remove ignore_misc_bit David Henningsson 2012-09-07 10:01 ` Takashi Iwai @ 2012-09-08 1:10 ` Raymond Yau 2012-09-09 7:50 ` Takashi Iwai 1 sibling, 1 reply; 22+ messages in thread From: Raymond Yau @ 2012-09-08 1:10 UTC (permalink / raw) To: David Henningsson; +Cc: tiwai, 939161, alsa-devel 2012-9-7 下午1:26 於 "David Henningsson" <david.henningsson@canonical.com> 寫道: > > The purpose of this flag is unclear. If the problem is that some machines > have broken misc/NO_PRESENCE bits, they should be fixed by pin fixups. > > In addition, this causes jack detection functionality to be flawed on > the M31EI, where there are two jacks without jack detection (which is > properly marked as NO_PRESENCE), but due to ignore_misc_bit, these > jacks are instead being reported as being present but always unplugged. > > BugLink: https://bugs.launchpad.net/bugs/939161 do you mean the commit does not fix the bug? ALSA: hda - add support for Uniwill ECS M31EI notebook This hardware requires same fixup for the node 0x0f like Asus A6Rp. More information: https://bugzilla.redhat.com/show_bug.cgi?id=785417 http://git.kernel.org/?p=linux/kernel/git/tiwai/sound.git;a=commit;h=416846d2b31fc740ed9d5a5ec116964fb43c4358 the real cases are those desktop which does not use hda front audio panel , they just loss the auto mute since there is no jack detect circuit but they can still hear sound from the headphone at anytime do pulseaudio need a phantom port for the front panel headphone and mic without jack detection ? _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH] ALSA: hda - Remove ignore_misc_bit 2012-09-08 1:10 ` Raymond Yau @ 2012-09-09 7:50 ` Takashi Iwai 2012-09-14 2:10 ` Raymond Yau 2012-09-17 7:39 ` David Henningsson 0 siblings, 2 replies; 22+ messages in thread From: Takashi Iwai @ 2012-09-09 7:50 UTC (permalink / raw) To: Raymond Yau; +Cc: 939161, alsa-devel, David Henningsson At Sat, 8 Sep 2012 09:10:14 +0800, Raymond Yau wrote: > > 2012-9-7 下午1:26 於 "David Henningsson" <david.henningsson@canonical.com> 寫道: > > > > The purpose of this flag is unclear. If the problem is that some machines > > have broken misc/NO_PRESENCE bits, they should be fixed by pin fixups. > > > > In addition, this causes jack detection functionality to be flawed on > > the M31EI, where there are two jacks without jack detection (which is > > properly marked as NO_PRESENCE), but due to ignore_misc_bit, these > > jacks are instead being reported as being present but always unplugged. > > > > BugLink: https://bugs.launchpad.net/bugs/939161 > > do you mean the commit does not fix the bug? > > ALSA: hda - add support for Uniwill ECS M31EI notebook > > This hardware requires same fixup for the node 0x0f like Asus A6Rp. > More information: https://bugzilla.redhat.com/show_bug.cgi?id=785417 > > http://git.kernel.org/?p=linux/kernel/git/tiwai/sound.git;a=commit;h=416846d2b31fc740ed9d5a5ec116964fb43c4358 > > the real cases are those desktop which does not use hda front audio panel , > they just loss the auto mute since there is no jack detect circuit but they > can still hear sound from the headphone at anytime > > do pulseaudio need a phantom port for the front panel headphone and mic > without jack detection ? Actually this is one good point. The jack detection isn't always reliably on such old machines, and BIOS cannot know, too. That is, it has to be adjusted by user manually, whether the jack detection is enabled or not. So far, we solved this by providing "Auto-Mute Mode" mixer switch. But the jack detection controls don't follow this yet. Maybe we can set such a jack control as inactive state when the jack detection is disabled. (And this reminds me that we can cut off "Phantom" name hack by following the same rule -- just set the control inactive when it has no real detection. But it still appears in control list.) Takashi _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH] ALSA: hda - Remove ignore_misc_bit 2012-09-09 7:50 ` Takashi Iwai @ 2012-09-14 2:10 ` Raymond Yau 2012-09-17 7:39 ` David Henningsson 1 sibling, 0 replies; 22+ messages in thread From: Raymond Yau @ 2012-09-14 2:10 UTC (permalink / raw) To: Takashi Iwai; +Cc: alsa-devel, 939161, David Henningsson > > > > the real cases are those desktop which does not use hda front audio panel , > > they just loss the auto mute since there is no jack detect circuit but they > > can still hear sound from the headphone at anytime > > > > do pulseaudio need a phantom port for the front panel headphone and mic > > without jack detection ? > > Actually this is one good point. > The jack detection isn't always reliably on such old machines, and > BIOS cannot know, too. That is, it has to be adjusted by user > manually, whether the jack detection is enabled or not. > > So far, we solved this by providing "Auto-Mute Mode" mixer switch. > But the jack detection controls don't follow this yet. Maybe we can > set such a jack control as inactive state when the jack detection is > disabled. > > (And this reminds me that we can cut off "Phantom" name hack by > following the same rule -- just set the control inactive when it has > no real detection. But it still appears in control list.) > > The other case is the bios of some computers with alc880 codec have pin defaults 0x00000000 for some pin complexes https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/1015232 hda jack detect need pin fixup Pin Default 0x00000000: [Jack] Line Out at Ext N/A Conn = Unknown, Color = Unknown DefAssociation = 0x0, Sequence = 0x0 http://git.kernel.org/?p=linux/kernel/git/tiwai/sound.git;a=commit;h=67b6ec3196da235317ff1b9474f17379b78f3294 ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH] ALSA: hda - Remove ignore_misc_bit 2012-09-09 7:50 ` Takashi Iwai 2012-09-14 2:10 ` Raymond Yau @ 2012-09-17 7:39 ` David Henningsson 2012-09-18 8:26 ` Takashi Iwai ` (2 more replies) 1 sibling, 3 replies; 22+ messages in thread From: David Henningsson @ 2012-09-17 7:39 UTC (permalink / raw) To: Takashi Iwai; +Cc: Raymond Yau, 939161, alsa-devel On 09/09/2012 09:50 AM, Takashi Iwai wrote: > At Sat, 8 Sep 2012 09:10:14 +0800, > Raymond Yau wrote: >> >> 2012-9-7 下午1:26 於 "David Henningsson" <david.henningsson@canonical.com> 寫道: >>> >>> The purpose of this flag is unclear. If the problem is that some machines >>> have broken misc/NO_PRESENCE bits, they should be fixed by pin fixups. >>> >>> In addition, this causes jack detection functionality to be flawed on >>> the M31EI, where there are two jacks without jack detection (which is >>> properly marked as NO_PRESENCE), but due to ignore_misc_bit, these >>> jacks are instead being reported as being present but always unplugged. >>> >>> BugLink: >> >> do you mean the commit does not fix the bug? >> >> ALSA: hda - add support for Uniwill ECS M31EI notebook >> >> This hardware requires same fixup for the node 0x0f like Asus A6Rp. >> More information: https://bugzilla.redhat.com/show_bug.cgi?id=785417 >> >> http://git.kernel.org/?p=linux/kernel/git/tiwai/sound.git;a=commit;h=416846d2b31fc740ed9d5a5ec116964fb43c4358 The PCI SSIDs are different, so I don't think that commit will affect the bug I was trying to fix. >> the real cases are those desktop which does not use hda front audio panel , >> they just loss the auto mute since there is no jack detect circuit but they >> can still hear sound from the headphone at anytime If there is no HDA front panel connected to the motherboard physically, the codec should report front headphone and mic as unconnected. If there is an AC'97 front panel connected, the BIOS should set NO_PRESENCE in the misc bit. If BIOS/HW does not support these simple rules, we need to quirk them. >> do pulseaudio need a phantom port for the front panel headphone and mic >> without jack detection ? > > Actually this is one good point. > The jack detection isn't always reliably on such old machines, and > BIOS cannot know, too. Can you be a bit more specific about this claim? What machines? How many machines? In what way is it unreliable? > That is, it has to be adjusted by user > manually, whether the jack detection is enabled or not. > > So far, we solved this by providing "Auto-Mute Mode" mixer switch. This is not a proper way to "solve" it - "Auto-Mute mode" as the control name says is more closely related to the muting of outputs, than it is to the actual jack detection. Also, "Auto-Mute mode" is 1) only related to outputs and 2) not available generically but only for specific codecs. > But the jack detection controls don't follow this yet. Maybe we can > set such a jack control as inactive state when the jack detection is > disabled. > > (And this reminds me that we can cut off "Phantom" name hack by > following the same rule -- just set the control inactive when it has > no real detection. But it still appears in control list.) Looking at the alsa-lib API, this seems doable. It seems possible to figure out using snd_hctl_elem_info and then snd_ctl_elem_info_is_inactive. If it is also runtime changeable (i e depending on some other mixer control), we need a callback to fire on the hctl. -- David Henningsson, Canonical Ltd. https://launchpad.net/~diwic _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH] ALSA: hda - Remove ignore_misc_bit 2012-09-17 7:39 ` David Henningsson @ 2012-09-18 8:26 ` Takashi Iwai 2012-09-18 8:40 ` David Henningsson 2012-09-19 0:35 ` Raymond Yau 2012-09-19 15:20 ` Raymond Yau 2 siblings, 1 reply; 22+ messages in thread From: Takashi Iwai @ 2012-09-18 8:26 UTC (permalink / raw) To: David Henningsson; +Cc: Raymond Yau, 939161, alsa-devel At Mon, 17 Sep 2012 09:39:01 +0200, David Henningsson wrote: > > > But the jack detection controls don't follow this yet. Maybe we can > > set such a jack control as inactive state when the jack detection is > > disabled. > > > > (And this reminds me that we can cut off "Phantom" name hack by > > following the same rule -- just set the control inactive when it has > > no real detection. But it still appears in control list.) > > Looking at the alsa-lib API, this seems doable. It seems possible to > figure out using snd_hctl_elem_info and then > snd_ctl_elem_info_is_inactive. If it is also runtime changeable (i e > depending on some other mixer control), we need a callback to fire on > the hctl. Why are you using snd_hctl? For looking over jack controls, using snd_ctl_* is more straightforward. Also, which callback are you thinking of? The phantom jack is basically just a placeholder, so there should be no activity from itself. Takashi ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH] ALSA: hda - Remove ignore_misc_bit 2012-09-18 8:26 ` Takashi Iwai @ 2012-09-18 8:40 ` David Henningsson 2012-09-18 8:58 ` Takashi Iwai 0 siblings, 1 reply; 22+ messages in thread From: David Henningsson @ 2012-09-18 8:40 UTC (permalink / raw) To: Takashi Iwai; +Cc: Raymond Yau, alsa-devel [removing CC to bug, since this has gone a bit offtopic] On 09/18/2012 10:26 AM, Takashi Iwai wrote: > At Mon, 17 Sep 2012 09:39:01 +0200, > David Henningsson wrote: >> >>> But the jack detection controls don't follow this yet. Maybe we can >>> set such a jack control as inactive state when the jack detection is >>> disabled. >>> >>> (And this reminds me that we can cut off "Phantom" name hack by >>> following the same rule -- just set the control inactive when it has >>> no real detection. But it still appears in control list.) >> >> Looking at the alsa-lib API, this seems doable. It seems possible to >> figure out using snd_hctl_elem_info and then >> snd_ctl_elem_info_is_inactive. If it is also runtime changeable (i e >> depending on some other mixer control), we need a callback to fire on >> the hctl. > > Why are you using snd_hctl? For looking over jack controls, using > snd_ctl_* is more straightforward. Ehm, because I'm one of the confused users who doesn't know why there are four different APIs (ctl, hctl, mixer, smixer) in the first place? :-) And because I started with looking at the code to amixer. IIRC. > Also, which callback are you thinking of? The phantom jack is > basically just a placeholder, so there should be no activity from > itself. You said something about the user telling the system to disable jack detection - if so, (s)he will probably do so by changing a (new?) kcontrol, which would then change the inactivity status of the jack kcontrol, and then we need to pick that change up. -- David Henningsson, Canonical Ltd. https://launchpad.net/~diwic ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH] ALSA: hda - Remove ignore_misc_bit 2012-09-18 8:40 ` David Henningsson @ 2012-09-18 8:58 ` Takashi Iwai 0 siblings, 0 replies; 22+ messages in thread From: Takashi Iwai @ 2012-09-18 8:58 UTC (permalink / raw) To: David Henningsson; +Cc: Raymond Yau, alsa-devel At Tue, 18 Sep 2012 10:40:19 +0200, David Henningsson wrote: > > [removing CC to bug, since this has gone a bit offtopic] > > On 09/18/2012 10:26 AM, Takashi Iwai wrote: > > At Mon, 17 Sep 2012 09:39:01 +0200, > > David Henningsson wrote: > >> > >>> But the jack detection controls don't follow this yet. Maybe we can > >>> set such a jack control as inactive state when the jack detection is > >>> disabled. > >>> > >>> (And this reminds me that we can cut off "Phantom" name hack by > >>> following the same rule -- just set the control inactive when it has > >>> no real detection. But it still appears in control list.) > >> > >> Looking at the alsa-lib API, this seems doable. It seems possible to > >> figure out using snd_hctl_elem_info and then > >> snd_ctl_elem_info_is_inactive. If it is also runtime changeable (i e > >> depending on some other mixer control), we need a callback to fire on > >> the hctl. > > > > Why are you using snd_hctl? For looking over jack controls, using > > snd_ctl_* is more straightforward. > > Ehm, because I'm one of the confused users who doesn't know why there > are four different APIs (ctl, hctl, mixer, smixer) in the first place? > :-) And because I started with looking at the code to amixer. IIRC. I also wonder. It's Jaroslav's preference :) I'm no big fan for this implementation, so I skipped the middle layers in salsa-lib. > > Also, which callback are you thinking of? The phantom jack is > > basically just a placeholder, so there should be no activity from > > itself. > > You said something about the user telling the system to disable jack > detection - if so, (s)he will probably do so by changing a (new?) > kcontrol, which would then change the inactivity status of the jack > kcontrol, and then we need to pick that change up. Ah, no, what I thought was not to use "Phantom" name but use the normal jack name "Speaker Jack", but make it inactive, which indicates the non-detectable jack. But yes, it's also possible that the system enables/disables the jack detection dynamically. In that case, the inactive state change is notified to snd_ctl. Takashi ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH] ALSA: hda - Remove ignore_misc_bit 2012-09-17 7:39 ` David Henningsson 2012-09-18 8:26 ` Takashi Iwai @ 2012-09-19 0:35 ` Raymond Yau 2012-09-25 15:38 ` Raymond Yau 2012-09-19 15:20 ` Raymond Yau 2 siblings, 1 reply; 22+ messages in thread From: Raymond Yau @ 2012-09-19 0:35 UTC (permalink / raw) To: David Henningsson; +Cc: Takashi Iwai, ALSA Development Mailing List, 939161 >>> do you mean the commit does not fix the bug? >>> >>> ALSA: hda - add support for Uniwill ECS M31EI notebook >>> >>> This hardware requires same fixup for the node 0x0f like Asus A6Rp. >>> More information: https://bugzilla.redhat.com/show_bug.cgi?id=785417 >>> >>> http://git.kernel.org/?p=linux/kernel/git/tiwai/sound.git;a=commit;h=416846d2b31fc740ed9d5a5ec116964fb43c4o358 > > > The PCI SSIDs are different, so I don't think that commit will affect the bug I was trying to fix. > How many audio jacks do this m31ei have as JrZabott specified model=3stack(3 jacks) which use cd pin , no auto Mic since this input source also does not support jack detect. Node 0x11 [Pin Complex] wcaps 0x400001: Stereo Pincap 0x00000063: IN Balanced Trigger ImpSense Pin Default 0x99331121: [Fixed] CD at Int ATAPI Conn = ATAPI, Color = Black DefAssociation = 0x2, Sequence = 0x1 Misc = NO_PRESENCE Pin-ctls: 0x00: The master playback switch is at audio mixer node 0x16 Simple mixer control 'Master',0 Capabilities: pswitch penum Playback channels: Front Left - Front Right Mono: Front Left: Playback [on] Front Right: Playback [on] Simple mixer control 'PCM',0 Capabilities: pvolume penum 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] There is no headphone playback volume/switch so why do pulseaudio remove the analog output path ? ports: analog-output-headphones: Headphones (priority 9000, available: no) properties: active port: <analog-output-headphones> There are mini itx chassis which does not have front audio panel, will pulseaudio remove the analog output path ? Default PCM: rates [0x140]: 48000 96000 bits [0xe]: 16 20 24 formats [0x1]: PCM Default Amp-In caps: N/A Default Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Refer to the block diagram of alc861 datasheet, it seem every audio output and pin complex has a mute switch And you already mentioned there is no speaker pin > >>> the real cases are those desktop which does not use hda front audio panel , >>> they just loss the auto mute since there is no jack detect circuit but they >>> can still hear sound from the headphone at anytime > > > If there is an AC'97 front panel connected, the BIOS should set NO_PRESENCE in the misc bit. Do you mean the driver should a read/write kcontrol so that user can change the state by qashctl ? ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH] ALSA: hda - Remove ignore_misc_bit 2012-09-19 0:35 ` Raymond Yau @ 2012-09-25 15:38 ` Raymond Yau 0 siblings, 0 replies; 22+ messages in thread From: Raymond Yau @ 2012-09-25 15:38 UTC (permalink / raw) To: David Henningsson; +Cc: Takashi Iwai, ALSA Development Mailing List, 939161 2012-9-19 上午8:35 於 "Raymond Yau" <superquad.vortex2@gmail.com> 寫道: > > >>> do you mean the commit does not fix the bug? > >>> > >>> ALSA: hda - add support for Uniwill ECS M31EI notebook > >>> > >>> This hardware requires same fixup for the node 0x0f like Asus A6Rp. > >>> More information: https://bugzilla.redhat.com/show_bug.cgi?id=785417 > >>> > >>> http://git.kernel.org/?p=linux/kernel/git/tiwai/sound.git;a=commit;h=416846d2b31fc740ed9d5a5ec116964fb43c4o358 > > > > > > > The PCI SSIDs are different, so I don't think that commit will affect the bug I was trying to fix. https://launchpadlibrarian.net/93810068/PciMultimedia.txt 00:1b.0 Audio device [0403]: Intel Corporation N10/ICH 7 Family High Definition Audio Controller [8086:27d8] (rev 02) Subsystem: Uniwill Computer Corp Device [1584:9072] https://launchpadlibrarian.net/93810064/Card0.Codecs.codec.0.txt Codec: Realtek ALC861 Address: 0 AFG Function Id: 0x1 (unsol 0) Vendor Id: 0x10ec0861 Subsystem Id: 0x15840000 Revision Id: 0x100300 https://bugzilla.redhat.com/attachment.cgi?id=559582 Advanced information - PCI Vendor/Device/Subsystem ID's !!-------------------------------------------------------- 00:1b.0 0403: 8086:27d8 (rev 02) Subsystem: 1584:9072 Codec: Realtek ALC861 Address: 0 AFG Function Id: 0x1 (unsol 0) Vendor Id: 0x10ec0861 Subsystem Id: 0x15840000 Revision Id: 0x100300 _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH] ALSA: hda - Remove ignore_misc_bit 2012-09-17 7:39 ` David Henningsson 2012-09-18 8:26 ` Takashi Iwai 2012-09-19 0:35 ` Raymond Yau @ 2012-09-19 15:20 ` Raymond Yau 2 siblings, 0 replies; 22+ messages in thread From: Raymond Yau @ 2012-09-19 15:20 UTC (permalink / raw) To: David Henningsson; +Cc: Takashi Iwai, ALSA Development Mailing List, 939161 https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/939161 00:1b.0 Audio device [0403]: Intel Corporation N10/ICH 7 Family High Definition Audio Controller [8086:27d8] (rev 02) Subsystem: Uniwill Computer Corp Device [1584:9072] > > > The PCI SSIDs are different, so I don't think that commit will affect the bug I was trying to fix. There was a model uniwill-m31 what you need is just provide a pin fixup from the patch which remove the model - [ALC861_UNIWILL_M31] = "uniwill-m31", - SND_PCI_QUIRK(0x1584, 0x9072, "Uniwill m31", ALC861_UNIWILL_M31), http://git.kernel.org/?p=linux/kernel/git/tiwai/sound.git;a=commitdiff;h=9fbbc94fe0f0a85d048b74fced3cfca404d78a3c;hp=6ebb80530b0ed6b2e93f2e6497890b4437807055 ^ permalink raw reply [flat|nested] 22+ messages in thread
end of thread, other threads:[~2012-09-25 15:38 UTC | newest]
Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-07 5:25 [PATCH] ALSA: hda - Remove ignore_misc_bit David Henningsson
2012-09-07 10:01 ` Takashi Iwai
2012-09-07 11:26 ` David Henningsson
2012-09-07 11:59 ` Takashi Iwai
2012-09-07 12:17 ` David Henningsson
2012-09-07 12:36 ` Takashi Iwai
2012-09-07 12:47 ` David Henningsson
2012-09-07 13:09 ` Takashi Iwai
2012-09-07 14:28 ` David Henningsson
2012-09-07 14:32 ` Takashi Iwai
2012-09-07 15:39 ` Tanu Kaskinen
[not found] ` <CAN8cciYOMpjXfEpQxYFwTve94rz_LLzJyA=nBdCCdtwOJ5Lnbw@mail.gmail.com>
2012-09-17 8:44 ` Raymond Yau
2012-09-08 1:10 ` Raymond Yau
2012-09-09 7:50 ` Takashi Iwai
2012-09-14 2:10 ` Raymond Yau
2012-09-17 7:39 ` David Henningsson
2012-09-18 8:26 ` Takashi Iwai
2012-09-18 8:40 ` David Henningsson
2012-09-18 8:58 ` Takashi Iwai
2012-09-19 0:35 ` Raymond Yau
2012-09-25 15:38 ` Raymond Yau
2012-09-19 15:20 ` Raymond Yau
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).