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