freebsd-nq/sys/dev/sound/pci
Alexander Motin 859159d164 My massive snd_hda driver update.
Because of using more clear and same time more functional codec parser
new driver is able to handle more codecs, use them better then before and
without most of previous quirks. All of tested codecs itself manage playback,
record, input mixing and monitoring quite fine. In all of investigated
trouble cases problem was found or in nonstandard codec usage or incorrect
codec configuration made by BIOS. Most of that cases could be fixed using
device hints, some of which are already included to the driver.

New driver supports multiple codecs per HDA bus, multiple audio function
groups per codec and multiple logical sound devices per audio function group.
So don't worry when you get several PCM devices instead of one, it is normal.
It is usual situation with powerful codecs to provide, for example, 3 PCM
devices: one for 7.1 playback and main recording, one for headset and one
for digital SPDIF I/O.

New driver implements Universal Audio Architecture (UAA) much better then
previous one. Most information about recommended codec usage now taken from
the codec configuration registers initialized by BIOS. User may alter that
configuration using device hints to reconfigure logical audio devices to
his needs in a very broad range up to the limits of the codec functionality.

New driver supports digital PCM playback and AC3 pass-through. I am not sure
about completeness of this implementation, but I have several success stories
including my own. Vchans subsystem does not support AC3 pass-through so it
had to be disabled for that devices at this moment.

New driver is ready for multichannel playback, but until our OSS is unable
to use this it will just duplicate same stereo stream into all channel
pairs.

New driver supports suspend/resume. I am unable to really test this part
myself, but I have got several success stories.

Driver has very informative verbose boot messages. So if you have any
questions or problems - enable and read them first.

Discussed on:	freebsd-multimedia@
Tested by:	many
2008-09-13 16:56:03 +00:00
..
hda My massive snd_hda driver update. 2008-09-13 16:56:03 +00:00
als4000.c Flush remaining malloc() cleanups (M_NOWAIT -> M_WAITOK). 2007-06-17 06:10:43 +00:00
als4000.h
atiixp.c Add support for trimmed down version of ATI SB600 AC97 audio 2007-11-04 16:03:10 +00:00
atiixp.h Correct SB600 AC97 Audio PCI ID, otherwise we will attach to the 2008-06-30 05:14:44 +00:00
au88x0.c Flush remaining malloc() cleanups (M_NOWAIT -> M_WAITOK). 2007-06-17 06:10:43 +00:00
au88x0.h
aureal.c Flush remaining malloc() cleanups (M_NOWAIT -> M_WAITOK). 2007-06-17 06:10:43 +00:00
aureal.h
cmi.c Flush remaining malloc() cleanups (M_NOWAIT -> M_WAITOK). 2007-06-17 06:10:43 +00:00
cmireg.h
cs4281.c Flush remaining malloc() cleanups (M_NOWAIT -> M_WAITOK). 2007-06-17 06:10:43 +00:00
cs4281.h
csa.c Make sure that we handle errors in device_get_children correctly. 2008-08-23 18:27:10 +00:00
csapcm.c Flush remaining malloc() cleanups (M_NOWAIT -> M_WAITOK). 2007-06-17 06:10:43 +00:00
csareg.h
csavar.h
ds1-fw.h
ds1.c Flush remaining malloc() cleanups (M_NOWAIT -> M_WAITOK). 2007-06-17 06:10:43 +00:00
ds1.h
emu10k1.c Flush remaining malloc() cleanups (M_NOWAIT -> M_WAITOK). 2007-06-17 06:10:43 +00:00
emu10kx-midi.c Update snd_emu10kx driver with recent perforce changes (and few 2007-09-12 07:43:43 +00:00
emu10kx-pcm.c Update snd_emu10kx driver with recent perforce changes (and few 2007-09-12 07:43:43 +00:00
emu10kx.c Spelling fix for interupt -> interrupt 2007-10-12 06:03:46 +00:00
emu10kx.h Update snd_emu10kx driver with recent perforce changes (and few 2007-09-12 07:43:43 +00:00
envy24.c Spelling fix for interupt -> interrupt 2007-10-12 06:03:46 +00:00
envy24.h Bring in a bunch of bug fixes and some code to support more chipsets. 2007-05-27 19:58:39 +00:00
envy24ht.c Spelling fix for interupt -> interrupt 2007-10-12 06:03:46 +00:00
envy24ht.h Bring in a bunch of bug fixes and some code to support more chipsets. 2007-05-27 19:58:39 +00:00
es137x.c Properly unlock mutex before returning. There was a slight mishap 2007-07-05 10:22:37 +00:00
es137x.h
fm801.c Flush remaining malloc() cleanups (M_NOWAIT -> M_WAITOK). 2007-06-17 06:10:43 +00:00
ich.c Disable AC97 microphone channel. Due to the channel allocation priority 2007-12-12 18:21:05 +00:00
ich.h
maestro3.c Flush remaining malloc() cleanups (M_NOWAIT -> M_WAITOK). 2007-06-17 06:10:43 +00:00
maestro_reg.h
maestro.c Limit total hardware playback channels to just 1. The reliability of 2007-12-14 02:16:26 +00:00
neomagic-coeff.h
neomagic.c Flush remaining malloc() cleanups (M_NOWAIT -> M_WAITOK). 2007-06-17 06:10:43 +00:00
neomagic.h
solo.c Flush remaining malloc() cleanups (M_NOWAIT -> M_WAITOK). 2007-06-17 06:10:43 +00:00
spicds.c Bring in a bunch of bug fixes and some code to support more chipsets. 2007-05-27 19:58:39 +00:00
spicds.h Bring in a bunch of bug fixes and some code to support more chipsets. 2007-05-27 19:58:39 +00:00
t4dwave.c Limit total playback channels to just 1, for ALi M5451. 2007-11-10 04:32:50 +00:00
t4dwave.h
via82c686.c Flush remaining malloc() cleanups (M_NOWAIT -> M_WAITOK). 2007-06-17 06:10:43 +00:00
via82c686.h
via8233.c Drain all callout handlers during driver detach appropriately. 2007-06-14 11:13:38 +00:00
via8233.h
vibes.c Flush remaining malloc() cleanups (M_NOWAIT -> M_WAITOK). 2007-06-17 06:10:43 +00:00
vibes.h