Commit Graph

83 Commits

Author SHA1 Message Date
Tobias Klauser 9d2f928ddf [PATCH] Intruduce DMA_28BIT_MASK
This patch introduces the DMA_28BIT_MASK constant in dma-mapping.h
ALSA drivers using this mask are changed to use the new constant.

Signed-off-by: Tobias Klauser <tklauser@nuerscht.ch>
Acked-by: Takashi Iwai <tiwai@suse.de>
Acked-by: Jaroslav Kysela <perex@suse.cz>
2006-03-22 10:53:19 +01:00
Dave Jones c27e8c5918 [ALSA] emu10k1_synth use after free
Modules: EMU10K1/EMU10K2 driver

Thou shalt not dereference freed memory.

Coverity bug #958

Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22 10:35:23 +01:00
Takashi Iwai 4fcf0117d5 [ALSA] emu10k1 - Add the entry for Audigy4 SB0400
Modules: EMU10K1/EMU10K2 driver

Added the missing card entry for Audigy4 SB0400 model.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22 10:35:00 +01:00
Ingo Molnar 62932df8fb [ALSA] semaphore -> mutex (PCI part)
Semaphore to mutex conversion.

The conversion was generated via scripts, and the result was validated
automatically via a script as well.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22 10:25:29 +01:00
Takashi Iwai 7eae36fbd5 [ALSA] emu10k1 - Fix the confliction of 'Front' control
Modules: EMU10K1/EMU10K2 driver

Fix the confliction of 'Front' controls on models with STAC9758 codec.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-22 16:23:53 +01:00
Takashi Iwai 4d7d759628 [ALSA] emu10k1 - Fix silence problems after suspend
Modules: EMU10K1/EMU10K2 driver

Fix silence problems on some boards after suspend/resume (bug#1674).

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-22 16:23:49 +01:00
Randy.Dunlap c59ede7b78 [PATCH] move capable() to capability.h
- Move capable() from sched.h to capability.h;

- Use <linux/capability.h> where capable() is used
	(in include/, block/, ipc/, kernel/, a few drivers/,
	mm/, security/, & sound/;
	many more drivers/ to go)

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-11 18:42:13 -08:00
James Courtier-Dutton 0ba656d0b2 [ALSA] snd-emu10k1: Add new SB Live 5.1 PCI-ID.
Modules: EMU10K1/EMU10K2 driver

Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2006-01-03 12:31:17 +01:00
James Courtier-Dutton e3b9bc0e78 [ALSA] snd-emu10k1: Correct control names for Audigy 4 Pro.
Modules: EMU10K1/EMU10K2 driver

Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2006-01-03 12:31:15 +01:00
Takashi Iwai eff49137dd [ALSA] emu10k1 - Clean up p16v code
Modules: EMU10K1/EMU10K2 driver

Clean up and optimize the codes in p16v.c

- Add proper __devinit* tags
- Reduce unnecessary functions using a closure
- Fix whitespaces
- Rename 'Unknown' to 'Side' controls

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03 12:31:13 +01:00
James Courtier-Dutton f951fd3cc4 [ALSA] snd-emu10k1: Add comments regarding chips present on the card.
Modules: EMU10K1/EMU10K2 driver

Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2006-01-03 12:31:11 +01:00
James Courtier-Dutton 54efc96d4a [ALSA] snd-emu10k1: Add some comments regarding chip types.
Modules: EMU10K1/EMU10K2 driver

Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2006-01-03 12:31:10 +01:00
James Courtier-Dutton 18f3c59f2b [ALSA] snd-emu10k1: Tidy SPI code.
Modules: EMU10K1/EMU10K2 driver

Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2006-01-03 12:31:07 +01:00
James Courtier-Dutton c6a02ca293 [ALSA] snd-emu10k1: Fix whitespace.
Modules: EMU10K1/EMU10K2 driver

Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2006-01-03 12:31:05 +01:00
James Courtier-Dutton 28bcbdddaf [ALSA] snd-emu10k1: Fix whitespace.
Modules: EMU10K1/EMU10K2 driver

Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2006-01-03 12:31:03 +01:00
James Courtier-Dutton ccadc3e38b [ALSA] snd-emu10k1: Enable speakers on Audigy 2 ZS Notebook.
Modules: EMU10K1/EMU10K2 driver

Description:
This enables the 7.1 speaker output of the Audigy 2 ZS Notebook.
Further towards fixing ALSA bug#927
TODO:
SPDIF/IEC958 output. (untested, might already work)
Sound capture. (untested, might already work.)

Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2006-01-03 12:31:02 +01:00
James Courtier-Dutton 27fe864ec9 [ALSA] snd-emu10k1: Removes some distortion from Audigy 2 ZS Notebook.
Modules: EMU10K1/EMU10K2 driver

Description:
Part way to fix ALSA bug#927
Add support for the SPI interface on the CA0108 chip.
This is used to control the registers on the DAC.
Headphone output tested.
Other outputs and Capture not tested yet.
Note: The red LED does not come on, but sound is still OK.

Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2006-01-03 12:31:01 +01:00
Gergely Tamas a8ee72952b [ALSA] emu10k1 - Add entry for SB Live 5.1 Digital OEM [SB0220]
Modules: EMU10K1/EMU10K2 driver

Added the chip-detail entry for SB Live 5.1 Digital OEM [SB0220, (c) 2003].

Signed-off-by: Gergely Tamas <dice@mfa.kfki.hu>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03 12:30:30 +01:00
Andreas Schwab bd01e7bc9e [ALSA] emu10k1 - Fix missing declarations
Modules: EMU10K1/EMU10K2 driver

sound/pci/emu10k1/emufx.c: In function 'snd_emu10k1_efx_alloc_pm_buffer':
sound/pci/emu10k1/emufx.c:2402: error: implicit declaration of function 'vmalloc'
sound/pci/emu10k1/emufx.c:2402: warning: assignment makes pointer from integer without a cast
sound/pci/emu10k1/emufx.c: In function 'snd_emu10k1_efx_free_pm_buffer':
sound/pci/emu10k1/emufx.c:2413: error: implicit declaration of function 'vfree'

Signed-off-by: Andreas Schwab <schwab@suse.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03 12:30:17 +01:00
James Courtier-Dutton 19b99fbaed [ALSA] emu10k1: Partial support for Creative emu1212m
Modules: EMU10K1/EMU10K2 driver

Distorted sound now comes from the Audio Out socket. Still more work to do.

Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2006-01-03 12:30:15 +01:00
Takashi Iwai adf1b3d25e [ALSA] Optimize for config without PROC_FS (pci drivers)
Optimize the code when compiled without CONFIG_PROC_FS for some pci drivers.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03 12:30:08 +01:00
Takashi Iwai 09668b441d [ALSA] emu10k1 - Add PM support
Modules: EMU10K1/EMU10K2 driver

Add PM support to emu10k1 driver.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03 12:27:58 +01:00
Takashi Iwai 4b32f1aae2 [ALSA] Remove xxx_t typedefs: PCI emu10k1x
Modules: EMU10K1/EMU10K2 driver

Remove xxx_t typedefs from the PCI emu10k1x driver.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03 12:18:49 +01:00
Takashi Iwai eb4698f347 [ALSA] Remove xxx_t typedefs: PCI emu10k1
Modules: EMU10K1/EMU10K2 driver

Remove xxx_t typedefs from the PCI emu10k1 driver.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03 12:18:47 +01:00
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