Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 10 Jul 2005 05:15:23 +0800
From:      Ariff Abdullah <skywizard@MyBSD.org.my>
To:        noackjr@alumni.rice.edu
Cc:        freebsd-multimedia@freebsd.org, mat@cnd.mcgill.ca
Subject:   Re: Massive sound changes / fix (24/32bit pcm support, new sampling rate converter, various fixes)
Message-ID:  <20050710051523.0a67cd91.skywizard@MyBSD.org.my>
In-Reply-To: <42D02CA9.4080201@alumni.rice.edu>
References:  <42D02CA9.4080201@alumni.rice.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 09 Jul 2005 14:59:37 -0500
Jonathan Noack <noackjr@alumni.rice.edu> wrote:
> >> > Hardware spessific changes
> >> > ==========================
> >> 
> >> > 3. es137x.c / es137x.h
> >> >    * Register programming error during device initialization
> >> >      especially for CT4730 / EV1938 chip, causing misconfigured
> >> >      mixer (David Xu), crippled after power cycle (Kevin
> >Oberman). > >      Fixed.
> >> >    * Incorporate locking/spdif patches from Jon Noack. Not all
> >> >    es137x
> >> >      can really do spdif, clean it up a bit to only let few
> >> >      capable chip.
> >> 
> >> --- /var/log/dmesg.today        Sat Jul  9 13:13:45 2005
> >> +++ /var/run/dmesg.boot Sat Jul  9 20:04:47 2005
> >> @@ -57,7 +57,6 @@
> >>  pci0: <multimedia, audio> at device 7.5 (no driver attached)
> >>  pcm0: <Creative CT5880-C> port 0xb800-0xb83f irq 5 at device 9.0
> >on >  pci0 pcm0: <SigmaTel STAC9721/23 AC97 Codec>
> >> -pcm0: [GIANT-LOCKED]
> >>  xl0: <3Com 3c905C-TX Fast Etherlink XL> port 0xbc00-0xbc7f mem
> >>  0xe7000000-0xe700007f irq 11 at device 10.0 on pci0 miibus0:
> ><MII >  bus> on xl0 xlphy0: <3c905C 10/100 internal PHY> on miibus0
> >> 
> >> And the music plays just fine, no bad behavior so far.
> >>
> > Credit goes to Jonathan Noack for adding spdif / locking. If you
> > think there are lots of pops / crackling sound, you may as well
> > play around with sysctl hw.snd.pcm0.latency_timer (especially
> > during untarring big tarball).
> 
> My spdif work:
> http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/68594
>
Thanks for that.

> Mathew Kanner did the original locking, which I cleaned up a bit:
> http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/59349
> 
Oops... I thought it always you.

> The _real_ credit for my locking work goes to the horrible
> interactivity  problems that plagued -CURRENT about a year ago. 
> Adding locking to the  driver was a desperate attempt to get sound
> without pauses...
>
Plus, I've added hw.snd.pcm<unit>.latency_timer to reduce any
crackling noise down to nil (pciconf -w just too cryptic for that).
This really improve situation especially with VIA motherboard and
perhaps, others too.

> In any case, I've been running these changes for at least a year
> with no  problems.  I tried to pester folks into committing it many
> times (with  no success), so I am VERY excited about this work!
> 
> I don't know if you've touched the man pages at all, but my latest
> patch  includes a man page update for the spdif sysctl:
> http://www.noacks.org/freebsd/es137x.diff
> 
Currently I haven't touched any man pages at all. Can you do separate
patches for that? There are few new sysctls need to be documented,
perhaps you can do that too.

	es137x:
		1) hw.snd.pcm<unit>.latency_timer
		   - PCI latency timer adjustment. Most pops /
		     crackling issue can be solved by adjusting it to
		     appropriate value (especially on VIA mobo).

        General Sound Driver:
		1) hw.snd.feeder_rate_ratemin/ratemax
		   - Minimum / Maximum allowable rate
		2) hw.snd.feeder_rate_scaling
                   - Rate conversion precision / quality
		     (Most of the options already explained in
		      feeder_rate.c)
		3) hw.snd.feeder_rate_buffersize
                   - Buffer space for rate converter

There are few LORs (during boot) with this much integrated es137x
(which I do believe false positives). Perhaps you can reproduce
it by enabling WITNESS?

http://staff.mybsd.org.my/skywizard/FreeBSD/sound/LOR/es137x_lor.txt
(This is slightly outdated, some of it have bean dealt with)

Thanks for your works!

--

Ariff Abdullah
MyBSD

http://www.MyBSD.org.my (IPv6/IPv4)
http://staff.MyBSD.org.my (IPv6/IPv4)
http://tomoyo.MyBSD.org.my (IPv6/IPv4)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050710051523.0a67cd91.skywizard>