On Sun, Dec 29, 2013 at 10:24:27PM +0100, mark rowland wrote:
> I did a fresh install of the latest snapshot, audio is still buggy.
> I'm attaching a dmesg of the default kernel, a dmesg of a kernel I
> built after adding
> the option AZALIA_DEBUG, the output of mixerctl and the output of audioctl.
> 
> After more testing, I could replicate the following steps:
> 
> 1) I boot OpenBSD on my machine and login
> 2) I try to play some .ogg file with ogg123 or some .wav file with
> aucat -i, but I hear a grinding sound and in audioctl play.samples
> remains 0.
> 3) I try to play again the file and I hear nothing. Also ogg123/aucat
> seems stuck, thus I kill the process.
> 4) I stop sndiod and it is not very responsive:
> 
> # /etc/rc.d/sndiod stop
> sndiod(failed)
> # /etc/rc.d/sndiod stop
> sndiod(ok)
> # ps aux | grep sndiod
> _sndio   19767  0.0  0.0   680   984 ??  S<Es   8:27PM    0:00.05 (sndiod)
> #
> 
> After some time (10-15 secs) it finally exits, then I restart it:
> 
> # /etc/rc.d/sndiod start
> sndiod(ok)
> #
> 
> 5) I try to play again the file. If the machine is idle, I hear a
> noise that is different from the grinding sound I heard in step 2.
> If concurrently I'm doing some work (building the kernel or running ls
> -R /) I hear the audio (a bit distorted) of the .ogg/.wav file and
> audioctl
> shows that play.samples is increasing.
> 
> With sndiod not running (disabled in /etc/rc.conf.local), I could
> replicate the following steps:
> 
> 1) I boot OpenBSD on my machine and login.
> 2) I try to play some .wav file with aucat -i, I hear a grinding sound
> and play.sample remains 0. After some time the sound stops, aucat
> seems stuck, I kill it.
> 3) I try to play again the file. If the machine is idle I hear noise,
> if I am doing some work I hear the audio (a bit distorted) of the .wav
> file and play.samples increases.
> 

Thank you for the very detailed report. The problem is probably
caused by disabled PCIe snooping. Does this diff help?

Index: azalia.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/azalia.c,v
retrieving revision 1.208
diff -u -p -r1.208 azalia.c
--- azalia.c    6 Dec 2013 21:03:03 -0000       1.208
+++ azalia.c    2 Jan 2014 07:59:13 -0000
@@ -463,6 +463,9 @@ azalia_configure_pci(azalia_t *az)
        case PCI_PRODUCT_INTEL_6SERIES_HDA:
        case PCI_PRODUCT_INTEL_7SERIES_HDA:
        case PCI_PRODUCT_INTEL_8SERIES_HDA:
+       case PCI_PRODUCT_INTEL_CORE4G_HDA_1:
+       case PCI_PRODUCT_INTEL_CORE4G_HDA_2:
+       case PCI_PRODUCT_INTEL_CORE4G_HDA_3:
                reg = azalia_pci_read(az->pc, az->tag,
                    INTEL_PCIE_NOSNOOP_REG);
                reg &= INTEL_PCIE_NOSNOOP_MASK;

Reply via email to