diff options
author | Jaroslav Kysela <perex@suse.cz> | 2005-01-03 17:12:29 +0100 |
---|---|---|
committer | Jaroslav Kysela <perex@suse.cz> | 2005-01-03 17:12:29 +0100 |
commit | 5df8b861d997c34603df4504993bcb05ffc3a7fa (patch) | |
tree | 22114b093a9d686691c6f7011395c43010376cc6 /Documentation | |
parent | fcc58f6aea548cf95626827454c36fe09ac5d6c7 (diff) | |
parent | 53f740539cd816e04690b332624f4413e35b1cef (diff) | |
download | history-5df8b861d997c34603df4504993bcb05ffc3a7fa.tar.gz |
Merge suse.cz:/home/perex/bk/linux-sound/linux-sound
into suse.cz:/home/perex/bk/linux-sound/work
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/sound/alsa/ALSA-Configuration.txt | 60 | ||||
-rw-r--r-- | Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl | 49 | ||||
-rw-r--r-- | Documentation/sound/alsa/MIXART.txt | 4 |
3 files changed, 94 insertions, 19 deletions
diff --git a/Documentation/sound/alsa/ALSA-Configuration.txt b/Documentation/sound/alsa/ALSA-Configuration.txt index df778ebd510d21..c2ea934104ed5d 100644 --- a/Documentation/sound/alsa/ALSA-Configuration.txt +++ b/Documentation/sound/alsa/ALSA-Configuration.txt @@ -256,6 +256,14 @@ Module parameters Module supports up to 8 cards. + Module snd-ca0106 + ----------------- + + Module for Creative Audigy LS and SB Live 24bit + + Module supports up to 8 cards. + + Module snd-cmi8330 ------------------ @@ -427,6 +435,13 @@ Module parameters * Creative Card 5.1 (c) 2003 [0x3fc3/0x7cff] * Creative Card all ins and outs [0x3fff/0x7fff] + Module snd-emu10k1x + ------------------- + + Module for Creative Emu10k1X (SB Live Dell OEM version) + + Module supports up to 8 cards. + Module snd-ens1370 ------------------ @@ -596,8 +611,11 @@ Module parameters Module supports up to 8 cards. - Note: you need to load the firmware via hdsploader utility included - in alsa-tools and alsa-firmware packages. + Note: The firmware data can be automatically loaded via hotplug + when CONFIG_FW_LOADER is set. Otherwise, you need to load + the firmware via hdsploader utility included in alsa-tools + package. + The firmware data is found in alsa-firmware package. Note: snd-page-alloc module does the job which snd-hammerfall-mem module did formerly. It will allocate the buffers in advance @@ -775,6 +793,12 @@ Module parameters Note: One miXart8 board will be represented as 4 alsa cards. See MIXART.txt for details. + When the driver is compiled as a module and the hotplug firmware + is supported, the firmware data is loaded via hotplug automatically. + Install the necessary firmware files in alsa-firmware package. + When no hotplug fw loader is available, you need to load the + firmware via mixartloader utility in alsa-tools package. + Module snd-mpu401 ----------------- @@ -1183,6 +1207,15 @@ Module parameters Note: for the MPU401 on VIA823x, use snd-mpu401 driver additonally. The mpu_port option is for VIA686 chips only. + Module snd-via82xx-modem + ------------------------ + + Module for VIA82xx AC97 modem + + ac97_clock - AC'97 codec clock base (default 48000Hz) + + Module supports up to 8 cards. + Module snd-virmidi ------------------ @@ -1204,9 +1237,12 @@ Module parameters Module supports up to 8 cards. - For loading the firmware, use vxloader utility in alsa-tools - and alsa-firmware packages. You can load the firmware automatically - by adding the following to /etc/modprobe.conf + When the driver is compiled as a module and the hotplug firmware + is supported, the firmware data is loaded via hotplug automatically. + Install the necessary firmware files in alsa-firmware package. + When no hotplug fw loader is available, you need to load the + firmware via vxloader utility in alsa-tools package. To invoke + vxloader automatically, add the following to /etc/modprobe.conf install snd-vx222 /sbin/modprobe --first-time -i snd-vx222 && /usr/bin/vxloader @@ -1235,8 +1271,11 @@ Module parameters To activate the driver via the card manager, you'll need to set up /etc/pcmcia/vxpocket.conf. See the sound/pcmcia/vx/vxpocket.c. - For loading the firmware, use vxloader utility in alsa-tools - and alsa-firmware packages. + When the driver is compiled as a module and the hotplug firmware + is supported, the firmware data is loaded via hotplug automatically. + Install the necessary firmware files in alsa-firmware package. + When no hotplug fw loader is available, you need to load the + firmware via vxloader utility in alsa-tools package. The irq_mask and irq_list are provided to avoid allocation of specific IRQs. Usually you don't need to specify them. @@ -1261,8 +1300,11 @@ Module parameters To activate the driver via the card manager, you'll need to set up /etc/pcmcia/vxp440.conf. See the sound/pcmcia/vx/vxp440.c. - For loading the firmware, use vxloader utility in alsa-tools - and alsa-firmware packages. + When the driver is compiled as a module and the hotplug firmware + is supported, the firmware data is loaded via hotplug automatically. + Install the necessary firmware files in alsa-firmware package. + When no hotplug fw loader is available, you need to load the + firmware via vxloader utility in alsa-tools package. The irq_mask and irq_list are provided to avoid allocation of specific IRQs. Usually you don't need to specify them. diff --git a/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl b/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl index 103f9ae7a62721..82d4029ef270f6 100644 --- a/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl +++ b/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl @@ -462,6 +462,9 @@ snd_mychip_free(chip); return err; } + + snd_card_set_dev(card, &pci->dev); + *rchip = chip; return 0; } @@ -748,7 +751,7 @@ </programlisting> </informalexample> - where the last twos are necessary only when module options are + where the last one is necessary only when module options are defined in the source file. If the codes are split to several files, the file without module options don't need them. </para> @@ -1168,6 +1171,9 @@ snd_mychip_free(chip); return err; } + + snd_card_set_dev(card, &pci->dev); + *rchip = chip; return 0; } @@ -1481,7 +1487,7 @@ When the chip-data is assigned to the card using <function>snd_device_new()</function> with <constant>SNDRV_DEV_LOWLELVEL</constant> , its destructor is - called at the last. that is, it is assured that all other + called at the last. That is, it is assured that all other components like PCMs and controls have been already released. You don't have to call stopping PCMs, etc. explicitly, but just stop the hardware in the low-level. @@ -1504,7 +1510,7 @@ </programlisting> </informalexample> - and the allocation would be (assuming its size is 512 bytes): + and the allocation would be like below: <informalexample> <programlisting> @@ -1541,6 +1547,30 @@ </section> + <section id="pci-resource-device-struct"> + <title>Registration of Device Struct</title> + <para> + At some point, typically after calling <function>snd_device_new()</function>, + you need to register the <structname>struct device</structname> of the chip + you're handling for udev and co. ALSA provides a macro for compatibility with + older kernels. Simply call like the following: + <informalexample> + <programlisting> +<![CDATA[ + snd_card_set_dev(card, &pci->dev); +]]> + </programlisting> + </informalexample> + so that it stores the PCI's device pointer to the card. This will be + referred by ALSA core functions later when the devices are registered. + </para> + <para> + In the case of non-PCI, pass the proper device struct pointer of the BUS + instead. (In the case of legacy ISA without PnP, you don't have to do + anything.) + </para> + </section> + <section id="pci-resource-entries"> <title>PCI Entries</title> <para> @@ -5153,7 +5183,7 @@ struct _snd_pcm_runtime { <listitem><para>Call <function>snd_pcm_suspend_all()</function> to suspend the running PCM streams.</para></listitem> <listitem><para>Save the register values if necessary.</para></listitem> <listitem><para>Stop the hardware if necessary.</para></listitem> - <listitem><para>Set the power-state as D3hot by calling <function>snd_power_change_state()</function>.</para></listitem> + <listitem><para>Disable the PCI device by calling <function>pci_disable_device()</function>.</para></listitem> </orderedlist> </para> @@ -5174,7 +5204,7 @@ struct _snd_pcm_runtime { /* (4) */ snd_mychip_stop_hardware(chip); /* (5) */ - snd_power_change_state(card, SNDRV_CTL_POWER_D3hot); + pci_disable_device(chip->pci); return 0; } ]]> @@ -5194,8 +5224,6 @@ struct _snd_pcm_runtime { <listitem><para>Resume the mixer, e.g. calling <function>snd_ac97_resume()</function>.</para></listitem> <listitem><para>Restart the hardware (if any).</para></listitem> - <listitem><para>Set the power-state as D0 by calling - <function>snd_power_change_state()</function>.</para></listitem> </orderedlist> </para> @@ -5219,8 +5247,6 @@ struct _snd_pcm_runtime { snd_ac97_resume(chip->ac97); /* (6) */ snd_mychip_restart_chip(chip); - /* (7) */ - snd_power_change_state(card, SNDRV_CTL_POWER_D0); return 0; } ]]> @@ -5441,7 +5467,10 @@ struct _snd_pcm_runtime { depends on SND select SND_PCM help - Say 'Y' or 'M' to include support for Foobar XYZ soundcard. + Say Y here to include support for Foobar XYZ soundcard. + + To compile this driver as a module, choose M here: the module + will be called snd-xyz. ]]> </programlisting> </informalexample> diff --git a/Documentation/sound/alsa/MIXART.txt b/Documentation/sound/alsa/MIXART.txt index 3ff85969bd8320..5cb970612870e3 100644 --- a/Documentation/sound/alsa/MIXART.txt +++ b/Documentation/sound/alsa/MIXART.txt @@ -72,6 +72,10 @@ NOT YET IMPLEMENTED FIRMWARE ======== +[As of 2.6.11, the firmware can be loaded automatically with hotplug + when CONFIG_FW_LOADER is set. The mixartloader is necessary only + for older versions or when you build the driver into kernel.] + For loading the firmware automatically after the module is loaded, use the post-install command. For example, add the following entry to /etc/modprobe.conf for miXart driver: |