Patch for working AMD Geode CS5530 audio driver on HEAD

Rink Springer rink at FreeBSD.org
Sun Aug 3 16:27:08 UTC 2008


Hi,

As outlined in
http://lists.freebsd.org/pipermail/freebsd-hackers/2008-January/022986.html,
Alec had some problems with the snd_geode driver. While I cannot test
whether it works using Geode CS5536 hardware, I've managed to get the
driver to work using CS5530 hardware on FreeBSD HEAD.

The patch is available at
http://people.freebsd.org/~rink/various/ns_geode.diff - using this, my
Compaq Evo T30 flawlessly plays MP3's. The problem was that the busdma
tag allocation specifies a maximum allocation size of 65536 bytes, yet
it had to do so using 1 segment of at most 65535 bytes (note: 1 byte
less). Since the channel code tries to allocate 65536 bytes, this didn't
work [1]; yet, the return code check was messages up (sndbuf_alloc()
returns 0 on success, not -1 on failure) which caused page faults later
on.

I am interested in integrating this work in HEAD; however, if Alec
and/or Bruce could try, see and hack away to make it work on the CS5536
(or are willing to ship me a system ;-), that'd be great.

[1] Thanks to Scott Long for pointing me towards the right direction.

Regards,

-- 
Rink P.W. Springer                                - http://rink.nu
"Anyway boys, this is America. Just because you get more votes doesn't
 mean you win." - Fox Mulder


More information about the freebsd-hackers mailing list