[alsa-devel] New code for conexant chipsets in -mm tree

Takashi Iwai tiwai at suse.de
Wed Mar 28 15:09:52 CEST 2007


At Tue, 27 Mar 2007 15:50:09 -0300,
Rodrigo Luiz wrote:
> 
> Tobin Davis wrote:
> > The other thing to check is that you are not specifying a "model=" 
> > parameter in the modprobe.conf file.  The module should be allowed to 
> > autodetect your system.  Your previous comment about commenting out the 
> > "spec->init_verbs[1] = cxt5045_mic_sense_init_verbs;" line indicates 
> > that your system is using the "model=fujitsu" option for some reason.
> > 
> 
> My modprobe.conf is empty and I dont' give any paramter for this module.
> 
> But I also am not understanding. My test code:
> 
>          switch (board_config) {
>          case CXT5045_LAPTOP:
>                  codec->patch_ops.unsol_event = cxt5045_hp_unsol_event;
>                  spec->input_mux = &cxt5045_capture_source;
>                  spec->num_init_verbs = 2;
>                  spec->init_verbs[1] = cxt5045_hp_sense_init_verbs;
>                  spec->mixers[0] = cxt5045_mixers;
>                  codec->patch_ops.init = cxt5045_init;
>                  printk(KERN_DEBUG"cxt5045_laptop\n"); //for test
>                  break;
>          case CXT5045_FUJITSU:
>                  spec->input_mux = &cxt5045_capture_source;
>                  spec->num_init_verbs = 2;
> //              spec->init_verbs[1] = cxt5045_mic_sense_init_verbs;
>                  spec->mixers[0] = cxt5045_mixers;
>                  codec->patch_ops.init = cxt5045_init;
>                  printk(KERN_DEBUG"cxt5045_fujitsu\n"); //for test
>                  break;
> 
> And I see in log:
> 
> Mar 27 15:36:48 dig kernel: cxt5045_laptop
> 
> But if I uncomment the line "spec->init_verbs[1] = 
> cxt5045_mic_sense_init_verbs;", my speaker don't work and I receive 
> these messages in log too.
> 
> Mar 27 15:44:59 dig kernel: hda_intel: azx_get_response timeout, 
> switching to polling mode...
> Mar 27 15:45:00 dig kernel: hda_intel: azx_get_response timeout, 
> switching to single_cmd mode...
> 
> It's very strange. The case CXT5045_FUJITSU isn't executed, but it is 
> influencing in the module. It is truth. :/

It must be a coincidence.  The compiler optimization stripped out the 
verbs because no one is referring.  Try the patch below.


Takashi

diff -r 92288445bcd3 pci/hda/patch_conexant.c
--- a/pci/hda/patch_conexant.c	Wed Mar 28 13:42:25 2007 +0200
+++ b/pci/hda/patch_conexant.c	Wed Mar 28 15:06:52 2007 +0200
@@ -632,11 +632,13 @@ static struct hda_verb cxt5045_hp_sense_
 static struct hda_verb cxt5045_hp_sense_init_verbs[] = {
 	/* pin sensing on HP jack */
 	{0x11, AC_VERB_SET_UNSOLICITED_ENABLE, AC_USRSP_EN | CONEXANT_HP_EVENT},
+	{ } /* end */
 };
 
 static struct hda_verb cxt5045_mic_sense_init_verbs[] = {
 	/* pin sensing on HP jack */
 	{0x12, AC_VERB_SET_UNSOLICITED_ENABLE, AC_USRSP_EN | CONEXANT_MIC_EVENT},
+	{ } /* end */
 };
 
 #ifdef CONFIG_SND_DEBUG


More information about the Alsa-devel mailing list