Subject: Re: PR kern/22788 esound completely freezes system
To: None <tech-kern@NetBSD.org>
From: Juan RP <juan@xtraeme.unixbsd.org>
List: tech-kern
Date: 03/25/2004 21:09:11
--Signature=_Thu__25_Mar_2004_21_09_11_+0100_PbXEtQ8lU4EovzOh
Content-Type: text/plain; charset=US-ASCII
Content-Disposition: inline
Content-Transfer-Encoding: 7bit


Hi,

I've been using NetBSD perfectly without any problem under my AMD/i386 box, but
there is one exception, which is very annoying, the auvia(4) driver seems to
hang my box when esound is used. Looking deeply into the problem, I've found
some really weird things in our driver, looks like we are not using the
correct registers when using the VIA VT823xx chipsets. I used FreeBSD on the
same machine and it worked perfectly (even with multiple sources playing
together).

From src/sys/dev/pci/auvia.c: (NetBSD -current)

/* The following are 8233 specific */
#define         AUVIA_RPCTRL_STOP               0x04
#define         AUVIA_RPCTRL_EOL                0x02
#define         AUVIA_RPCTRL_FLAG               0x01
#define AUVIA_RP_MODE                   0x02            /* 82c686 specific */
#define         AUVIA_RPMODE_INTR_FLAG          0x01
#define         AUVIA_RPMODE_INTR_EOL           0x02
#define         AUVIA_RPMODE_STEREO             0x10
#define         AUVIA_RPMODE_16BIT              0x20
#define         AUVIA_RPMODE_AUTOSTART          0x80
#define AUVIA_RP_DMAOPS_BASE            0x04

Now looking into FreeBSD sources: (src/sys/dev/sound/pci/via82c686.h)

#define         VIA_RPMODE_INTR_FLAG          0x01
#define         VIA_RPMODE_INTR_EOL           0x02
#define         VIA_RPMODE_STEREO             0x10
#define         VIA_RPMODE_16BIT              0x20
#define         VIA_RPMODE_AUTOSTART          0x80
#define VIA_PLAY_DMAOPS_BASE          0x04
#define VIA_RECORD_DMAOPS_BASE        0x14
#define VIA_PLAY_DMAOPS_COUNT         0x0C
#define VIA_RECORD_DMAOPS_COUNT       0x1C

So, looks like that our auvia(4) driver is using the registers from the chipset
VIA VT82c686* on the chipsets VIA VT823x ???!!

I don't know enough to fix that, but please this should be fixed (before 2.0),
because it's really a critical bug.

Thanks,

-- 
	Juan RP <juan@xtraeme.unixbsd.org>

--Signature=_Thu__25_Mar_2004_21_09_11_+0100_PbXEtQ8lU4EovzOh
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (NetBSD)

iD8DBQFAYzxpypkLYVDran0RApeTAJ9SnbGT/v+b9MoAdmiTnRXCyYqCKwCfaKba
pRtVceFpMcB3NgtowF/k42A=
=dTUY
-----END PGP SIGNATURE-----

--Signature=_Thu__25_Mar_2004_21_09_11_+0100_PbXEtQ8lU4EovzOh--