[alsa-devel] Backported sbxfi driver (UNTESTED!)

The Source thesourcehim at gmail.com
Wed Oct 15 10:14:57 CEST 2008


Takashi Iwai пишет:
> At Wed, 15 Oct 2008 11:47:00 +0400,
> The Source wrote:
>   
>> Takashi Iwai пишет:
>>     
>>> At Wed, 15 Oct 2008 11:16:32 +0400,
>>> The Source wrote:
>>>   
>>>       
>>>> Takashi Iwai пишет:
>>>>     
>>>>         
>>>>> At Tue, 14 Oct 2008 15:24:22 +0400,
>>>>> The Source wrote:
>>>>>   
>>>>>       
>>>>>           
>>>>>> By the way, note, that not rate may cause oops but number of channles 
>>>>>> for example (wav that causes oops has mono mode and the one that just 
>>>>>> plays silently - stereo. Also the oops sample is 16bit, silent one is 
>>>>>> 24bit).
>>>>>>     
>>>>>>         
>>>>>>             
>>>>> This is an important information.  The driver basically supports only
>>>>> 16bit stereo samples natively.  The others are covered by alsa-lib,
>>>>> and this involves with the mmap mode.
>>>>>
>>>>> But I still wonder why 16bit mode.
>>>>>
>>>>> OK, the below is *THE* test I'd like ask you guys to try first.
>>>>>
>>>>> - Build the driver with --with-debug=detect option
>>>>> - Load the driver with debug=2 module option
>>>>> - Prepare a WAV file with 96kHz 16bit stereo, e.g. converted via sox
>>>>> - Raise the Master volume to the max
>>>>> - Run "aplay this.wav"
>>>>>
>>>>> At *each* run, check your kernel message.  If you get Oops, copy the
>>>>> whole log immediately.
>>>>>
>>>>> - If you get a DMA error or so in the kernel message, try to define
>>>>>   XXX_SYSTEM_TIMER in sbxfi.c, rebuild and reinstall the driver.
>>>>>   Run the same test.
>>>>>
>>>>> - If still any serious problem, load the module with debug=3 option,
>>>>>   and get the whole kernel message with full register accesses.
>>>>>
>>>>>
>>>>> thanks,
>>>>>
>>>>> Takashi
>>>>>
>>>>>   
>>>>>       
>>>>>           
>>>> I've done what you have asked. I've got no oopses or other things like 
>>>> that. But again not sound. I've tried with debug=2 and debug=3. 
>>>> Attaching the whole dmesg output.
>>>>     
>>>>         
>>> Thanks.  Judging from your logs, it seems that the timer IRQ isn't
>>> generated as expected, or the pointer (SRCCA register read) doesn't
>>> work, or all broken.
>>>
>>> Could you try with XXX_SYSTEM_TIMER?  This eliminates, at least, the
>>> timer issue.
>>>
>>>
>>> Takashi
>>>
>>>   
>>>       
>> I can't use system timer. changing #undef XXX_SYSTEM_TIMER to #define 
>> XXX_SYSTEM_TIMER causes this:
>> In file included from /mnt/e/temp/alsa-driver-unstable/pci/sbxfi/sbxfi.c:2:
>> /mnt/e/temp/alsa-driver-unstable/include/../alsa-kernel/pci/sbxfi/sbxfi.c: 
>> In function ‘sbxfi_timer_handle’:
>> /mnt/e/temp/alsa-driver-unstable/include/../alsa-kernel/pci/sbxfi/sbxfi.c:252: 
>> error: ‘status’ undeclared (first use in this function)
>> /mnt/e/temp/alsa-driver-unstable/include/../alsa-kernel/pci/sbxfi/sbxfi.c:252: 
>> error: (Each undeclared identifier is reported only once
>> /mnt/e/temp/alsa-driver-unstable/include/../alsa-kernel/pci/sbxfi/sbxfi.c:252: 
>> error: for each function it appears in.)
>> /mnt/e/temp/alsa-driver-unstable/include/../alsa-kernel/pci/sbxfi/sbxfi.c:252: 
>> warning: too many arguments for format
>>     
>
> Try the patch below.  In case you're using snapshot tarball, apply it
> with -p2 on alsa-kernel directory.
>
>
> Takashi
>
> diff --git a/sound/pci/sbxfi/sbxfi.c b/sound/pci/sbxfi/sbxfi.c
> index 9ff5fc4..d6b5b34 100644
> --- a/sound/pci/sbxfi/sbxfi.c
> +++ b/sound/pci/sbxfi/sbxfi.c
> @@ -249,7 +249,7 @@ static void sbxfi_handle_timer_callback(struct sbxfi *chip);
>  
>  static void sbxfi_timer_handle(unsigned long data)
>  {
> -	LOG(2, "TIMER ISR\n", status);
> +	LOG(2, "TIMER ISR\n");
>  	sbxfi_handle_timer_callback((struct sbxfi *)data);
>  }
>  
>
>
>   
Ok, I tested again and found that sound is actually played (with and 
without system timer), but:
1. The volume is extremely low. I had not only set volume to maximum in  
alsamixer but also set my audio 5.1 system volume to maximum to hear a 
sound.
2. The sound is very slow and glitchy. It plays much slower that it 
should and constant glitches occur.

Attaching dmesg output.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: dmesg.out.bz2
Type: application/x-bzip
Size: 5221 bytes
Desc: not available
Url : http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20081015/ee9bb55f/attachment.bz2 


More information about the Alsa-devel mailing list