From: Tobin Davis <tdavis@dsl-only.net>
To: Takashi Iwai <tiwai@suse.de>
Cc: alsa-devel@lists.sourceforge.net
Subject: Re: BUG in >=1.0.13rc1
Date: Thu, 28 Dec 2006 13:13:07 -0800 [thread overview]
Message-ID: <1167340387.9563.102.camel@localhost> (raw)
In-Reply-To: <1167330473.9563.83.camel@localhost>
[-- Attachment #1.1: Type: text/plain, Size: 2236 bytes --]
Nope, this didn't fix the problem.
Here is what my testers are seeing:
ALSA /home/arojasp/Drivers/alsa-driver-1.0.14rc1patch/pci/hda/hda_codec.c:216: hda_codec: invalid dep_range_val 0:7fff
ALSA /home/arojasp/Drivers/alsa-driver-1.0.14rc1patch/pci/hda/hda_codec.c:216: hda_codec: invalid dep_range_val 0:7fff
ALSA /home/arojasp/Drivers/alsa-driver-1.0.14rc1patch/pci/hda/../../alsa-kernel/pci/hda/hda_intel.c:623: hda-intel: get_response timeout: IRS=0x0
.
. # repeated multiple times
.
ALSA /home/arojasp/Drivers/alsa-driver-1.0.14rc1patch/pci/hda/hda_codec.c:216: hda_codec: invalid dep_range_val 0:7fff
ALSA /home/arojasp/Drivers/alsa-driver-1.0.14rc1patch/pci/hda/../../alsa-kernel/pci/hda/hda_intel.c:623: hda-intel: get_response timeout: IRS=0x0
ALSA /home/arojasp/Drivers/alsa-driver-1.0.14rc1patch/pci/hda/../../alsa-kernel/pci/hda/hda_intel.c:623: hda-intel: get_response timeout: IRS=0x0
ALSA /home/arojasp/Drivers/alsa-driver-1.0.14rc1patch/pci/hda/../../alsa-kernel/pci/hda/hda_generic.c:683: hda_generic: no proper input path found
ALSA /home/arojasp/Drivers/alsa-driver-1.0.14rc1patch/pci/hda/../../alsa-kernel/pci/hda/hda_generic.c:431: hda_generic: no proper output path found
ALSA /home/arojasp/Drivers/alsa-driver-1.0.14rc1patch/pci/hda/../../alsa-kernel/pci/hda/hda_generic.c:1001: hda_generic: no PCM found
In further communications with one of the testers, a third phantom codec
is appearing with garbage data.
Codec: Generic ffff ID ffff
Address: 3
Vendor Id: 0xffffffff
Subsystem Id: 0xffffffff
Revision Id: 0xffffffff
They are getting this with and without my patch (even on
alsa-driver-1.0.13). It appears that the system bios is adding this, as
it is there after a clean reboot.
Any ideas?
Tobin
On Thu, 2006-12-28 at 10:27 -0800, Tobin Davis wrote:
> This could also explain why my patch for the Stac9250 is breaking.
>
> I've forwarded this fix to my testers. Hope it fixes their systems.
>
> On Thu, 2006-12-28 at 14:05 +0100, Takashi Iwai wrote:
>
> > Could you try ALSA HG version?
> > There was a bug in hda_generic.c that may cause Oops, and got fixed
> > recently after 1.0.14rc1.
> >
> >
> > Takashi
>
> --
> Tobin Davis <tdavis@dsl-only.net>
--
Tobin Davis <tdavis@dsl-only.net>
[-- Attachment #1.2: Type: text/html, Size: 3374 bytes --]
[-- Attachment #2: gateway-mp6954.patch.7 --]
[-- Type: text/x-patch, Size: 5553 bytes --]
diff -r 9998aa91f5da pci/hda/patch_sigmatel.c
--- a/pci/hda/patch_sigmatel.c Fri Dec 22 12:44:25 2006 +0100
+++ b/pci/hda/patch_sigmatel.c Thu Dec 28 11:58:03 2006 -0800
@@ -48,6 +48,11 @@ enum {
};
enum {
+ STAC_925x_REF,
+ STAC_925x_MODELS
+};
+
+enum {
STAC_D945_REF,
STAC_D945GTP3,
STAC_D945GTP5,
@@ -129,6 +134,18 @@ static hda_nid_t stac9200_dac_nids[1] =
0x02,
};
+static hda_nid_t stac925x_adc_nids[1] = {
+ 0x03,
+};
+
+static hda_nid_t stac925x_mux_nids[1] = {
+ 0x0f,
+};
+
+static hda_nid_t stac925x_dac_nids[1] = {
+ 0x02,
+};
+
static hda_nid_t stac922x_adc_nids[2] = {
0x06, 0x07,
};
@@ -160,6 +177,11 @@ static hda_nid_t stac9200_pin_nids[8] =
static hda_nid_t stac9200_pin_nids[8] = {
0x08, 0x09, 0x0d, 0x0e,
0x0f, 0x10, 0x11, 0x12,
+};
+
+static hda_nid_t stac925x_pin_nids[8] = {
+ 0x07, 0x08, 0x0a, 0x0b,
+ 0x0c, 0x0d, 0x10, 0x11,
};
static hda_nid_t stac922x_pin_nids[10] = {
@@ -238,6 +260,12 @@ static struct hda_verb stac9200_core_ini
static struct hda_verb stac9200_core_init[] = {
/* set dac0mux for dac converter */
{ 0x07, AC_VERB_SET_CONNECT_SEL, 0x00},
+ {}
+};
+
+static struct hda_verb stac925x_core_init[] = {
+ /* set dac0mux for dac converter */
+ { 0x06, AC_VERB_SET_CONNECT_SEL, 0x00},
{}
};
@@ -283,6 +311,23 @@ static struct snd_kcontrol_new stac9200_
HDA_CODEC_VOLUME("Capture Volume", 0x0a, 0, HDA_OUTPUT),
HDA_CODEC_MUTE("Capture Switch", 0x0a, 0, HDA_OUTPUT),
HDA_CODEC_VOLUME("Capture Mux Volume", 0x0c, 0, HDA_OUTPUT),
+ { } /* end */
+};
+
+static struct snd_kcontrol_new stac925x_mixer[] = {
+ HDA_CODEC_VOLUME("Master Playback Volume", 0xe, 0, HDA_OUTPUT),
+ HDA_CODEC_MUTE("Master Playback Switch", 0xe, 0, HDA_OUTPUT),
+ {
+ .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
+ .name = "Input Source",
+ .count = 1,
+ .info = stac92xx_mux_enum_info,
+ .get = stac92xx_mux_enum_get,
+ .put = stac92xx_mux_enum_put,
+ },
+ HDA_CODEC_VOLUME("Capture Volume", 0x09, 0, HDA_OUTPUT),
+ HDA_CODEC_MUTE("Capture Switch", 0x09, 0, HDA_OUTPUT),
+ HDA_CODEC_VOLUME("Capture Mux Volume", 0x0f, 0, HDA_OUTPUT),
{ } /* end */
};
@@ -408,6 +453,28 @@ static struct snd_pci_quirk stac9200_cfg
"Dell Latitude D620", STAC_REF),
SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01cb,
"Dell Latitude 120L", STAC_REF),
+ {} /* terminator */
+};
+
+static unsigned int ref925x_pin_configs[8] = {
+ 0x40c003f0, 0x424503f2, 0x01813022, 0x02a19021,
+ 0x90a70320, 0x02214210, 0x400003f1, 0x9033032e,
+};
+
+static unsigned int *stac925x_brd_tbl[STAC_925x_MODELS] = {
+ [STAC_REF] = ref925x_pin_configs,
+};
+
+static const char *stac925x_models[STAC_925x_MODELS] = {
+ [STAC_REF] = "ref",
+};
+
+static struct snd_pci_quirk stac925x_cfg_tbl[] = {
+ /* SigmaTel reference board */
+ SND_PCI_QUIRK(PCI_VENDOR_ID_INTEL, 0x2668, "DFI LanParty", STAC_REF),
+ SND_PCI_QUIRK(0x107b, 0x0366, "Gateway MP6954", STAC_REF),
+ SND_PCI_QUIRK(0x107b, 0x0461, "Gateway NX560XL", STAC_REF),
+ SND_PCI_QUIRK(0x1002, 0x437b, "Gateway MX6453", STAC_REF),
{} /* terminator */
};
@@ -1699,6 +1766,58 @@ static int patch_stac9200(struct hda_cod
return 0;
}
+static int patch_stac925x(struct hda_codec *codec)
+{
+ struct sigmatel_spec *spec;
+ int err;
+
+ spec = kzalloc(sizeof(*spec), GFP_KERNEL);
+ if (spec == NULL)
+ return -ENOMEM;
+
+ codec->spec = spec;
+ spec->num_pins = 8;
+ spec->pin_nids = stac925x_pin_nids;
+ spec->board_config = snd_hda_check_board_config(codec, STAC_925x_MODELS,
+ stac925x_models,
+ stac925x_cfg_tbl);
+ if (spec->board_config < 0) {
+ snd_printdd(KERN_INFO "hda_codec: Unknown model for STAC925x, using BIOS defaults\n");
+ err = stac92xx_save_bios_config_regs(codec);
+ if (err < 0) {
+ stac92xx_free(codec);
+ return err;
+ }
+ spec->pin_configs = spec->bios_pin_configs;
+ } else if (stac925x_brd_tbl[spec->board_config] != NULL) {
+ spec->pin_configs = stac925x_brd_tbl[spec->board_config];
+ snd_printdd(KERN_INFO "STAC925x: setting config regs\n");
+ stac92xx_set_config_regs(codec);
+ }
+
+ spec->adc_nids = stac925x_adc_nids;
+ spec->mux_nids = stac925x_mux_nids;
+ spec->num_muxes = 1;
+ spec->num_dmics = 0;
+
+ snd_printdd(KERN_INFO "STAC925x: Init.\n");
+ spec->init = stac925x_core_init;
+ spec->mixer = stac925x_mixer;
+
+ spec->multiout.dac_nids = spec->dac_nids;
+
+ snd_printdd(KERN_INFO "STAC925x: Parsing autoconfig.\n");
+ err = stac92xx_parse_auto_config(codec, 0x8, 0x7);
+ if (err < 0) {
+ stac92xx_free(codec);
+ return err;
+ }
+
+ codec->patch_ops = stac92xx_patch_ops;
+
+ return 0;
+}
+
static int patch_stac922x(struct hda_codec *codec)
{
struct sigmatel_spec *spec;
@@ -2149,6 +2268,12 @@ struct hda_codec_preset snd_hda_preset_s
{ .id = 0x83847627, .name = "STAC9271D", .patch = patch_stac927x },
{ .id = 0x83847628, .name = "STAC9274X5NH", .patch = patch_stac927x },
{ .id = 0x83847629, .name = "STAC9274D5NH", .patch = patch_stac927x },
+ { .id = 0x83847632, .name = "STAC9202", .patch = patch_stac925x },
+ { .id = 0x83847633, .name = "STAC9202D", .patch = patch_stac925x },
+ { .id = 0x83847634, .name = "STAC9250", .patch = patch_stac925x },
+ { .id = 0x83847635, .name = "STAC9250D", .patch = patch_stac925x },
+ { .id = 0x83847636, .name = "STAC9251", .patch = patch_stac925x },
+ { .id = 0x83847637, .name = "STAC9250D", .patch = patch_stac925x },
/* The following does not take into account .id=0x83847661 when subsys =
* 104D0C00 which is STAC9225s. Because of this, some SZ Notebooks are
* currently not fully supported.
[-- Attachment #3: Type: text/plain, Size: 347 bytes --]
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
[-- Attachment #4: Type: text/plain, Size: 161 bytes --]
_______________________________________________
Alsa-devel mailing list
Alsa-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/alsa-devel
prev parent reply other threads:[~2006-12-28 21:13 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-12-27 22:00 BUG in >=1.0.13rc1 risc
2006-12-27 22:32 ` Tobin Davis
2006-12-27 23:54 ` risc
2007-02-16 1:27 ` risc
[not found] ` <200702160335.20228.sjakub@gmail.com>
2007-02-16 20:57 ` risc
2007-02-17 5:19 ` Jakub Schmidtke
2007-02-22 16:19 ` Takashi Iwai
2006-12-28 13:05 ` Takashi Iwai
2006-12-28 18:05 ` risc
2006-12-28 18:27 ` Tobin Davis
2006-12-28 21:13 ` Tobin Davis [this message]
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=1167340387.9563.102.camel@localhost \
--to=tdavis@dsl-only.net \
--cc=alsa-devel@lists.sourceforge.net \
--cc=tiwai@suse.de \
/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.