Last patch for this driver (against -CURRENT): snd_emu10kx_70_patch8

Update snd_emu10kx driver with recent perforce changes (and some
other changes too).

(without any real order)

1. Use device_get_nameunit for mutex naming
2. Add timer for low-latency playback
3. Move most mixer controls from sysctls to mixer(8) controls. This
is a largest part of this patch.
4. Add analog/digital switch (as a temporary sysctl)
5. Get back support for low-bitrate playback (with help of (2))
6. Change locking for exclusive I/O. Writing to non-PTR register
is almost safe and does not need to be ordered with PTR operations.
7. Disable MIDI until we get it to detach properly and fix memory
managment problems.
8. Enable multichannel playback by default. It is as stable as
single-channel mode. Multichannel recording is still an experimental
feature.
9. Multichannel options can be changed by loader tunables.
10. Add a way to disable card from a loader tunable.
11. Add new PCI IDs.
12. Debugger settings are loader tunables now.
14. Remove some unused variables.
15. Mark pcm sub-devices MPSAFE.
16. Partially revert rev. 1.9 changes by ariff@ (bus_setup_intr -> snd_setup_intr).

Tested on (see picture):

emu10kx0: <Creative Audigy 2 Value [SB0400]> port 0x9000-0x903f irq 17 at device 9.0 on pci0
emu10kx0: [ITHREAD]
emu10kx1: <Creative Audigy [SB0090]> port 0x9400-0x941f irq 18 at device 10.0 on pci0
emu10kx1: [ITHREAD]
emu10kx2: <Creative Audigy 2 [SB0240]> port 0x9c00-0x9c3f irq 19 at device 11.0 on pci0
emu10kx2: [ITHREAD]
emu10kx3: <Creative SBLive! 5.1 Digital [SB0220]> port 0xa400-0xa41f irq 16 at device 12.0 on pci0
emu10kx3: [ITHREAD]
pcm0: <EMU10Kx DSP front PCM interface> on emu10kx0
pcm0: <SigmaTel STAC9750/51 AC97 Codec>
pcm1: <EMU10Kx DSP rear PCM interface> on emu10kx0
pcm2: <EMU10Kx DSP center PCM interface> on emu10kx0
pcm3: <EMU10Kx DSP subwoofer PCM interface> on emu10kx0
pcm4: <EMU10Kx DSP side PCM interface> on emu10kx0
pcm5: <EMU10Kx DSP front PCM interface> on emu10kx1
pcm5: <TriTech TR28602 AC97 Codec>
pcm6: <EMU10Kx DSP rear PCM interface> on emu10kx1
pcm7: <EMU10Kx DSP center PCM interface> on emu10kx1
pcm8: <EMU10Kx DSP subwoofer PCM interface> on emu10kx1
pcm9: <EMU10Kx DSP front PCM interface> on emu10kx2
pcm9: <SigmaTel STAC9721/23 AC97 Codec>
pcm10: <EMU10Kx DSP rear PCM interface> on emu10kx2
pcm11: <EMU10Kx DSP center PCM interface> on emu10kx2
pcm12: <EMU10Kx DSP subwoofer PCM interface> on emu10kx2
pcm13: <EMU10Kx DSP front PCM interface> on emu10kx3
pcm13: <eMicro EM28028 AC97 Codec>
pcm14: <EMU10Kx DSP rear PCM interface> on emu10kx3

Good news - this driver in -CURRENT!. Original patches used to add it to -CURRENT are here. They should be applied in sequence.

netchild    2006-07-15 19:36:28 UTC

  FreeBSD src repository

  Added files:
    sys/modules/sound/driver/emu10kx Makefile 
    sys/dev/sound/pci    emu10kx-midi.c emu10kx-pcm.c emu10kx.c 
                         emu10kx.h 
    sys/gnu/dev/sound/pci p16v-alsa.h p17v-alsa.h 
  Log:
  Add snd_emu10kx driver for Creative SoundBlaster Live! and Audigy series
  sound cards with optional pseudo-multichannel playback.
  
  It's based on snd_emu10k1 sound driver. Single channel version is available
  from audio/emu10kx port since some time.
  
  The two new ALSA header files (GPLed), which contain Audigy 2 ("p16v") and
  Audigy 2 Value ("p17v") specific interfaces, are latest versions from ALSA
  Mercurial repository.
  
  This is not connected to the build yet.
  
  Submitted by:   Yuriy Tsibizov 
  
  Revision  Changes    Path
  1.1       +249 -0    src/sys/dev/sound/pci/emu10kx-midi.c (new)
  1.1       +965 -0    src/sys/dev/sound/pci/emu10kx-pcm.c (new)
  1.1       +3022 -0   src/sys/dev/sound/pci/emu10kx.c (new)
  1.1       +180 -0    src/sys/dev/sound/pci/emu10kx.h (new)
  1.1       +301 -0    src/sys/gnu/dev/sound/pci/p16v-alsa.h (new)
  1.1       +113 -0    src/sys/gnu/dev/sound/pci/p17v-alsa.h (new)
  1.1       +48 -0     src/sys/modules/sound/driver/emu10kx/Makefile (new)

netchild    2006-07-15 20:22:40 UTC

  FreeBSD src repository

  Modified files:
    sys/dev/sound        driver.c 
    sys/sys              param.h 
    sys/conf             NOTES files options 
    sys/modules/sound/driver Makefile 
  Log:
  - Connect the snd_emu10kx driver to the build. [1]
  - Bump __FreeBSD_version, no need to build the port now.
  
  Submitted by:   Yuriy Tsibizov  [1]
  
  Revision  Changes    Path
  1.1372    +3 -0      src/sys/conf/NOTES
  1.1130    +28 -0     src/sys/conf/files
  1.551     +3 -0      src/sys/conf/options
  1.18      +1 -1      src/sys/dev/sound/driver.c
  1.20      +3 -3      src/sys/modules/sound/driver/Makefile
  1.268     +1 -1      src/sys/sys/param.h

Old docs are available in English and Russian. I'll update them when I get some free time