[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