[alsa-devel] Issue with creative Xfi PCIe ca0110-IBG

Guillem Solà garanda at flumotion.com
Tue Oct 13 12:26:29 CEST 2009


Takashi Iwai wrote:
> At Tue, 13 Oct 2009 11:59:14 +0200,
> Guillem Solà wrote:
>   
>> Takashi Iwai wrote:
>>     
>>> At Tue, 13 Oct 2009 10:48:48 +0200,
>>> Guillem Solà wrote:
>>>   
>>>       
>>>> Takashi Iwai wrote:
>>>>     
>>>>         
>>>>> At Fri, 09 Oct 2009 18:05:28 +0200,
>>>>> Guillem Solà wrote:
>>>>>   
>>>>>       
>>>>>           
>>>>>> Takashi Iwai wrote:
>>>>>>     
>>>>>>         
>>>>>>             
>>>>>>> At Fri, 09 Oct 2009 16:15:00 +0200,
>>>>>>> Guillem Solà wrote:
>>>>>>>   
>>>>>>>               
>>>>>> Ok Think I Finally get it :-)
>>>>>>
>>>>>> those are the latest steps I did, AFAIK it was the first commit after 
>>>>>> 2.6.31-rc5 as you said "The suspicious changes are the first one and the 
>>>>>> third one."
>>>>>>
>>>>>> deadff1665491afce124a8ff83f00f784161f660 is first bad commit
>>>>>>     
>>>>>>         
>>>>>>             
>>>>> Thanks!  That's what I expected (and worried)...
>>>>>
>>>>> What happens if you apply the patch below to the latest alsa driver
>>>>> (or 2.6.31-rc6)?
>>>>>
>>>>>
>>>>> Takashi
>>>>>
>>>>> ---
>>>>> diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
>>>>> index d0effa3..81663a7 100644
>>>>> --- a/sound/pci/hda/hda_intel.c
>>>>> +++ b/sound/pci/hda/hda_intel.c
>>>>> @@ -566,6 +566,7 @@ static void azx_free_cmd_io(struct azx *chip)
>>>>>  
>>>>>  static unsigned int azx_command_addr(u32 cmd)
>>>>>  {
>>>>> +#if 0 /* XXX */
>>>>>  	unsigned int addr = cmd >> 28;
>>>>>  
>>>>>  	if (addr >= AZX_MAX_CODECS) {
>>>>> @@ -574,6 +575,9 @@ static unsigned int azx_command_addr(u32 cmd)
>>>>>  	}
>>>>>  
>>>>>  	return addr;
>>>>> +#else
>>>>> +	return 0;
>>>>> +#endif
>>>>>  }
>>>>>  
>>>>>  static unsigned int azx_response_addr(u32 res)
>>>>> @@ -818,6 +822,7 @@ static unsigned int azx_get_response(struct hda_bus *bus,
>>>>>  				     unsigned int addr)
>>>>>  {
>>>>>  	struct azx *chip = bus->private_data;
>>>>> +	addr = 0; /* XXX */
>>>>>  	if (chip->single_cmd)
>>>>>  		return azx_single_get_response(bus, addr);
>>>>>  	else
>>>>>
>>>>>   
>>>>>       
>>>>>           
>>>> I tried the patch you have attached, it patched well (I checked it) but 
>>>> seems to not work
>>>>
>>>> After make I tried to modprobe snd-hda-intel-ca0110 and I saw in dmesg:
>>>>
>>>> hda-intel: Invalid position buffer, using LPIB read method instead.
>>>> alsactl[8292]: segfault at 0 ip (null) sp bfa83f1c error 14 in 
>>>> ld-2.5.so[54c000+1a000]
>>>> HDA Intel 0000:05:00.0: PCI INT A disabled
>>>>
>>>> and after reboot:
>>>>
>>>> HDA Intel 0000:05:00.0: PCI INT A -> GSI 38 (level, low) -> IRQ 38
>>>> hda-intel: spurious response 0x1102000a:0x1, last cmd=0x000000
>>>> hda-intel: azx_get_response timeout, switching to polling mode: last 
>>>> cmd=0x100f0000
>>>> hda-intel: Codec #1 probe error; disabling it...
>>>> hda-intel: spurious response 0x1102000a:0x1, last cmd=0x000000
>>>> hda_intel: azx_get_response timeout, switching to single_cmd mode: last 
>>>> cmd=0x100f0000
>>>> hda-intel: no codecs initialized
>>>> HDA Intel 0000:05:00.0: PCI INT A disabled
>>>>
>>>> It seems something went wrong
>>>>     
>>>>         
>>> It's not a right fix but a band-aid.  With that patch, load with
>>> probe_mask=0x01 option.
>>>
>>>
>>> Takashi
>>> _______________________________________________
>>> Alsa-devel mailing list
>>> Alsa-devel at alsa-project.org
>>> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
>>>   
>>>       
>> uhmm... don't know if I'm doing something wrong but
>>
>> modprobe snd-hda-codec-ca0110 probe_mask=0x01
>>
>> says:
>>
>> FATAL: Error inserting snd_hda_codec_ca0110 
>> (/lib/modules/2.6.31-rc6/extra/snd-hda-codec-ca0110.ko): Unknown symbol 
>> in module, or unknown parameter (see dmesg)
>>
>> in dmesg
>> snd_hda_codec_ca0110: Unknown parameter `probe_mask'
>>
>> probe_mask option isn't only for snd-hda-intel?
>>     
>
> Yes.  Load it like
>
> 	modprobe snd-hda-intel probe_mask=0x01
>
> The codec modules will be loaded automatically by that.
>
>
> Takashi
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel at alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
>   
I did it too without success, hda-intel seems not to load automatically 
snd-hda-codec-ca0110

(dmesg)
HDA Intel 0000:05:00.0: PCI INT A -> GSI 38 (level, low) -> IRQ 38
hda-intel: no codecs initialized
HDA Intel 0000:05:00.0: PCI INT A disabled

thanks,

Guillem Solà


More information about the Alsa-devel mailing list