From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Henningsson Subject: Re: [RFC PATCH] Fixup automute for Realtek auto parser Date: Fri, 16 Sep 2011 12:45:06 +0200 Message-ID: <4E7328B2.2080501@canonical.com> References: <4E73026C.5090307@canonical.com> <4E731539.6050509@canonical.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from youngberry.canonical.com (youngberry.canonical.com [91.189.89.112]) by alsa0.perex.cz (Postfix) with ESMTP id 12B2C243DF for ; Fri, 16 Sep 2011 12:45:08 +0200 (CEST) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: alsa-devel-bounces@alsa-project.org Errors-To: alsa-devel-bounces@alsa-project.org To: Takashi Iwai Cc: ALSA Development Mailing List List-Id: alsa-devel@alsa-project.org On 09/16/2011 12:03 PM, Takashi Iwai wrote: > At Fri, 16 Sep 2011 11:35:31 +0200, > Takashi Iwai wrote: >> >> At Fri, 16 Sep 2011 11:22:01 +0200, >> David Henningsson wrote: >>> >>> [1] >>> On 09/16/2011 10:31 AM, Takashi Iwai wrote: >>>> At Fri, 16 Sep 2011 10:01:48 +0200, >>>> David Henningsson wrote: >>>>> >>>>> The ~6 months old functionality for configurable automuting is broken >>>>> for the case that the user has only HP and LO (no speakers) - basically >>>>> there is an "Automute mode" control, but enabling it does nothing. While >>>>> fixing that, I also took the liberty of refactoring/rewriting some of >>>>> that code, in order to make it easier to understand and maintain. >>>>> >>>>> Takashi, given you approve/like these changes, I'll go ahead and fix up >>>>> the quirk files to fit the new variable names. >>>> >>>> I'm fine with renames but let's split patches: first fix the bug >>>> of non-working auto-mute control, then refactoring. The former >>>> should go to 3.1 while the latter is queued to 3.2. >>> >>> Ok. If it also should go to 3.0, feel free to add cc: stable@kernel.org >>> (hmm, is that working even though kernel.org is down?) >>> >>> Here comes the 3.1 part of the patch. If you're happy with it, commit it >>> and I'll continue with the 3.2 renames. >> >> Hm, it's more complicated than I wanted. >> >> Could you have an example codec proc or alsa-info.sh file to simulate >> here? The logic is already there, so a few lines of corrections >> should suffice to fix the behavior. > > I guess the oneliner below should fix the bug. > Could you check it? > > > thanks, > > Takashi > > --- > diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c > index 70ba45e..5c4625e 100644 > --- a/sound/pci/hda/patch_realtek.c > +++ b/sound/pci/hda/patch_realtek.c > @@ -556,7 +556,7 @@ static void update_speakers(struct hda_codec *codec) > if (spec->autocfg.line_out_pins[0] == spec->autocfg.hp_pins[0] || > spec->autocfg.line_out_pins[0] == spec->autocfg.speaker_pins[0]) > return; > - if (!spec->automute_lines || !spec->automute) > + if ((spec->automute_hp_lo&& !spec->automute_lines) || !spec->automute) > on = 0; > else > on = spec->jack_present; > It does in this particular case, but it's very confusing that spec->automute_lines can be 0 while the lines are still automuted. To avoid such confusion, a more complicated patch is needed. Honestly, would you have accepted such a patch if I were the one proposing it? :-) -- David Henningsson, Canonical Ltd. http://launchpad.net/~diwic