snd_hda UAA patch second preview
Alexander Motin
mav at FreeBSD.org
Mon Aug 25 16:27:57 UTC 2008
Hi.
Here is second preview of my HDA sound driver update. As with the first
one I would be grateful for any feedback positive or negative.
Patch for 8-CURRENT:
http://people.freebsd.org/~mav/hda.20080825.patch
Patch for 7-STABLE (mostly the same):
http://people.freebsd.org/~mav/hda.7.20080825.patch
Full driver directory archive:
http://people.freebsd.org/~mav/hda.20080825.tgz
Main changes since first version:
- Record source selector completely rewritten. Now mixed recording and
multilevel mixed/multiplexed recording found on some codecs should work
fine. I have no possibility to test all of these on my hardware, so
feedbacks are wanted.
- Rewritten device hints parser. Now it is possible to specify names
instead of numeric codes for device type, connectivity and color. For
example:
hint.hdac.0.cad0.nid28.config="device=CD conn=Fixed color=Red"
- Sysctl that dumps current pin configuration (dev.hdac.0.pindump)
fixed. Setting it to nonzero value dumps current pin configuration and
jack detection/sensing status. It should be useful for debugging and
hints writing purposes.
- SPDIF output (may be input too, but I can't test it) implemented.
I'm not sure that it is done perfectly, completely or even correctly,
but I am able to playback both PCM and AC3 streams from mplayer on my
AD1988 codec and external audio receiver. If you will try AC3, make sure
you have disabled vchans for that dspX device with 'sysctl
dev.pcm.X.play.vchans=0'.
- Kernel verbose output improved to be more informative.
- Module unloading fixed.
- Asus MB quirk updated to work properly. Actually this quirk is not
really required as it only reconfigures codec from 5.1 output scheme to
2.0 output + 2 input.
- Numerous other fixes...
If you will have any questions/problems boot your system with verbose
logging. Driver prints a lot of usable information there.
While sending me reports please attach your kernel verbose boot output,
pin dump produced by `sysctl dev.hdac.0.pindump=1` and `cat
/dev/sndstat` output to your message.
Thanks.
--
Alexander Motin
More information about the freebsd-multimedia
mailing list