Commit Graph

59 Commits

Author SHA1 Message Date
Takashi Iwai
e017fa5772 [ALSA] emu10k1 - Minor clean up of memory block handling
Modules: EMU10K1/EMU10K2 driver

Minor clean up of emu10k1 memory block allocation.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03 12:17:06 +01:00
Takashi Iwai
89173bd414 [ALSA] emu10k1x - Minor clean up
Modules: EMU10K1/EMU10K2 driver

Minor clean up of the emu10k1x interrupt handler code.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03 12:17:04 +01:00
Takashi Iwai
c3e6f7d876 [ALSA] Remove superfluous pcm_free callbacks
Remove superflous pcm_free callbacks.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03 12:16:21 +01:00
James Courtier-Dutton
6ef7e8614c [ALSA] snd-emu10k1: Found some new registers to display in debug mode.
Modules: EMU10K1/EMU10K2 driver

Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2006-01-03 12:16:08 +01:00
James Courtier-Dutton
e2b15f8f7d [ALSA] snd-emu10k1: Attenuate output volume to reduce distortion
Modules: EMU10K1/EMU10K2 driver

                      on Audigy 2 ZS Notebook.

Set the master volume to about 6 or 8% in alsamixer. This will
attenuate the output enough for better sound quality.
Note: Only stereo enabled at present.
The distortion is caused by the output path after the DSP
adding 12dB gain to the output while still in digital mode,
resulting in wrap around distortion.

Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2006-01-03 12:16:06 +01:00
Lee Revell
f6f8bb6423 [ALSA] Add support for Audigy 2 subsystem 2006
Modules: EMU10K1/EMU10K2 driver

Add support for Audigy 2 subsystem 2006.

Signed-off-by: Lee Revell <rlrevell@joe-job.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03 12:15:53 +01:00
Lee Revell
2f020aa711 [ALSA] emu10k1 - Enable side surround channels for Audigy2 EX
Modules: EMU10K1/EMU10K2 driver

Enable side surround channels for Audigy2 EX.  Tested by Rick Wright
<riwright@vt.edu>.

Signed-off-by: Lee Revell <rlrevell@joe-job.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03 12:15:50 +01:00
Greg Kroah-Hartman
249bb070f5 [PATCH] PCI: removed unneeded .owner field from struct pci_driver
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-11-10 16:09:17 -08:00
Tim
fc20773329 [ALSA] Fix emu10k1 synth problems.
Modules: EMU10K1/EMU10K2 driver,Common EMU synth

This patch fixes problems with voices cutting off or not
sounding at all.

Signed-off-by: Tim <tedon@rogers.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-11-04 13:20:13 +01:00
Takashi Iwai
99b359ba10 [ALSA] Add missing KERN_* suffix to printk
Add missing KERN_* suffix to printk.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-11-04 13:19:23 +01:00
Takashi Iwai
b1d5776d86 [ALSA] Remove vmalloc wrapper, kfree_nocheck()
- Remove vmalloc wrapper
- Add release_and_free_resource() to remove kfree_nocheck() from each driver
  and simplify the code

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-11-04 13:18:00 +01:00
Takashi Iwai
7c22f1aaa2 [ALSA] Remove snd_runtime_check() macro
Remove snd_runtime_check() macro.
This macro worsens the readability of codes.  They should be either
normal if() or removable asserts.

Also, the assert displays stack-dump, instead of only the last caller
pointer.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-11-04 13:17:42 +01:00
Mikael Magnusson
edf8e4565c [ALSA] emu10k1: Front channels via fxbus 8 and 9
Modules: EMU10K1/EMU10K2 driver

Adds left and right front channel outputs using fxbus 8 and 9 and 'Front'
playback and capture volume controls.

Signed-off-by: Mikael Magnusson <mikma@users.sourceforge.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-11-04 13:15:36 +01:00
James Courtier-Dutton
d83c671fb7 [PATCH] Creative Audigy 2 cardbus: Add IO window wakeup magic
This adds the magic IO wakeup code for the CardBus version of the
Creative Labs Audigy 2 to the snd-emu10k1 driver.

Without the magic IO enable sequence, reading from the IO region of the
card will fail spectacularly, and the machine will hang.

My next task will be getting the driver to actually play sound without
distortion.

Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>

[ This is a work-in-progress, but since it avoids a total lockup
  if the emu10k module is loaded on a machine with the cardbus
  card inserted, we're better off with it than without it, even
  if sound quality is bad right now ]

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-31 16:09:39 -08:00
Takashi Iwai
b150869369 [ALSA] emu10k1 - Fix handling of ac97_chip=2
EMU10K1/EMU10K2 driver
Fixed the handling of ac97_chip=2 capability type.
The error occurs in snd_ac97_mixer(), not in snd_ac97_bus().
Also, release the unnecessary ac97_bus object in the error path.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-10-07 14:46:34 +02:00
Takashi Iwai
f12aa40c9d [ALSA] emu10k1 - Fix loading of SBLive Game board
EMU10K1/EMU10K2 driver
Fixed the error at loading SBLive Game board (and possible other models).
The PCI SSIDs of this board conflicts with SB Live 5.1 Platinum, which has
no AC97 chip.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-10-07 14:46:26 +02:00
Clemens Ladisch
3bcd4649bc [ALSA] set owner field in struct pci_driver
AD1889 driver,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,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
Set the module owner field in each driver's struct pci_driver to get
the driver symlink in the sysfs device directory.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2005-09-12 11:12:34 +02:00
James Courtier-Dutton
afe0f1f668 [ALSA] snd-emu10k1: ALSA bug#1297: Fix a error recognising the SB Live Platinum.
EMU10K1/EMU10K2 driver
The card does not have an AC97 chip.
.subsystem = 0x80611102

Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2005-09-12 10:48:32 +02:00
Takashi Iwai
e560d8d836 [ALSA] Replace with kzalloc() - pci stuff
AD1889 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,SonicVibes driver,VIA82xx driver
VIA82xx-modem driver,AC97 Codec,AK4531 codec,au88x0 driver
CA0106 driver,CS46xx driver,EMU10K1/EMU10K2 driver,HDA Codec driver
HDA generic driver,HDA Intel driver,ICE1712 driver,ICE1724 driver
KORG1212 driver,MIXART driver,NM256 driver,Trident driver,YMFPCI driver
Replace kcalloc(1,..) with kzalloc().

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-09-12 10:48:16 +02:00
Clemens Ladisch
4d23359b7e [ALSA] sparse address space annotations
ALSA Core,RawMidi Midlevel,ALSA<-OSS emulation,ALSA sequencer
RME32 driver,RME96 driver,EMU10K1/EMU10K2 driver,NM256 driver
Add sparse annotations where we do strange this with __iomem/__user
pointers.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2005-09-12 10:41:16 +02:00
James Courtier-Dutton
025cd2f6b1 [ALSA] snd-ca0106, snd-emu10k1: Add symlink in the sys tree.
CA0106 driver,EMU10K1/EMU10K2 driver
A thread appeared on the LKML. This patch implements the fix.

Question:
in sysfs, /sys/bus/*/drivers lists the driver names, with their exported .name (eg. '.name = 'EMU10K1_Audigy'' in the module code, from now on 'driver name'). In /sys/modules, the kernel modules are listed with their module name, eg. snd_emu10k1. However, it seems to me that in sysfs, there is no way in particular to tell, which module has which .name. That is, that snd_emu10k1 is EMU10K1_Audigy and vice versa.

I wonder whether it wouldn't be possible to add a symlink to the particular module from the driver, and/or from the module to the driver, so the list of devices handled by the module and the module name would be accessible. This way, I would know which driver name corresponds to which module name and vice versa.

Answer:
For PCI drivers, just add the line:
	.owner = THIS_MODULE,

to their struct pci_driver definition and you will get the symlink
created for you.

Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2005-09-12 10:41:07 +02:00
Lee Revell
c6c0b841dd [ALSA] Add identification for Live 5.1 [SB0220]
EMU10K1/EMU10K2 driver
Add identification for Live 5.1 [SB0220]

Signed-off-by: Lee Revell <rlrevell@joe-job.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-08-30 08:47:48 +02:00
Takashi Iwai
6a293552ba [ALSA] emu10k1 - Add missing ac97 support on SBLive! Player 5.1
EMU10K1/EMU10K2 driver
Added the missing ac97 support on SBLive! Player 5.1.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-08-30 08:47:46 +02:00
James Courtier-Dutton
99250872fc [ALSA] Add new card ID. Fixes ALSA bug #1297
EMU10K1/EMU10K2 driver

Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2005-08-30 08:45:38 +02:00
Clemens Ladisch
5549d54992 [ALSA] use PCM interface for IEC958 controls
Digigram VX core,ENS1370/1+ driver,CA0106 driver,EMU10K1/EMU10K2 driver
RME HDSP driver,RME9652 driver
For consistency, use the PCM interface instead of MIXER for IEC958
default/mask/stream mixer controls.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2005-08-30 08:43:39 +02:00
Clemens Ladisch
10e8d78a94 [ALSA] use SNDRV_CTL_NAME_IEC958 macro
CMI8330 driver,ENS1370/1+ driver,FM801 driver,VIA82xx driver,AC97 Codec
ALI5451 driver,CS46xx driver,EMU10K1/EMU10K2 driver,HDA Codec driver
ICE1712 driver,ICE1724 driver
Where appropriate, use the SNDRV_CTL_NAME_IEC958 instead of a literal
string.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2005-08-30 08:43:35 +02:00
Clemens Ladisch
67ed4161f6 [ALSA] sound - fix .iface field of mixer control elements
Documentation,CS46xx driver,EMU10K1/EMU10K2 driver,AD1848 driver
SB16/AWE driver,CMIPCI driver,ENS1370/1+ driver,RME32 driver
RME96 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver
RME HDSP driver,RME9652 driver
This patch changes .iface to SNDRV_CTL_ELEM_IFACE_MIXER whre _PCM or
_HWDEP was used in controls that are not associated with a specific PCM
(sub)stream or hwdep device, and changes some controls that got
inconsitent .iface values due to copy+paste errors.  Furthermore, it
makes sure that all control that do use _PCM or _HWDEP use the correct
number in the .device field.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2005-08-30 08:43:22 +02:00
James Courtier-Dutton
7c1d549aa9 [ALSA] emu10k1: Add EMU 1212m card entry and document it as not supported yet.
EMU10K1/EMU10K2 driver

Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2005-07-28 12:22:25 +02:00
James Courtier-Dutton
ae3a72d8cb [ALSA] snd-emu10k1: Fixes recognition of Audigy ES.
EMU10K1/EMU10K2 driver
Fixes ALSA bug #1237.

Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2005-07-28 12:22:03 +02:00
James Courtier-Dutton
e66bc8b2a7 [ALSA] emu10k1: Add module option uint subsystem.
EMU10K1/EMU10K2 driver
It allows the user to force the snd-emu10k1 module to think the user
has a particular sound card. Useful if their particular sound card
is not yet recognised.

Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2005-07-28 12:22:00 +02:00
James Courtier-Dutton
88dc0e5dad [ALSA] emu10k1: Added tested status comments.
EMU10K1/EMU10K2 driver

Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2005-07-28 12:21:32 +02:00
James Courtier-Dutton
a6f6192bb3 [ALSA] emu10k1: Sort by card id.
EMU10K1/EMU10K2 driver

Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2005-07-28 12:21:31 +02:00
James Courtier-Dutton
3818152e64 [ALSA] snd-emu10k1: Tidy mixer controls.
EMU10K1/EMU10K2 driver

Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2005-07-28 12:21:28 +02:00
James Courtier-Dutton
e0474e5398 [ALSA] snd-emu10k1: Card capabilities tidy up.
EMU10K1/EMU10K2 driver

Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2005-07-28 12:21:26 +02:00
Jesper Juhl
77933d7276 [PATCH] clean up inline static vs static inline
`gcc -W' likes to complain if the static keyword is not at the beginning of
the declaration.  This patch fixes all remaining occurrences of "inline
static" up with "static inline" in the entire kernel tree (140 occurrences in
47 files).

While making this change I came across a few lines with trailing whitespace
that I also fixed up, I have also added or removed a blank line or two here
and there, but there are no functional changes in the patch.

Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-27 16:26:20 -07:00
James Courtier-Dutton
2b6b22f381 [ALSA] emu10k1: Add more card identification entries.
EMU10K1/EMU10K2 driver

Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2005-06-22 12:29:11 +02:00
Jesper Juhl
4d572776d4 [ALSA] Remove redundant NULL checks before kfree
Timer Midlevel,ALSA sequencer,ALSA<-OSS sequencer,Digigram VX core
I2C tea6330t,GUS Library,VIA82xx driver,VIA82xx-modem driver
CA0106 driver,CS46xx driver,EMU10K1/EMU10K2 driver,YMFPCI driver
Digigram VX Pocket driver,Common EMU synth,USB generic driver,USB USX2Y
Checking a pointer for NULL before calling kfree() on it is redundant,
kfree() deals with NULL pointers just fine.
This patch removes such checks from sound/

This patch also makes another, but closely related, change.
It avoids casting pointers about to be kfree()'ed.

Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-06-22 12:27:43 +02:00
Arnaud Patard
a6c17ec89d [ALSA] emu10k1: add details for the audigy player box version
EMU10K1/EMU10K2 driver
Add details for the audigy player box version.

Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-05-29 10:15:27 +02:00
Mikael Magnusson
f7de9cfd25 [ALSA] emu10k1 - add SB0060 to emu_chip_details
EMU10K1/EMU10K2 driver
The following patch adds SB0060 to emu_chip_details.

Signed-off-by: Mikael Magnusson <mikaelmagnusson@glocalnet.net>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2005-05-29 10:06:46 +02:00
James Courtier-Dutton
22bc30c84b [ALSA] Increase capture buffer sizes.
EMU10K1/EMU10K2 driver


Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2005-05-29 10:06:19 +02:00
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
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
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
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