Commit Graph

95 Commits

Author SHA1 Message Date
James Courtier-Dutton
f927c8fc64 [ALSA] Implement different capture sources.
EMU10K1/EMU10K2 driver
e.g. When HD Capture source is set to SPDIF,
     setting HD Capture channel to 0 captures from CDROM digital input.
     setting HD Capture channel to 1 captures from SPDIF in.

Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2005-05-29 10:06:16 +02:00
James Courtier-Dutton
c702563703 [ALSA] Support multiple capture rates on p16v.
EMU10K1/EMU10K2 driver
The capture rate does in fact vary, but it only captures anything if
the HD Capture source is set to I2S or AC97. I have not tested if the sound
is actually captured from an physical input of some type or not.
TODO: Get SPDIF capture working.

Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2005-05-29 10:06:13 +02:00
Clemens Ladisch
c3f9329716 [ALSA] usb-audio - set sample rate attribute on Audigy 2 NX endpoints
USB generic driver
The SB Audigy 2 NX does not advertise the sample rate attribute in its
endpoint descriptors although it supports it.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2005-05-29 10:06:07 +02:00
Clemens Ladisch
93446edcd0 [ALSA] usb-audio - Audigy 2 NX blinkenlights
USB generic driver
Adds mixer controls for the CMSS/Dolby Digital/Power LEDs
on the SB Audigy 2 NX.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2005-05-29 10:06:03 +02:00
Clemens Ladisch
434b7f5687 [ALSA] usb-audio - make SB remote control device LIRC compatible
USB generic driver
Add ioctls to the Sound Blaster remote control hwdep device so that it
can be used with LIRC.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2005-05-29 10:06:00 +02:00
Clemens Ladisch
ca81090a00 [ALSA] usb-audio - use only one packet in synchronization feedback URBs
USB generic driver
Do not use more than one packet in synchronization feedback URBs because
it would be pointless to send or receive more than one value at the same
time.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2005-05-29 10:05:57 +02:00
Clemens Ladisch
1149a64fe4 [ALSA] usb-audio - use proper interval between synchronization packets
USB generic driver
Add sanity checks when reading the bRefresh value, and actually use it
for the synchronization packets instead of polling at 1000 Hz.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2005-05-29 10:05:54 +02:00
Clemens Ladisch
4dc40a3cc4 [ALSA] usb-audio - allow type 0 extension units
USB generic driver
Extension units can have type 0, so do not ignore them when constructing
mixer controls.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2005-05-29 10:05:51 +02:00
Clemens Ladisch
27d10f5664 [ALSA] usb-audio - cache vendor/product IDs
USB generic driver
Cache the decoded values of idVendor/idProduct to get rid of most of
those ugly le16_to_cpu() calls.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2005-05-29 10:05:47 +02:00
Clemens Ladisch
b259b10c42 [ALSA] usb-audio - add Extigy/Audigy 2 NX remote control support
ALSA Core,USB generic driver
Add an hwdep interface that supports reading remote control data from
Sound Blaster Extigy and Audigy 2 NX devices.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2005-05-29 10:05:43 +02:00
Clemens Ladisch
6639b6c236 [ALSA] usb-audio - add mixer control notifications
USB generic driver
Add support for the optional status interrupt endpoint in audio control
interfaces, and translate USB status notifications into ALSA mixer
control notifications.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2005-05-29 10:05:40 +02:00
Clemens Ladisch
84957a8ab0 [ALSA] usb-audio - move mixer data into separate struct
USB generic driver
Move all data related to audio control interfaces into a separate struct
local to usbmixer.c.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2005-05-29 10:05:37 +02:00
Clemens Ladisch
707e60732f [ALSA] usb-audio - reduce size of unitbitmap array
USB generic driver
Unit/terminal IDs are 8-bit integers, so the unitbitmap
variable does not need to be bigger than 256 bits.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2005-05-29 10:05:33 +02:00
Clemens Ladisch
8c1872dcf2 [ALSA] usb-audio - restrict Audigy 2 NX frequencies to 48/96 kHz
USB generic driver
On the SB Audigy 2 NX, frequency feedback doesn't quite work
when playing at 44.1 kHz, so temporarily disable this frequency.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2005-05-29 10:05:29 +02:00
Thomas Charbonnel
7679a03099 [ALSA] hdsp - solved big endian problem
RME HDSP driver
ppc firmware upload fix

Signed-off-by: Thomas Charbonnel <thomas@undata.org>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2005-05-29 10:05:23 +02:00
Sergey Vlasov
67e1b51e29 [ALSA] ac97 - add the 'Mic Front Input Switch' control (ALC850)
AC97 Codec
Add the 'Mic Front Input Switch' control to the mixer for ALC850.
Enabling this input is required for using the front panel microphone
connector with ASUS A8V motherboard.

Signed-off-by: Sergey Vlasov <vsu@altlinux.ru>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2005-05-29 10:05:20 +02:00
Sergey Vlasov
b16760bbb9 [ALSA] fix behaviour of ac97_enum_mixer elements
AC97 Codec
ac97_enum mixer elements (e.g., 'Capture Source') did not work because
of wrong bitmask calculation in snd_ac97_get_enum_double() and
snd_ac97_put_enum_double().

https://bugtrack.alsa-project.org/alsa-bug/view.php?id=1072

Signed-off-by: Sergey Vlasov <vsu@altlinux.ru>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2005-05-29 10:05:17 +02:00
Clemens Ladisch
ee7333970b [ALSA] usb-audio - remove superfluous parameter
USB generic driver,USB USX2Y
This patch removes the superfluous driver parameter from the
disconnect functions.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2005-05-29 10:05:14 +02:00
Clemens Ladisch
8e062ec710 [ALSA] usb-audio - add selector unit names override for Audigy 2 NX
USB generic driver
Add a mechanism to specify source names of selector units,
and add such names for the SB Audigy 2 NX.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2005-05-29 10:05:11 +02:00
Clemens Ladisch
08fe15899d [ALSA] usb-audio - show exact synchronous frequency in proc file
USB generic driver
In the streamX proc file, show the exact number of samples per
USB frame as 16.16 hexadecimal floating point value.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2005-05-29 10:05:07 +02:00
Clemens Ladisch
863ad944b9 [ALSA] usb-audio: add Audigy 2 NX control names
USB generic driver
Add a mixer control map for the SB Audigy 2 NX so
that we get meaningful mixer control names.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2005-05-29 10:05:04 +02:00
Takashi Iwai
930fed5174 [ALSA] Add dxs_support entry for MSI K8T Neo-FIS2R
VIA82xx driver
Report by Ronny V. Vindenes <s864@ii.uib.no>
Add dxs_support=5 for MSI K8T Neo-FIS2R.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-05-29 10:05:01 +02:00
Takashi Iwai
d21b37ea13 [ALSA] Fix and cleanup of CM9880 auto-configuration
HDA Codec driver
Fix and cleanup of CM9880 automatic PIN configuration.
snd_hda_codec_setup_stream() doesn't do anything when NID is 0.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-05-29 10:04:58 +02:00
Takashi Iwai
b0c95f514a [ALSA] Show PIN jack type
HDA generic driver
Show the jack type of each PIN default configuration entry.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-05-29 10:04:54 +02:00
Takashi Iwai
c313292575 [ALSA] Fix a typo in comments
HDA generic driver
Fix a typo in comments.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-05-29 10:04:50 +02:00
Karsten Wiese
230cd5e248 [ALSA] prevent oops & dead keyboard on usb unplugging while the device is being used
USB generic driver,USB USX2Y
Without this patch, some usb kobjects, which are parents to
the usx2y's kobjects can be freed before the usx2y's.
This led to an oops in get_kobj_path_length() and a dead
keyboard, when the usx2y's kobjects were freed.
The patch ensures the correct sequence.
Tested ok on kernel 2.6.12-rc2.

Signed-off-by: Karsten Wiese <annabellesgarden@yahoo.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-05-29 10:04:47 +02:00
Jesper Juhl
fe5ac9dcfe [ALSA] trivial warning fix for emu10k1
EMU10K1/EMU10K2 driver
When building with gcc -W sound/pci/emu10k1/emupcm.c produces this little
warning in 2.6.12-rc2-mm3 :
  sound/pci/emu10k1/emupcm.c:265: warning: 'inline' is not at beginning of
declaration
No big deal, but trivial to fix.

Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-05-29 10:04:43 +02:00
Takashi Iwai
7358036cc6 [ALSA] Add dxs_support=5 for Insight P4-ITX
VIA82xx driver
Added dxs_support=5 entry for Insight P4-ITX.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-05-29 10:04:40 +02:00
Takashi Iwai
98f759a616 [ALSA] Misc clean up
HDA Codec driver
Misc clean up: move the definitions of constants for pinctl to a single place.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-05-29 10:01:04 +02:00
Takashi Iwai
01f66d2ccf [ALSA] Remove dead code
HDA Codec driver
Removed the dead (duplicated) code.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-05-29 10:01:01 +02:00
Takashi Iwai
4a3fdf3dba [ALSA] Add AD1981HD and AD1983 support
HDA Codec driver
Added the support of AD1981HD and AD1983 codecs.
Including the fix for AD1986A.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-05-29 10:00:58 +02:00
Matt
2f2f4251c9 [ALSA] add sigmatel codec support
HDA generic driver,HDA Codec driver
Add initial SigmaTel codec support for 9200 and 922x. Note that
this hda patch relies on the configuration default registers to
be set correctly (normally by BIOS/firmware) in order for it to
set up pin widgets properly. There's a test switch in the patch
so it will work with the SigmaTel reference boards that are usually
plugged into a system that doesn't set the configuration default
registers. It supports 2 channel analog out and line/mic in. I
plan to add >2 channel support and spdif support shortly.
Please apply.

Signed-off-by: Matt <matt@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-05-29 10:00:54 +02:00
Matt
1a12de1edf [ALSA] hda: fix vref cap and ctl values
HDA Codec driver,HDA generic driver
Fix some vref defines so they are valid for the different bits in
the pin cap and pin control registers. Please apply.

Signed-off-by: Matt <matt@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-05-29 10:00:51 +02:00
Takashi Iwai
eb8caf30f4 [ALSA] Improve the shared-jack handling on ac97
AC97 Codec
The handling of shared surround/clfe output jacks with line/mic-in
on some AC97 codecs is improved.

Instead of 'Line-In As Surround' or 'Mic As Center/LFE' switch, two
new enum controls are introduced: 'Channel Mode' and 'Surround Jack Mode'.
The formar changes the current output mode among 2, 4 and 6-channels.
The latter controls whether the jacks are shared or independent.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-05-29 10:00:48 +02:00
Takashi Iwai
004e653897 [ALSA] Fix capture on OSS emulation
ALSA<-OSS emulation
Fix the noisy capture on some hardwares over OSS emulation.
Change back to avail_min = period_size for capture direction.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-05-29 10:00:42 +02:00
Takashi Iwai
bd7bf042e8 [ALSA] Fix permissions in some /proc files
PCM Midlevel,CA0106 driver,EMU10K1/EMU10K2 driver
Fix by Guillaume Chazarain <guichaz@yahoo.fr>:

Some tunables in /proc have a write() function, but as their
permission does not reflect it, it can be confusing to the user.

So here is a patch that corrects the mode of those files. Note that I
have only tested the 'xrun_debug' entry.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-05-29 10:00:39 +02:00
Takashi Iwai
0af68e5ed4 [ALSA] Fix compile warning
EMU10K1/EMU10K2 driver
Fix compile warnings regarding the unused variables/functions.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-05-29 10:00:35 +02:00
Takashi Iwai
01d25d460a [ALSA] Replace pci_module_init() with pci_register_driver()
Documentation,ALS4000 driver,ATIIXP driver,ATIIXP-modem driver
AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver
ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver
Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver
RME96 driver,SonicVibes driver,VIA82xx driver,VIA82xx-modem driver
ALI5451 driver,au88x0 driver,CA0106 driver,CS46xx driver
EMU10K1/EMU10K2 driver,HDA Intel driver,ICE1712 driver,ICE1724 driver
KORG1212 driver,MIXART driver,NM256 driver,RME HDSP driver
RME9652 driver,Trident driver,Digigram VX222 driver,YMFPCI driver
Replace the obsolete pci_module_init() with pci_register_driver().

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-05-29 10:00:32 +02:00
Takashi Iwai
01ef355f0c [ALSA] Fix SPDIF rate with dxs_support=4
VIA82xx driver
Fix SPDIF rate setting with dxs_support=4.  It should be 48k fixed.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-05-29 10:00:27 +02:00
Sergey Vlasov
2d7eb7cb2b [ALSA] Support all sample rate conversion capabilities of DXS channels
Documentation,VIA82xx driver
Add support for full sample rate conversion capabilities of DXS
channels present in VIA VT8233/5/7 controllers:

- any sample rate in the 8000 ... 48000 Hz range is supported even if
  the AC'97 codec supports only 48000 Hz output;

- different DXS channels can use different sample rates at the same
  time (the controller performs required sample rate conversion and
  mixing in hardware).

Signed-off-by: Sergey Vlasov <vsu@altlinux.ru>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-05-29 10:00:24 +02:00
Sergey Vlasov
26be865923 [ALSA] Add PCI ID for Gallant Odyssey Sound 4
FM801 driver
The Gallant Odyssey Sound 4 card is based on the ForteMedia FM801
chip, but has a different PCI ID.

Signed-off-by: Sergey Vlasov <vsu@altlinux.ru>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-05-29 09:59:04 +02:00
Adrian Bunk
467a8c2f41 [ALSA] remove dead code
YMFPCI driver
This patch removes some dead code found by the Coverity checker.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-05-29 09:59:01 +02:00
Simone Zinanni
aed058e871 [ALSA] Provides preliminary support for the Terratec Phase 28 card
ICE1712 driver
Provides preliminary support for the Terratec Phase 28 card.
Not extensively tested and probably buggy, but it seems to work.

Signed-off-by: Simone Zinanni <simone@develer.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-05-29 09:58:58 +02:00
James Courtier-Dutton
fd9a98ec0a [ALSA] Fix typo in speaker routing. Now sound comes from the correct speakers
EMU10K1/EMU10K2 driver
when using the p16v HD device.

Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2005-05-29 09:58:55 +02:00
James Courtier-Dutton
310bacd292 [ALSA] Improve playback startup. Increase buffer size, and reduce xruns.
EMU10K1/EMU10K2 driver


Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2005-05-29 09:58:52 +02:00
James Courtier-Dutton
001f758990 [ALSA] Improve SPDIF playback via the P16V/CA0151 chip.
EMU10K1/EMU10K2 driver
Although we can set 44100 as the output rate, the SPDIF can do it, but the Analog output cannot.
The SPDIF has the bug, whereby the Left channel arrives one sample late, so although we don't do any resampling,
it is not good for AC3 non-audio output.

Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2005-05-29 09:58:49 +02:00
James Courtier-Dutton
df34140a9c [ALSA] Display SPDIF in status in proc fs 'spdif-in' file.
EMU10K1/EMU10K2 driver


Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2005-05-29 09:58:46 +02:00
Takashi Iwai
f953eff29c [ALSA] choose multi-channel jacks automatically
HDA Codec driver
Patch by C.L. Tien <cltien@cmedia.com.tw>:

The patch makes cm9880 to choose multi-channel jacks automatically.

1. I found the current code has basic_init, which already includes
   necessary controls for 6-stack initialization, so I don't need
   another model.

2. I add a new model 'auto' to let the driver find a. if there are
   option real panel/front panel, b. the jacks to be used for multichannel.

Because the jack color are based on MS's channel sequence, so the 'auto'
model will pick the same jacks for multichannel MS uses. I did this to
hope to minimize users questions. These code can also be applied to other
codecs but I don't have any to test.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-05-29 09:58:43 +02:00
Clemens Ladisch
22e0732e59 [ALSA] virmidi - fix ioctl parameter passing when setting client name
ALSA sequencer
The last change to reduce stack usage did not adjust the parameter to
SNDRV_SEQ_IOCTL_SET_CLIENT_IOCTL which resulted in passing the address
of the pointer instead of the structure.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2005-05-29 09:58:40 +02:00
Sasha Khapyorsky
23fea4dad6 [ALSA] MC97 registers reset
AC97 Codec
Separated ac97 registers reset for audio and modem (or both) as recommended
in AC97 spec.

Signed-off-by: Sasha Khapyorsky <sashak@smlink.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-05-29 09:58:37 +02:00