Author: pluto                        Date: Wed Jun 22 15:45:01 2005 GMT
Module: SOURCES                       Tag: LINUX_2_6
---- Log message:
- post 2.6.12 fixes.

---- Files affected:
SOURCES:
   linux-2.6-alsa-1.0.9plus-20050622.patch (NONE -> 1.1.2.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/linux-2.6-alsa-1.0.9plus-20050622.patch
diff -u /dev/null SOURCES/linux-2.6-alsa-1.0.9plus-20050622.patch:1.1.2.1
--- /dev/null   Wed Jun 22 17:45:01 2005
+++ SOURCES/linux-2.6-alsa-1.0.9plus-20050622.patch     Wed Jun 22 17:44:56 2005
@@ -0,0 +1,22914 @@
+
+ Documentation/sound/alsa/ALSA-Configuration.txt              |  127 
+ Documentation/sound/alsa/CMIPCI.txt                          |   41 
+ Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl |    6 
+ Documentation/sound/alsa/emu10k1-jack.txt                    |   74 
+ Documentation/sound/alsa/hdspm.txt                           |  362 +
+ include/sound/ac97_codec.h                                   |    8 
+ include/sound/asound.h                                       |   16 
+ include/sound/control.h                                      |    2 
+ include/sound/emu10k1.h                                      |   42 
+ include/sound/gus.h                                          |   23 
+ include/sound/hdspm.h                                        |  131 
+ include/sound/pcm.h                                          |   32 
+ include/sound/seq_midi_event.h                               |    2 
+ include/sound/seq_virmidi.h                                  |    1 
+ include/sound/timer.h                                        |    2 
+ include/sound/version.h                                      |    4 
+ sound/Kconfig                                                |    5 
+ sound/arm/Kconfig                                            |    6 
+ sound/arm/Makefile                                           |    3 
+ sound/arm/aaci.c                                             |  968 ++
+ sound/arm/aaci.h                                             |  246 
+ sound/arm/devdma.c                                           |   81 
+ sound/arm/devdma.h                                           |    3 
+ sound/core/control.c                                         |    4 
+ sound/core/memalloc.c                                        |  201 
+ sound/core/oss/pcm_oss.c                                     |   33 
+ sound/core/oss/pcm_plugin.c                                  |    5 
+ sound/core/pcm.c                                             |    3 
+ sound/core/pcm_lib.c                                         |   52 
+ sound/core/pcm_memory.c                                      |    1 
+ sound/core/pcm_misc.c                                        |   16 
+ sound/core/pcm_native.c                                      |   74 
+ sound/core/seq/oss/seq_oss_synth.c                           |   24 
+ sound/core/seq/seq_dummy.c                                   |    5 
+ sound/core/seq/seq_midi.c                                    |    2 
+ sound/core/seq/seq_midi_event.c                              |    6 
+ sound/core/seq/seq_queue.c                                   |    3 
+ sound/core/seq/seq_queue.h                                   |    1 
+ sound/core/seq/seq_timer.c                                   |    3 
+ sound/core/seq/seq_timer.h                                   |    2 
+ sound/core/seq/seq_virmidi.c                                 |    8 
+ sound/core/sound.c                                           |    1 
+ sound/core/timer.c                                           |  100 
+ sound/core/timer_compat.c                                    |    5 
+ sound/drivers/vx/vx_pcm.c                                    |   12 
+ sound/i2c/tea6330t.c                                         |    3 
+ sound/isa/Kconfig                                            |    1 
+ sound/isa/ad1816a/ad1816a.c                                  |    2 
+ sound/isa/cs423x/cs4236.c                                    |    3 
+ sound/isa/gus/gus_io.c                                       |   14 
+ sound/isa/gus/gus_main.c                                     |    3 
+ sound/isa/gus/gus_mem.c                                      |   12 
+ sound/isa/gus/gus_pcm.c                                      |    3 
+ sound/isa/gus/gus_reset.c                                    |    3 
+ sound/isa/gus/gus_synth.c                                    |    3 
+ sound/isa/gus/gus_tables.h                                   |    4 
+ sound/isa/gus/gus_volume.c                                   |    8 
+ sound/pci/Kconfig                                            |   13 
+ sound/pci/ac97/ac97_codec.c                                  |   71 
+ sound/pci/ac97/ac97_patch.c                                  |  585 +
+ sound/pci/ac97/ac97_patch.h                                  |    1 
+ sound/pci/ali5451/ali5451.c                                  |  283 
+ sound/pci/als4000.c                                          |    4 
+ sound/pci/atiixp.c                                           |    6 
+ sound/pci/atiixp_modem.c                                     |   42 
+ sound/pci/au88x0/au88x0.c                                    |    2 
+ sound/pci/azt3328.c                                          |    2 
+ sound/pci/bt87x.c                                            |    2 
+ sound/pci/ca0106/ca0106.h                                    |   72 
+ sound/pci/ca0106/ca0106_main.c                               |  211 
+ sound/pci/ca0106/ca0106_mixer.c                              |   76 
+ sound/pci/ca0106/ca0106_proc.c                               |   31 
+ sound/pci/cmipci.c                                           |  159 
+ sound/pci/cs4281.c                                           |   10 
+ sound/pci/cs46xx/cs46xx.c                                    |    2 
+ sound/pci/cs46xx/cs46xx_lib.c                                |    3 
+ sound/pci/emu10k1/emu10k1.c                                  |    2 
+ sound/pci/emu10k1/emu10k1_main.c                             |  192 
+ sound/pci/emu10k1/emu10k1x.c                                 |    8 
+ sound/pci/emu10k1/emufx.c                                    |   56 
+ sound/pci/emu10k1/emumixer.c                                 |   14 
+ sound/pci/emu10k1/emupcm.c                                   |    6 
+ sound/pci/emu10k1/emuproc.c                                  |   89 
+ sound/pci/emu10k1/irq.c                                      |   46 
+ sound/pci/emu10k1/p16v.c                                     |  367 +
+ sound/pci/ens1370.c                                          |    2 
+ sound/pci/es1938.c                                           |    2 
+ sound/pci/es1968.c                                           |    3 
+ sound/pci/fm801.c                                            |    3 
+ sound/pci/hda/Makefile                                       |    2 
+ sound/pci/hda/hda_codec.c                                    |  206 
+ sound/pci/hda/hda_codec.h                                    |   30 
+ sound/pci/hda/hda_generic.c                                  |   14 
+ sound/pci/hda/hda_intel.c                                    |  119 
+ sound/pci/hda/hda_local.h                                    |   37 
+ sound/pci/hda/hda_patch.h                                    |    3 
+ sound/pci/hda/hda_proc.c                                     |   56 
+ sound/pci/hda/patch_analog.c                                 |  693 +-
+ sound/pci/hda/patch_cmedia.c                                 |  218 
+ sound/pci/hda/patch_realtek.c                                | 2787 +++++---
+ sound/pci/hda/patch_sigmatel.c                               |  666 +
+ sound/pci/ice1712/amp.c                                      |   30 
+ sound/pci/ice1712/amp.h                                      |   16 
+ sound/pci/ice1712/ice1712.c                                  |    2 
+ sound/pci/ice1712/ice1712.h                                  |    5 
+ sound/pci/ice1712/ice1724.c                                  |    2 
+ sound/pci/ice1712/phase.c                                    |  728 ++
+ sound/pci/ice1712/phase.h                                    |   19 
+ sound/pci/ice1712/vt1720_mobo.c                              |    9 
+ sound/pci/ice1712/vt1720_mobo.h                              |    4 
+ sound/pci/intel8x0.c                                         |  156 
+ sound/pci/intel8x0m.c                                        |   80 
+ sound/pci/korg1212/korg1212.c                                |    2 
+ sound/pci/maestro3.c                                         |  222 
+ sound/pci/mixart/mixart.c                                    |    2 
+ sound/pci/nm256/nm256.c                                      |    2 
+ sound/pci/rme32.c                                            |    2 
+ sound/pci/rme96.c                                            |    2 
+ sound/pci/rme9652/Makefile                                   |    2 
+ sound/pci/rme9652/hdsp.c                                     |   30 
+ sound/pci/rme9652/hdspm.c                                    | 3671 
+++++++++++
+ sound/pci/rme9652/rme9652.c                                  |   16 
+ sound/pci/sonicvibes.c                                       |    2 
+ sound/pci/trident/trident.c                                  |    5 
+ sound/pci/via82xx.c                                          |  145 
+ sound/pci/via82xx_modem.c                                    |   38 
+ sound/pci/vx222/vx222.c                                      |    2 
+ sound/pci/ymfpci/ymfpci.c                                    |    2 
+ sound/pci/ymfpci/ymfpci_main.c                               |   35 
+ sound/pcmcia/vx/vx_entry.c                                   |    3 
+ sound/synth/emux/emux_effect.c                               |    6 
+ sound/usb/Kconfig                                            |    1 
+ sound/usb/usbaudio.c                                         |  308 
+ sound/usb/usbaudio.h                                         |   11 
+ sound/usb/usbmidi.c                                          |  128 
+ sound/usb/usbmixer.c                                         |  588 +
+ sound/usb/usbmixer_maps.c                                    |  126 
+ sound/usb/usbquirks.h                                        |  298 
+ sound/usb/usx2y/usbusx2y.c                                   |    2 
+ sound/usb/usx2y/usbusx2yaudio.c                              |    6 
+ 140 files changed, 13941 insertions(+), 2768 deletions(-)
+
+diff --git a/Documentation/sound/alsa/ALSA-Configuration.txt 
b/Documentation/sound/alsa/ALSA-Configuration.txt
+--- a/Documentation/sound/alsa/ALSA-Configuration.txt
++++ b/Documentation/sound/alsa/ALSA-Configuration.txt
+@@ -615,9 +615,11 @@ Prior to version 0.9.0rc4 options had a 
+   Module snd-hda-intel
+   --------------------
+ 
+-    Module for Intel HD Audio (ICH6, ICH6M, ICH7)
++    Module for Intel HD Audio (ICH6, ICH6M, ICH7), ATI SB450,
++             VIA VT8251/VT8237A
+ 
+     model     - force the model name
++    position_fix - Fix DMA pointer (0 = FIFO size, 1 = none, 2 = POSBUF)
+ 
+     Module supports up to 8 cards.
+ 
+@@ -635,6 +637,10 @@ Prior to version 0.9.0rc4 options had a 
+         5stack        5-jack in back, 2-jack in front
+         5stack-digout 5-jack in back, 2-jack in front, a SPDIF out
+         w810          3-jack
++        z71v          3-jack (HP shared SPDIF)
++        asus          3-jack
++        uniwill       3-jack
++        F1734         2-jack
+ 
+       CMI9880
+         minimal       3-jack in back
+@@ -642,6 +648,15 @@ Prior to version 0.9.0rc4 options had a 
+         full          6-jack in back, 2-jack in front
+         full_dig      6-jack in back, 2-jack in front, SPDIF I/O
+         allout        5-jack in back, 2-jack in front, SPDIF out
++        auto          auto-config reading BIOS (default)
++
++    Note 2: If you get click noises on output, try the module option
++          position_fix=1 or 2.  position_fix=1 will use the SD_LPIB
++          register value without FIFO size correction as the current
++          DMA pointer.  position_fix=2 will make the driver to use
++          the position buffer instead of reading SD_LPIB register.
++          (Usually SD_LPLIB register is more accurate than the
++          position buffer.)
+ 
+   Module snd-hdsp
+   ---------------
+@@ -660,7 +675,19 @@ Prior to version 0.9.0rc4 options had a 
+           module did formerly.  It will allocate the buffers in advance
+           when any HDSP cards are found.  To make the buffer
+           allocation sure, load snd-page-alloc module in the early
+-          stage of boot sequence.
++          stage of boot sequence.  See "Early Buffer Allocation"
++        section.
++
++  Module snd-hdspm
++  ----------------
++
++    Module for RME HDSP MADI board.
++
++    precise_ptr               - Enable precise pointer, or disable.
++    line_outs_monitor - Send playback streams to analog outs by default.
++    enable_monitor    - Enable Analog Out on Channel 63/64 by default.
++
++    See hdspm.txt for details.
+ 
+   Module snd-ice1712
+   ------------------
+@@ -677,15 +704,19 @@ Prior to version 0.9.0rc4 options had a 
+                         * TerraTec EWS 88D
+                         * TerraTec EWX 24/96
+                         * TerraTec DMX 6Fire
++                      * TerraTec Phase 88
+                         * Hoontech SoundTrack DSP 24
+                         * Hoontech SoundTrack DSP 24 Value
+                         * Hoontech SoundTrack DSP 24 Media 7.1
++                      * Event Electronics, EZ8
+                         * Digigram VX442
++                      * Lionstracs, Mediastaton
+ 
+     model       - Use the given board model, one of the following:
+                 delta1010, dio2496, delta66, delta44, audiophile, delta410,
+                 delta1010lt, vx442, ewx2496, ews88mt, ews88mt_new, ews88d,
+-                dmx6fire, dsp24, dsp24_value, dsp24_71, ez8
++                dmx6fire, dsp24, dsp24_value, dsp24_71, ez8,
++                phase88, mediastation
+     omni      - Omni I/O support for MidiMan M-Audio Delta44/66
+     cs8427_timeout - reset timeout for the CS8427 chip (S/PDIF transciever)
+                      in msec resolution, default value is 500 (0.5 sec)
+@@ -694,20 +725,46 @@ Prior to version 0.9.0rc4 options had a 
+     is not used with all Envy24 based cards (for example in the MidiMan Delta
+     serie).
+ 
++    Note: The supported board is detected by reading EEPROM or PCI
++        SSID (if EEPROM isn't available).  You can override the
++        model by passing "model" module option in case that the
++        driver isn't configured properly or you want to try another
++        type for testing.
++
+   Module snd-ice1724
+   ------------------
+ 
+-    Module for Envy24HT (VT/ICE1724) based PCI sound cards.
++    Module for Envy24HT (VT/ICE1724), Envy24PT (VT1720) based PCI sound cards.
+                       * MidiMan M Audio Revolution 7.1
+                       * AMP Ltd AUDIO2000
+-                      * TerraTec Aureon Sky-5.1, Space-7.1
++                      * TerraTec Aureon 5.1 Sky
++                      * TerraTec Aureon 7.1 Space
++                      * TerraTec Aureon 7.1 Universe
++                      * TerraTec Phase 22
++                      * TerraTec Phase 28
++                      * AudioTrak Prodigy 7.1
++                      * AudioTrak Prodigy 192
++                      * Pontis MS300
++                      * Albatron K8X800 Pro II 
++                      * Chaintech ZNF3-150
++                      * Chaintech ZNF3-250
++                      * Chaintech 9CJS
++                      * Chaintech AV-710
++                      * Shuttle SN25P
+ 
+     model       - Use the given board model, one of the following:
+-                revo71, amp2000, prodigy71, aureon51, aureon71,
+-                k8x800
++                revo71, amp2000, prodigy71, prodigy192, aureon51,
++                aureon71, universe, k8x800, phase22, phase28, ms300,
++                av710
+ 
+     Module supports up to 8 cards and autoprobe.
+ 
++    Note: The supported board is detected by reading EEPROM or PCI
++        SSID (if EEPROM isn't available).  You can override the
++        model by passing "model" module option in case that the
++        driver isn't configured properly or you want to try another
++        type for testing.
++
+   Module snd-intel8x0
+   -------------------
+ 
+@@ -1026,7 +1083,8 @@ Prior to version 0.9.0rc4 options had a 
+           module did formerly.  It will allocate the buffers in advance
+           when any RME9652 cards are found.  To make the buffer
+           allocation sure, load snd-page-alloc module in the early
+-          stage of boot sequence.
++          stage of boot sequence.  See "Early Buffer Allocation"
++        section.
+ 
+   Module snd-sa11xx-uda1341 (on arm only)
+   ---------------------------------------
+@@ -1211,16 +1269,18 @@ Prior to version 0.9.0rc4 options had a 
+   ------------------
+ 
+     Module for AC'97 motherboards based on VIA 82C686A/686B, 8233,
+-    8233A, 8233C, 8235 (south) bridge.
++    8233A, 8233C, 8235, 8237 (south) bridge.
+ 
+     mpu_port  - 0x300,0x310,0x320,0x330, otherwise obtain BIOS setup
+                 [VIA686A/686B only]
+     joystick  - Enable joystick (default off) [VIA686A/686B only]
+     ac97_clock        - AC'97 codec clock base (default 48000Hz)
+     dxs_support       - support DXS channels,
+-                0 = auto (defalut), 1 = enable, 2 = disable,
+-                3 = 48k only, 4 = no VRA
+-                [VIA8233/C,8235 only]
++                0 = auto (default), 1 = enable, 2 = disable,
++                3 = 48k only, 4 = no VRA, 5 = enable any sample
++                rate and different sample rates on different
++                channels
++                [VIA8233/C, 8235, 8237 only]
+     ac97_quirk  - AC'97 workaround for strange hardware
+                   See the description of intel8x0 module for details.
+ 
+@@ -1232,18 +1292,23 @@ Prior to version 0.9.0rc4 options had a 
+           default value 1.4.  Then the interrupt number will be
+           assigned under 15. You might also upgrade your BIOS.
+     
+-    Note: VIA8233/5 (not VIA8233A) can support DXS (direct sound)
++    Note: VIA8233/5/7 (not VIA8233A) can support DXS (direct sound)
+         channels as the first PCM.  On these channels, up to 4
+-        streams can be played at the same time.
++        streams can be played at the same time, and the controller
++        can perform sample rate conversion with separate rates for
++        each channel.
+         As default (dxs_support = 0), 48k fixed rate is chosen
+         except for the known devices since the output is often
+         noisy except for 48k on some mother boards due to the
+         bug of BIOS.
+-        Please try once dxs_support=1 and if it works on other
++        Please try once dxs_support=5 and if it works on other
+         sample rates (e.g. 44.1kHz of mp3 playback), please let us
+         know the PCI subsystem vendor/device id's (output of
+         "lspci -nv").
+-        If it doesn't work, try dxs_support=4.  If it still doesn't
++        If dxs_support=5 does not work, try dxs_support=4; if it
++        doesn't work too, try dxs_support=1.  (dxs_support=1 is
++        usually for old motherboards.  The correct implementated
++        board should work with 4 or 5.)  If it still doesn't
+         work and the default setting is ok, dxs_support=3 is the
+         right choice.  If the default setting doesn't work at all,
+         try dxs_support=2 to disable the DXS channels.
+@@ -1497,6 +1562,36 @@ Proc interfaces (/proc/asound)
+          echo "rvplayer 0 0 block" > /proc/asound/card0/pcm0p/oss
+ 
+ 
++Early Buffer Allocation
++=======================
++
++Some drivers (e.g. hdsp) require the large contiguous buffers, and
++sometimes it's too late to find such spaces when the driver module is
++actually loaded due to memory fragmentation.  You can pre-allocate the
++PCM buffers by loading snd-page-alloc module and write commands to its
++proc file in prior, for example, in the early boot stage like
++/etc/init.d/*.local scripts.
++
++Reading the proc file /proc/drivers/snd-page-alloc shows the current
++usage of page allocation.  In writing, you can send the following
++commands to the snd-page-alloc driver:
++
++  - add VENDOR DEVICE MASK SIZE BUFFERS
++
++    VENDOR and DEVICE are PCI vendor and device IDs.  They take
++    integer numbers (0x prefix is needed for the hex).
++    MASK is the PCI DMA mask.  Pass 0 if not restricted.
++    SIZE is the size of each buffer to allocate.  You can pass
++    k and m suffix for KB and MB.  The max number is 16MB.
++    BUFFERS is the number of buffers to allocate.  It must be greater
++    than 0.  The max number is 4.
++
++  - erase
++
++    This will erase the all pre-allocated buffers which are not in
++    use.
++
++
+ Links
+ =====
+ 
+diff --git a/Documentation/sound/alsa/CMIPCI.txt 
b/Documentation/sound/alsa/CMIPCI.txt
+--- a/Documentation/sound/alsa/CMIPCI.txt
++++ b/Documentation/sound/alsa/CMIPCI.txt
+@@ -89,19 +89,22 @@ and use the interleaved 4 channel data.
+ 
+ There are some control switchs affecting to the speaker connections:
+ 
+-"Line-In As Rear"     - As mentioned above, the line-in jack is used
+-      for the rear (3th and 4th channels) output.
+-"Line-In As Bass"     - The line-in jack is used for the bass (5th
+-      and 6th channels) output.
+-"Mic As Center/LFE"   - The mic jack is used for the bass output.
+-      If this switch is on, you cannot use a microphone as a capture
+-      source, of course.
+-
++"Line-In Mode"        - an enum control to change the behavior of line-in
++      jack.  Either "Line-In", "Rear Output" or "Bass Output" can
++      be selected.  The last item is available only with model 039
++      or newer. 
++      When "Rear Output" is chosen, the surround channels 3 and 4
++      are output to line-in jack.
++"Mic-In Mode" - an enum control to change the behavior of mic-in
++      jack.  Either "Mic-In" or "Center/LFE Output" can be
++      selected. 
++      When "Center/LFE Output" is chosen, the center and bass
++      channels (channels 5 and 6) are output to mic-in jack. 
+ 
+ Digital I/O
+ -----------
+ 
+-The CM8x38 provides the excellent SPDIF capability with very chip
++The CM8x38 provides the excellent SPDIF capability with very cheap
+ price (yes, that's the reason I bought the card :)
+ 
+ The SPDIF playback and capture are done via the third PCM device
+@@ -122,8 +125,9 @@ respectively, so you cannot playback bot
+ simultaneously.
+ 
+ To enable SPDIF output, you need to turn on "IEC958 Output Switch"
+-control via mixer or alsactl.  Then you'll see the red light on from
+-the card so you know that's working obviously :)
++control via mixer or alsactl ("IEC958" is the official name of
++so-called S/PDIF).  Then you'll see the red light on from the card so
++you know that's working obviously :)
+ The SPDIF input is always enabled, so you can hear SPDIF input data
+ from line-out with "IEC958 In Monitor" switch at any time (see
+ below).
+@@ -205,9 +209,10 @@ In addition to the standard SB mixer, CM
+ MIDI CONTROLLER
+ ---------------
+ 
+-The MPU401-UART interface is enabled as default only for the first
+-(CMIPCI) card.  You need to set module option "midi_port" properly
+-for the 2nd (CMIPCI) card.
++The MPU401-UART interface is disabled as default.  You need to set
++module option "mpu_port" with a valid I/O port address to enable the
++MIDI support.  The valid I/O ports are 0x300, 0x310, 0x320 and 0x330.
++Choose the value which doesn't conflict with other cards.
+ 
+ There is _no_ hardware wavetable function on this chip (except for
+ OPL3 synth below).
+@@ -229,9 +234,11 @@ I don't know why..
+ Joystick and Modem
+ ------------------
+ 
+-The joystick and modem should be available by enabling the control
+-switch "Joystick" and "Modem" respectively.  But I myself have never
+-tested them yet.
++The legacy joystick is supported.  To enable the joystick support, pass
++joystick_port=1 module option.  The value 1 means the auto-detection.
++If the auto-detection fails, try to pass the exact I/O address.
++
++The modem is enabled dynamically via a card control switch "Modem".
+ 
+ 
+ Debugging Information
+diff --git a/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl 
b/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl
+--- a/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl
++++ b/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl
+@@ -371,7 +371,7 @@
+           <listitem><para>create <function>probe()</function> 
callback.</para></listitem>
+           <listitem><para>create <function>remove()</function> 
callback.</para></listitem>
+           <listitem><para>create pci_driver table which contains the three 
pointers above.</para></listitem>
+-          <listitem><para>create <function>init()</function> function just 
calling <function>pci_module_init()</function> to register the pci_driver table 
defined above.</para></listitem>
++          <listitem><para>create <function>init()</function> function just 
calling <function>pci_register_driver()</function> to register the pci_driver 
table defined above.</para></listitem>
+           <listitem><para>create <function>exit()</function> function to call 
<function>pci_unregister_driver()</function> function.</para></listitem>
+         </itemizedlist>
+       </para>
+@@ -1198,7 +1198,7 @@
+   /* initialization of the module */
+   static int __init alsa_card_mychip_init(void)
+   {
+-          return pci_module_init(&driver);
++          return pci_register_driver(&driver);
+   }
+ 
+   /* clean up the module */
+@@ -1654,7 +1654,7 @@
+ <![CDATA[
+   static int __init alsa_card_mychip_init(void)
+   {
+-          return pci_module_init(&driver);
++          return pci_register_driver(&driver);
+   }
+ 
+   static void __exit alsa_card_mychip_exit(void)
+diff --git a/Documentation/sound/alsa/emu10k1-jack.txt 
b/Documentation/sound/alsa/emu10k1-jack.txt
+new file mode 100644
+--- /dev/null
++++ b/Documentation/sound/alsa/emu10k1-jack.txt
+@@ -0,0 +1,74 @@
++This document is a guide to using the emu10k1 based devices with JACK for low
++latency, multichannel recording functionality.  All of my recent work to allow
++Linux users to use the full capabilities of their hardware has been inspired 
++by the kX Project.  Without their work I never would have discovered the true
++power of this hardware.
++
++      http://www.kxproject.com
++                                              - Lee Revell, 2005.03.30
++
++Low latency, multichannel audio with JACK and the emu10k1/emu10k2
++-----------------------------------------------------------------
++
++Until recently, emu10k1 users on Linux did not have access to the same low
++latency, multichannel features offered by the "kX ASIO" feature of their
++Windows driver.  As of ALSA 1.0.9 this is no more!
++
++For those unfamiliar with kX ASIO, this consists of 16 capture and 16 playback
++channels.  With a post 2.6.9 Linux kernel, latencies down to 64 (1.33 ms) or
++even 32 (0.66ms) frames should work well.
++
++The configuration is slightly more involved than on Windows, as you have to
++select the correct device for JACK to use.  Actually, for qjackctl users it's
++fairly self explanatory - select Duplex, then for capture and playback select
++the multichannel devices, set the in and out channels to 16, and the sample
++rate to 48000Hz.  The command line looks like this:
++
++/usr/local/bin/jackd -R -dalsa -r48000 -p64 -n2 -D -Chw:0,2 -Phw:0,3 -S
++
++This will give you 16 input ports and 16 output ports.
++
++The 16 output ports map onto the 16 FX buses (or the first 16 of 64, for the
++Audigy).  The mapping from FX bus to physical output is described in
++SB-Live-mixer.txt (or Audigy-mixer.txt).
++
++The 16 input ports are connected to the 16 physical inputs.  Contrary to
++popular belief, all emu10k1 cards are multichannel cards.  Which of these
++input channels have physical inputs connected to them depends on the card
++model.  Trial and error is highly recommended; the pinout diagrams
++for the card have been reverse engineered by some enterprising kX users and 
are 
++available on the internet.  Meterbridge is helpful here, and the kX forums are
++packed with useful information.
++
++Each input port will either correspond to a digital (SPDIF) input, an analog
++input, or nothing.  The one exception is the SBLive! 5.1.  On these devices,
++the second and third input ports are wired to the center/LFE output.  You will
++still see 16 capture channels, but only 14 are available for recording inputs.
++
++This chart, borrowed from kxfxlib/da_asio51.cpp, describes the mapping of JACK
++ports to FXBUS2 (multitrack recording input) and EXTOUT (physical output)
++channels.
++
++/*JACK (& ASIO) mappings on 10k1 5.1 SBLive cards:
++--------------------------------------------
++JACK          Epilog          FXBUS2(nr)
++--------------------------------------------
++capture_1     asio14          FXBUS2(0xe)
++capture_2     asio15          FXBUS2(0xf)
++capture_3     asio0           FXBUS2(0x0)     
++~capture_4    Center          EXTOUT(0x11)    // mapped to by Center
++~capture_5    LFE             EXTOUT(0x12)    // mapped to by LFE
++capture_6     asio3           FXBUS2(0x3)
++capture_7     asio4           FXBUS2(0x4)
++capture_8     asio5           FXBUS2(0x5)
++capture_9     asio6           FXBUS2(0x6)
++capture_10    asio7           FXBUS2(0x7)
++capture_11    asio8           FXBUS2(0x8)
++capture_12    asio9           FXBUS2(0x9)
++capture_13    asio10          FXBUS2(0xa)
++capture_14    asio11          FXBUS2(0xb)
++capture_15    asio12          FXBUS2(0xc)
++capture_16    asio13          FXBUS2(0xd)
++*/
++
++TODO: describe use of ld10k1/qlo10k1 in conjunction with JACK
+diff --git a/Documentation/sound/alsa/hdspm.txt 
b/Documentation/sound/alsa/hdspm.txt
+new file mode 100644
+--- /dev/null
++++ b/Documentation/sound/alsa/hdspm.txt
+@@ -0,0 +1,362 @@
++Software Interface ALSA-DSP MADI Driver 
++
++(translated from German, so no good English ;-), 
++2004 - winfried ritsch
++
++
++
++ Full functionality has been added to the driver. Since some of
++ the Controls and startup-options  are ALSA-Standard and only the
++ special Controls are described and discussed below.
++
++
++ hardware functionality:
++
++   
++   Audio transmission:
++
++     number of channels --  depends on transmission mode
++
++              The number of channels chosen is from 1..Nmax. The reason to
++              use for a lower number of channels is only resource allocation,
++              since unused DMA channels are disabled and less memory is
++              allocated. So also the throughput of the PCI system can be
++              scaled. (Only important for low performance boards).
<<Diff was trimmed, longer than 597 lines>>
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to