On Thu, Jan 02, 2014 at 09:01:21AM +0100, Alexandre Ratchov wrote: > 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?
Yes, and it was already fixed in rev 1.209 http://www.openbsd.org/cgi-bin/cvsweb/src/sys/dev/pci/azalia.c.diff?r2=1.209&r1=1.208&f=u The HDMI/DisplayPort audio devices won't work at the moment and are omitted on purpose. > > 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;
