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--