[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