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;

Reply via email to