[alsa-devel] 1.0.16->1.0.17 regression for some HDA NVidia's

Ozan Çağlayan ozan at pardus.org.tr
Fri Jul 11 13:31:25 CEST 2008


Takashi Iwai wrote On 12-07-2008 00:25:
> At Fri, 11 Jul 2008 09:31:59 +0300,
> Ozan Çağlayan wrote:
>   
>> Takashi Iwai wrote On 11-07-2008 20:54:
>>     
>>> To make sure: bdl_pos_adj=32 or higher doesn't work, too?
>>> Also, if you set bdl_pos_adj=0, do you get any warning messages?
>>>
>>> It's fine to take bdl_pos_adj=0 as default for Nvidia chips.  But,
>>> basically this value (when it's big enough) shouldn't disable the
>>> sound at all.
>>>   
>>>       
>> I've tried the values (2,8,16,32,64,128,256,1024,2048,4096,8192).
>> When the parameter is set to 2048,4096 or 8192, here's the dmesg message 
>> we get:
>>
>> ALSA ../alsa-kernel/pci/hda/hda_intel.c:1056: Too big adjustment 4096
>> ALSA ../alsa-kernel/pci/hda/hda_intel.c:1056: Too big adjustment 4096
>> ALSA ../alsa-kernel/pci/hda/hda_intel.c:1056: Too big adjustment 4096
>> ALSA ../alsa-kernel/pci/hda/hda_intel.c:1056: Too big adjustment 4096
>> hda-intel: IRQ timing workaround is activated for card #0. Suggest a 
>> bigger bdl_pos_adj.
>> ALSA ../alsa-kernel/pci/hda/hda_intel.c:1056: Too big adjustment 4096
>> ALSA ../alsa-kernel/pci/hda/hda_intel.c:1056: Too big adjustment 4096
>> ALSA ../alsa-kernel/pci/hda/hda_intel.c:1056: Too big adjustment 4096
>> ALSA ../alsa-kernel/pci/hda/hda_intel.c:1056: Too big adjustment 4096
>>
>> The sound works well with those values.
>>     
>
> It's because bdl_pos_adj=0 is taken as fallback.
>
>   
>> The other small values avoid pulse to work correctly with ALSA.
>>     
>
> What about other applications?  Could you run ALSA apps, e.g. aplay,
> without pulse?
>   
Yes. I can play an mp3 file with mplayer, using alsa output.
Without pulse everything was already fine..
>   
>> When the parameter is set 0, the sound works well and the driver outputs 
>> this message:
>> hda-intel: IRQ timing workaround is activated for card #0. Suggest a 
>> bigger bdl_pos_adj.
>>     
>
> So, it means that the problem still exists.  The driver delays the
> call of snd_pcm_period_elapsed() with a busy loop.  The bdl_pos_adj
> adds a constant delay, OTOH.
>   
So If I resume a little bit what we have now:

- On a system which does not use pulseaudio, the chipset works with 
1.0.16 and all 1.0.16 RC's.
- On a system using pulseaudio, it's impossible to get sound when using 
1.0.17rc2 and 1.0.17rc3 if bdl_pos_adj is not explicitly set to 0. dmesg 
output contains also these two lines when the module is loaded:

ACPI: PCI Interrupt 0000:00:10.1[B] -> Link [AAZA] -> GSI 22 (level, 
low) -> IRQ 22
hda-intel: IRQ timing workaround is activated for card #0. Suggest a 
bigger bdl_pos_adj.

-- 
Ozan Çağlayan




More information about the Alsa-devel mailing list