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?
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.
thanks,
Takashi