Date: Thu, 26 Aug 2004 15:25:23 +0900 From: Pyun YongHyeon <yongari@kt-is.co.kr> To: sparc64@freebsd.org Subject: Revised cs4231 sound driver for Ultrasparcs Message-ID: <20040826062523.GB12164@kt-is.co.kr>
next in thread | raw e-mail | index | archive | help
Hello All, Here is a revised sound driver for SBus/EBus based Ultrasparcs. Changes from my old SBus sound driver: 1. Added support s4231 audio chip found on EBus based Ultrasparcs. 2. Added AFMT_S16_BE audio format. So there is no need to be invoked endian conversion routine in sound(4)(feeder_endian). Most PC based soundcards supports little-endian format only (AFMT_S16_LE). If these cards are used on sparc64, sound(4) would have to perform endian-conversion in kernel. Of course, this reduces playback/capture performance. 3. bug fix for mixer settings 4. bug fix for skipping audio samples on APC DMA Audio application notes: Well written audio applications, endian-clean and LP64 ready applications, should work without any problems. For instance, mpg123, mp3blaster, mplayer works well. xmms, one of most popular player, needs additional patch from here. <xmms-1.2.10 patch for sparc64> http://www.kr.freebsd.org/~yongari/patch-OSS.sparc64 Due to lack of X supports on my sparc64, audio playback on xmms was tested on a remote i386 X server. Known bugs & limitations: Audio capture(recording) was not tested at all. Full-duplex operation may not work. The driver was tested on Ultra2 and AXe. Installation: 1. get the driver file and patch your source tree #fetch http://www.kr.freebsd.org/~yongari/cs4231.freebsd.diff #cd /usr/src #patch -p0 < /path/to/patch-file 2. build kernel and kernel modules #cd /usr/src #make buildkernel KERNCONF=YOUR_KERNEL_CONFIG #make installkernel KERNCONF=YOUR_KERNEL_CONFIG If you don't want to use the sound driver as a kernel module, you can add the following lines in your kernel configuration. device sound device "snd_cs4231" 3. reboot 4. load snd_cs4231.ko driver module and play Note, you may want to mute speaker output with mixer(8) on Ultra1/2. * You may notice all sound drivers are installed by my patch. But I don't know whether these drivers are functional or not on sparc64. It wouldn't surprise me if none of the drivers except snd_cs4231 work on sparc64. Since I have a trident 4dwave PCI card, I can help to make it work on sparc64 provided that I have more time and requests from users. The patch is for 6-CURRENT and is available at: http://www.kr.freebsd.org/~yongari/cs4231.freebsd.diff (The patch may be applied to 5.3BETA or higher as well.) If you are interested in audio support on sparc64, please give it a try and let me know how it goes. Thanks. Regards, Pyun YongHyeon -- Pyun YongHyeon <http://www.kr.freebsd.org/~yongari>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040826062523.GB12164>