From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751962AbZGTGAe (ORCPT ); Mon, 20 Jul 2009 02:00:34 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751766AbZGTGAd (ORCPT ); Mon, 20 Jul 2009 02:00:33 -0400 Received: from cantor2.suse.de ([195.135.220.15]:57447 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751020AbZGTGAc (ORCPT ); Mon, 20 Jul 2009 02:00:32 -0400 Date: Mon, 20 Jul 2009 08:00:31 +0200 Message-ID: From: Takashi Iwai To: Robin Holt Cc: linux-kernel@vger.kernel.org Subject: Re: Commit 1e137f92 broke my Vaio VGN-FE550G's hda_intel driver. In-Reply-To: <20090719225538.GK6876@sgi.com> References: <20090719140102.GI6876@sgi.com> <20090719225538.GK6876@sgi.com> User-Agent: Wanderlust/2.12.0 (Your Wildest Dreams) SEMI/1.14.6 (Maruoka) FLIM/1.14.7 (=?ISO-8859-4?Q?Sanj=F2?=) APEL/10.6 Emacs/22.3 (x86_64-suse-linux-gnu) MULE/5.0 (SAKAKI) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org At Sun, 19 Jul 2009 17:55:38 -0500, Robin Holt wrote: > > > What about to pass model=vaio? Doesn't it work? > > That didn't change the behavior. > > > In anyways, please run alsa-info.sh with --no-upload option, and attach > > the generated file. > > Here is the output from alsa-info.sh. This was from the module load without > the model=vaio. Below, (search for ---Robin---) is the output from alsa-info.sh > with model=vaio. Thanks. This look really like a bug. The pin definition was wrongly placed. It should have been before the pin overrides. Could you try the patch below? With the patch, the driver would work even without any model option. Takashi --- diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index 41b5b3a..0a03b5c 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c @@ -5854,6 +5854,8 @@ static unsigned int *stac9872_brd_tbl[STAC_9872_MODELS] = { }; static struct snd_pci_quirk stac9872_cfg_tbl[] = { + SND_PCI_QUIRK_MASK(0x104d, 0xfff0, 0x81e0, + "Sony VAIO F/S", STAC_9872_VAIO), {} /* terminator */ }; @@ -5866,6 +5868,8 @@ static int patch_stac9872(struct hda_codec *codec) if (spec == NULL) return -ENOMEM; codec->spec = spec; + spec->num_pins = ARRAY_SIZE(stac9872_pin_nids); + spec->pin_nids = stac9872_pin_nids; spec->board_config = snd_hda_check_board_config(codec, STAC_9872_MODELS, stac9872_models, @@ -5877,8 +5881,6 @@ static int patch_stac9872(struct hda_codec *codec) stac92xx_set_config_regs(codec, stac9872_brd_tbl[spec->board_config]); - spec->num_pins = ARRAY_SIZE(stac9872_pin_nids); - spec->pin_nids = stac9872_pin_nids; spec->multiout.dac_nids = spec->dac_nids; spec->num_adcs = ARRAY_SIZE(stac9872_adc_nids); spec->adc_nids = stac9872_adc_nids;