All of lore.kernel.org
 help / color / mirror / Atom feed
From: Takashi Iwai <tiwai@suse.de>
To: Raymond Yau <superquad.vortex2@gmail.com>
Cc: basinilya@gmail.com, "Manolo Díaz" <diaz.manolo@gmail.com>,
	alsa-devel@alsa-project.org, "Miro Hodak" <mhodak127@gmail.com>
Subject: Re: HD-audio regression after commit 34588709af61be1550b4e2bcee5c85d0ac4f34d4
Date: Fri, 18 Jan 2013 16:30:37 +0100	[thread overview]
Message-ID: <s5hbocmmrtu.wl%tiwai@suse.de> (raw)
In-Reply-To: <CAN8ccibdPa+wOD99cY1sxfK0MSbUeL0MA6emiPCb93u3KMmrSg@mail.gmail.com>

At Fri, 18 Jan 2013 22:49:37 +0800,
Raymond Yau wrote:
> 
> > > It's already in the repository. Now none of the input sources work for
> > > me: front-mic, rear-mic nor input line. Alsa-info output is attached.
> > >
> > > commit 77ecb70ef5b022a1ee80169583753d85d7a9c396
> >
> > Hmm, through a quick glance, all look OK.
> >
> 
> It is strange that three input source are line but audio selector are not
> the same
> 
> Simple mixer control 'Input Source',0
>   Capabilities: cenum
>   Items: 'Front Mic' 'Rear Mic' 'Line' 'CD'
>   Item0: 'Line'
> Simple mixer control 'Input Source',1
>   Capabilities: cenum
>   Items: 'Front Mic' 'Rear Mic' 'Line' 'CD'
>   Item0: 'Line'
> Simple mixer control 'Input Source',2
>   Capabilities: cenum
>   Items: 'Front Mic' 'Rear Mic' 'Line' 'CD'
>   Item0: 'Line'
> 
> Node 0x0c [Audio Selector] wcaps 0x30010d: Stereo Amp-Out
>   Control: name="Capture Volume", index=0, device=0
>     ControlAmp: chs=3, dir=Out, idx=0, ofs=0
>   Control: name="Capture Switch", index=0, device=0
>     ControlAmp: chs=3, dir=Out, idx=0, ofs=0
>   Amp-Out caps: ofs=0x27, nsteps=0x36, stepsize=0x05, mute=1
>   Amp-Out vals:  [0x36 0x36]
>   Connection: 11
>      0x38 0x39 0x3a* 0x3b 0x3c 0x18 0x24 0x25 0x3d 0x20 0x1f
> Node 0x0d [Audio Selector] wcaps 0x30010d: Stereo Amp-Out
>   Control: name="Capture Volume", index=1, device=0
>     ControlAmp: chs=3, dir=Out, idx=0, ofs=0
>   Control: name="Capture Switch", index=1, device=0
>     ControlAmp: chs=3, dir=Out, idx=0, ofs=0
>   Amp-Out caps: ofs=0x27, nsteps=0x36, stepsize=0x05, mute=1
>   Amp-Out vals:  [0x36 0x36]
>   Connection: 10
>      0x38 0x39* 0x3a 0x3b 0x3c 0x18 0x24 0x25 0x3d 0x20
> Node 0x0e [Audio Selector] wcaps 0x30010d: Stereo Amp-Out
>   Control: name="Capture Volume", index=2, device=0
>     ControlAmp: chs=3, dir=Out, idx=0, ofs=0
>   Control: name="Capture Switch", index=2, device=0
>     ControlAmp: chs=3, dir=Out, idx=0, ofs=0
>   Amp-Out caps: ofs=0x27, nsteps=0x36, stepsize=0x05, mute=1
>   Amp-Out vals:  [0x36 0x36]
>   Connection: 10
>      0x38 0x39* 0x3a 0x3b 0x3c 0x18 0x24 0x25 0x3d 0x20

Good catch.  It's a recent regression.
I fixed now with the patch below.

test/hda-gen-parser and master branches are updated now with this and
other fixes.


thanks,

Takashi

---
From: Takashi Iwai <tiwai@suse.de>
Subject: [PATCH] ALSA: hda - Fix the wrong adc_idx for capture source

The patch "ALSA: hda - fix wrong adc_idx in generic parser" fixed the
adc_idx for the capture volume and capture switch controls.  But also
modified the adc_idx retrieval for the capture source controls
wrongly.  As multiple capture source controls are created in a single
shot with counts > 1, the id.index doesn't contain the real value.
The real index has to be taken via snd_ctl_get_ioffidx() as in the
original code.

This patch reverts the fixes partially to recover from the
regression.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
 sound/pci/hda/hda_generic.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/sound/pci/hda/hda_generic.c b/sound/pci/hda/hda_generic.c
index e4e71fa..29f37c9 100644
--- a/sound/pci/hda/hda_generic.c
+++ b/sound/pci/hda/hda_generic.c
@@ -2675,7 +2675,8 @@ static int mux_enum_get(struct snd_kcontrol *kcontrol,
 {
 	struct hda_codec *codec = snd_kcontrol_chip(kcontrol);
 	struct hda_gen_spec *spec = codec->spec;
-	unsigned int adc_idx = kcontrol->id.index;
+	/* the ctls are created at once with multiple counts */
+	unsigned int adc_idx = snd_ctl_get_ioffidx(kcontrol, &ucontrol->id);
 
 	ucontrol->value.enumerated.item[0] = spec->cur_mux[adc_idx];
 	return 0;
@@ -2685,7 +2686,7 @@ static int mux_enum_put(struct snd_kcontrol *kcontrol,
 			    struct snd_ctl_elem_value *ucontrol)
 {
 	struct hda_codec *codec = snd_kcontrol_chip(kcontrol);
-	unsigned int adc_idx = kcontrol->id.index;
+	unsigned int adc_idx = snd_ctl_get_ioffidx(kcontrol, &ucontrol->id);
 	return mux_select(codec, adc_idx,
 			  ucontrol->value.enumerated.item[0]);
 }
-- 
1.8.1

  reply	other threads:[~2013-01-18 15:30 UTC|newest]

Thread overview: 91+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-13 18:05 HD-audio regression after commit 34588709af61be1550b4e2bcee5c85d0ac4f34d4 Miro Hodak
2013-01-14  3:42 ` Raymond Yau
2013-01-14 11:03   ` Takashi Iwai
2013-01-14 13:46     ` Raymond Yau
2013-01-14 14:18       ` Takashi Iwai
2013-01-15  7:59         ` Takashi Iwai
2013-01-16  2:04           ` Raymond Yau
2013-01-16  6:47             ` Takashi Iwai
2013-01-16  7:19               ` Raymond Yau
2013-01-16  7:24                 ` Takashi Iwai
2013-01-14 11:37   ` Clemens Ladisch
2013-01-14 12:31   ` Manolo Díaz
2013-01-14 12:48     ` Takashi Iwai
2013-01-14 12:59       ` Manolo Díaz
2013-01-14 13:03         ` Takashi Iwai
2013-01-14 13:10           ` Manolo Díaz
2013-01-14 16:23           ` Manolo Díaz
2013-01-15  0:42             ` Raymond Yau
2013-01-15  8:53               ` Manolo Díaz
2013-01-16  1:52                 ` Raymond Yau
2013-01-16  8:49                   ` Manolo Díaz
2013-01-16  8:54                     ` Takashi Iwai
2013-01-16 12:37                       ` Raymond Yau
2013-01-16 12:39                       ` Manolo Díaz
2013-01-16 12:54                         ` Takashi Iwai
2013-01-16 13:04                           ` Manolo Díaz
2013-01-16 13:16                             ` Takashi Iwai
2013-01-16 13:55                               ` Manolo Díaz
2013-01-16 14:20                                 ` Takashi Iwai
2013-01-17  3:51                                   ` Raymond Yau
2013-01-17  6:30                                     ` Takashi Iwai
2013-01-17  6:40                                       ` Raymond Yau
2013-01-17  6:49                                         ` Takashi Iwai
2013-01-17  8:10                                           ` Miro Hodak
2013-01-17  9:04                                             ` Takashi Iwai
2013-01-17  9:24                                               ` Miro Hodak
2013-01-17  9:29                                                 ` Takashi Iwai
2013-01-17  9:42                                                   ` Miro Hodak
2013-01-17  9:55                                                     ` Takashi Iwai
2013-01-17 10:17                                                       ` Miro Hodak
2013-01-17 10:21                                                         ` Takashi Iwai
2013-01-17 10:32                                                           ` Miro Hodak
2013-01-17 11:09                                                             ` Takashi Iwai
2013-01-17 12:49                                                             ` Raymond Yau
2013-01-17 14:59                                                               ` Miro Hodak
2013-01-17 15:29                                                                 ` Raymond Yau
2013-01-17 15:33                                                                   ` hda_analyzer (was: Re: HD-audio regression after commit 34588709af61be1550b4e2bcee5c85d0ac4f34d4) David Henningsson
2013-01-17 15:32                                                                 ` HD-audio regression after commit 34588709af61be1550b4e2bcee5c85d0ac4f34d4 Takashi Iwai
2013-01-17 18:12                                                                   ` Manolo Díaz
2013-01-17 19:51                                                                     ` Miro Hodak
2013-01-17 21:12                                                                       ` ALSA versions versus kernel versions Daniel Griscom
2013-01-17 20:16                                                                     ` HD-audio regression after commit 34588709af61be1550b4e2bcee5c85d0ac4f34d4 Takashi Iwai
     [not found]                                                                       ` <20130117214043.5a1574ee@gmail.com>
2013-01-18  4:20                                                                         ` Miro Hodak
2013-01-18  7:04                                                                         ` Takashi Iwai
2013-01-18  7:31                                                                           ` Miro Hodak
2013-01-18  8:08                                                                             ` Manolo Díaz
2013-01-18  8:14                                                                               ` Miro Hodak
2013-01-18 10:17                                                                                 ` Takashi Iwai
2013-01-18 12:37                                                                                   ` Manolo Díaz
2013-01-18 13:49                                                                                     ` Takashi Iwai
2013-01-18 14:49                                                                                       ` Raymond Yau
2013-01-18 15:30                                                                                         ` Takashi Iwai [this message]
2013-01-18 16:48                                                                                           ` Manolo Díaz
2013-01-18 16:58                                                                                             ` Takashi Iwai
2013-01-18 17:51                                                                                               ` Manolo Díaz
2013-01-18 18:20                                                                                                 ` Manolo Díaz
2013-01-18 18:45                                                                                                   ` Takashi Iwai
     [not found]                                                                                                     ` <CA+S_cwrH6mjunDsn2w76Vpyk7XovOKpH0k_KoU_8SXjmisLAYw@mail.gmail.com>
2013-01-19  5:49                                                                                                       ` Raymond Yau
2013-01-19 11:12                                                                                                         ` Takashi Iwai
2013-01-19 11:11                                                                                                       ` Takashi Iwai
2013-01-20 19:54                                                                                                         ` Miro Hodak
2013-01-21  4:01                                                                                                           ` Raymond Yau
2013-01-21  8:18                                                                                                           ` Takashi Iwai
2013-01-21  8:54                                                                                                             ` Miro Hodak
2013-01-21  9:18                                                                                                               ` Raymond Yau
2013-01-21 17:08                                                                                                                 ` Miro Hodak
2013-01-21 17:29                                                                                                                   ` Takashi Iwai
2013-01-21 17:44                                                                                                                     ` Miro Hodak
2013-01-21 19:11                                                                                                                       ` Miro Hodak
2013-01-21 20:21                                                                                                                         ` Takashi Iwai
2013-01-22  7:05                                                                                                                           ` Takashi Iwai
2013-01-22  8:14                                                                                                                             ` Miro Hodak
2013-01-22  8:58                                                                                                                               ` Takashi Iwai
2013-01-22 10:06                                                                                                                                 ` Miro Hodak
2013-01-22 10:12                                                                                                                                   ` Takashi Iwai
2013-01-19  2:39                                                                                           ` Raymond Yau
2013-01-19 11:09                                                                                             ` Takashi Iwai
2013-01-19 12:37                                                                                               ` Raymond Yau
2013-01-19 16:56                                                                                                 ` Takashi Iwai
2013-01-18  7:43                                             ` Raymond Yau
2013-01-15  7:27             ` Takashi Iwai

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=s5hbocmmrtu.wl%tiwai@suse.de \
    --to=tiwai@suse.de \
    --cc=alsa-devel@alsa-project.org \
    --cc=basinilya@gmail.com \
    --cc=diaz.manolo@gmail.com \
    --cc=mhodak127@gmail.com \
    --cc=superquad.vortex2@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.