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.