1
Commit Graph

393 Commits

Author SHA1 Message Date
Takashi Iwai
67f2db24fb ALSA: opti-miro: Fix missing semicolon
To fix a build error
  sound/isa/opti9xx/miro.c:1281: error: expected ';' before '}' token

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-11-18 08:37:59 +01:00
Krzysztof Helt
b67cad932c ALSA: opti-miro: use variables directly in the probe function
Use the fm_port and mpu_port variables directly in a probe function.
This completely eliminates a need to copy the fm_port value to
the snd_miro structure.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-11-18 07:23:32 +01:00
Krzysztof Helt
b753e03e5e ALSA: cs4236: update control names
Update control names to be more closer to their meaning.
Change the "Mono" name to the "Beep" as this line is usually
used to forward the PC beeper signal to sound card's output.
Update names for both cs423x and wss.

Clean up cs4235 controls according to the cs4235 doc. Rename
some of the cs4235 controls to be consistent with the cs4236's
ones.

Also, delete one misnamed cs4231 register define.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-11-18 07:23:16 +01:00
Krzysztof Helt
faa1242c59 ALSA: es18xx: code improvements
1. Set the third argument of the snd_device_new to not NULL, so there is
   no warning about bug during chip detection. The third argument is not
   used in this driver. It was changed in my previous patch.

2. Remove the fm_port and mpu_port fields from the snd_es18xx structure.
   They can be converted to function arguments.

3. Remove the dmaN_size fields from the snd_es18xx structure. These
   values are used only in pointer functions and can be easily calculated.

4. Remove the ctrl_lock spinlock which is used only in one read function
   which is called once during chip initialization. There are many
   writes to the same register and they are not protected on purpose
   (see the comment ina the snd_es18xx_config_write()).

5. Use the first part of the text5Sources string table as the text4Soruces
   table (they are the same).

6. Merge the same cases for the ES1887 and ES1888 when setting chip's caps.

7. Move the snd_es18xx_reset() to __devinit section.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-11-08 11:26:04 +01:00
Krzysztof Helt
d114cd84a1 ALSA: cs4236: detect chip in one pass
The cs4236 was two step detection with call to the snd_wss_free()
between two steps. The snd_wss_free() did not free a sound device
created in the snd_wss_create(). This caused an OOPS during module
removal as the same sound device was released twice. The same OOPS
happened if the cs4236 module loading failed.

Fix this by adapting the snd_cs4236_create() to correctly work with
chips less capable then cs4236. The snd_cs4236_create() behaves the
same as the snd_wss_create() if the chip is less capable than the cs4236.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-11-05 18:10:25 +01:00
Jaroslav Kysela
d355c82a01 ALSA: rename "PC Speaker" and "PC Beep" controls to "Beep"
To avoid confusion in control names for the standard analog PC Beep generator
using a small Internal PC Speaker, rename all related "PC Speaker" and "PC
Beep" controls to "Beep" only. This name is more universal and can be also
used on more platforms without confusion.

Introduce also "Internal Speaker" in ControlNames.txt for systems with
full-featured build-in internal speaker.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-11-05 09:00:18 +01:00
Krzysztof Helt
b14f5de731 ALSA: es18xx: remove snd_audiodrive structure
Remove intermediate snd_audiodrive structure between
snd_card structure and snd_es18xx. This reduces size of
source code and binary driver.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-10-30 12:46:39 +01:00
Krzysztof Helt
3c76b4d69b ALSA: es18xx: remove snd_card pointer from snd_es18xx structure
The snd_card pointer is redundant and code can be easily
changed to work without it.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-10-30 12:46:18 +01:00
Krzysztof Helt
633c7e92bd ALSA: wss: reuse CS4231 controls for AD1848
The C4231 control set is a superset of the AD1848 control
set so reuse the CS4231 controls definitions for the AD1848.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-10-11 18:02:58 +02:00
Krzysztof Helt
abd134db94 ALSA: wss: convert CS4231 mixer to dB scale
Convert CS4231 mixer to dB scale after AD1848 mixer.

Also, add missing microphone boost control for the AD1848
and correct wrong bits for loopback volume on the AD1848.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-10-10 10:55:10 +02:00
Krzysztof Helt
6fcfa3959a ALSA: sscape: coding style fixes
Fix coding style errors in the driver.

Also, add missing argument for CMD_XXX_MIDI_VOL command.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-10-10 10:54:52 +02:00
Takashi Iwai
ed76f652d5 ALSA: sscape - Remove invalid __devinitdata to module parameters
Module parameters shouldn't be marked as __devinitdata since they can be
referred via sysfs even after probing.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-10-05 18:27:28 +02:00
Krzysztof Helt
1cb0fdebae ALSA: sscape: force AD1848 codec mode on old Soundscape
Old Soundscape cards (pre PnP) work only with AD1848 codecs.
If the CS4231 codec is installed it must be used in AD1848
compatible mode.

Also, add gameport support and remove an unused mpu field.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-10-05 18:21:33 +02:00
Krzysztof Helt
bcde1f8a80 ALSA: sscape: remove MIDI instances counting with limit ULONG_MAX
There is no sense to limit open MIDI connections with limit
as high as ULONG_MAX.

Also, convert more messages to use the snd_printk.

Correct few old and misleading comments as well.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-10-04 10:22:51 +02:00
Krzysztof Helt
acd4710091 ALSA: sscape: convert to firmware loader framework
The conversion solves the problem that firmware size was set to 64KB
while non PnP cards have 128KB firmware files.

An additional firmware initialization code has been moved from the OSS
driver.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-10-01 07:51:56 +02:00
Krzysztof Helt
f0968e3f7a ALSA: sscape: add supoort for SPEA Media FX/Reveal SC-600
Move code from the OSS sscape driver in order to support old Soundscape OEM models.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-09-28 11:31:36 +02:00
Takashi Iwai
9d2743f84d Merge branch 'topic/cmi8330' into for-linus
* topic/cmi8330:
  ALSA: cmi8330: Allow MPU-401-less operation
  ALSA: cmi8330: find OPL3 port automatically
  cmi8330: Add basic CMI8329 support
  ALSA: cmi8330: revert comments about AD1848 back
2009-09-10 15:32:45 +02:00
Julia Lawall
fcb2954b96 ALSA: sound/isa: convert nested spin_lock_irqsave to spin_lock
If spin_lock_irqsave is called twice in a row with the same second
argument, the interrupt state at the point of the second call overwrites
the value saved by the first call.  Indeed, the second call does not need
to save the interrupt state, so it is changed to a simple spin_lock.

The semantic match that finds this problem is as follows:
(http://www.emn.fr/x-info/coccinelle/)

// <smpl>
@@
expression lock1,lock2;
expression flags;
@@

*spin_lock_irqsave(lock1,flags)
... when != flags
*spin_lock_irqsave(lock2,flags)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-07-19 14:02:29 +02:00
Ondrej Zary
72b43cf140 ALSA: cmi8330: Allow MPU-401-less operation
Adding MPU-401 support to cmi8330 driver could cause a regression (non-working
sound) on a system where there is no free IRQ for the MPU-401 device (which
is not very uncommon as this card requires two separate IRQs plus a third one
for MPU-401).

When MPU-401 PnP configuration fails (mostly because of unavailable IRQ), just
ignore MPU-401 and continue without it.

Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-07-07 18:24:53 +02:00
Ondrej Zary
0b95916723 ALSA: cmi8330: find OPL3 port automatically
My CMI8329 had OPL3 port specified in SB16 resources. But now I found out that
it was my modification of the card's PnP EEPROM a couple of years ago (can be
done using C9SETROM.EXE utility). I did it because the OPL3 port was
completely missing from PnP data. It seems to be hardwired to 0x388 on
CMI8329.

Find OPL3 port automatically by searching in WSS and SB16 resources. If not
found, assume that it's hardwired to 0x388.

Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-07-07 08:02:57 +02:00
Ondrej Zary
69eb88825a cmi8330: Add basic CMI8329 support
Add basic support for CMI8329 cards. Makes PCM and OPL3 work.
Does not break CMI8330 (tested).

Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-07-05 11:47:24 +02:00
Ondrej Zary
74a0094cd9 ALSA: cmi8330: revert comments about AD1848 back
In ALSA 1.0.20, the comments were changed to say CMI8330 instead of AD1848.
The CMI8330 chip includes two codecs - AD1848 and SB16, so the comments were
correct and are misleading now. Revert them back.

Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-29 08:06:57 +02:00
Ondrej Zary
c2a30d7118 ALSA: cmi8330: fix MPU-401 PnP init copy&paste bug
Fix copy&paste bug in PnP MPU-401 initialization.

Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-29 08:06:10 +02:00
Takashi Iwai
4ef279205a Merge branch 'topic/seq-kconfig-cleanup' into for-linus
* topic/seq-kconfig-cleanup:
  ALSA: clean up the logic for building sequencer modules
2009-06-10 07:26:48 +02:00
Takashi Iwai
1282c824cc Merge branch 'topic/section-fix' into for-linus
* topic/section-fix:
  ALSA: Add missing __devexit_p() markers
  ALSA: powermac - Replace the rest of __init*
  ALSA: sound/ppc: update annotations of serveral functions
2009-06-10 07:26:46 +02:00
Takashi Iwai
45d60e3648 Merge branch 'topic/sc6000' into for-linus
* topic/sc6000:
  ALSA: sc6000: enable joystick port
  ALSA: sc6000: fix older card initialization
  ALSA: sc6000: add support for SC-6600 and SC-7000
2009-06-10 07:26:45 +02:00
Jean Delvare
82ced6fd28 ALSA: Add missing __devexit_p() markers
3 ISA sound drivers lack their __devexit_p() markers, which would
cause build failures when the kernel is built without hotplug support.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: Kyle McMartin <kyle@mcmartin.ca>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-04 10:52:16 +02:00
Michal Marek
0528c7494e ALSA: clean up the logic for building sequencer modules
Instead of mangling the CONFIG_* variables in the makefiles over and
over, set a few helper variables in Kconfig.

Signed-off-by: Michal Marek <mmarek@suse.cz>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-29 11:49:42 +02:00
Krzysztof Helt
b0ec3a30bc ALSA: sc6000: enable joystick port
Add module parameter to enable or disable
joystick port (gameport) on the SC6600 and
later cards.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-04 09:08:22 +02:00
Takashi Iwai
2008f137e9 ALSA: Add missing SNDRV_PCM_INFO_BATCH flag to some drivers
Added SNDRV_PCM_INFO_BATCH flag to PCM info field of some drivers that
really don't give the precise pointer value.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-28 15:06:44 +02:00
Krzysztof Helt
0cfcdedadd ALSA: sc6000: fix older card initialization
The last patch to handle newer cards like SC7000
broke initialization of the SC6000. Fix this.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-24 08:12:06 +02:00
Takashi Iwai
f4723b224d Merge branch 'topic/memdup_user' into for-linus
* topic/memdup_user:
  ALSA: sound/pci: use memdup_user()
  ALSA: sound/usb: use memdup_user()
  ALSA: sound/isa: use memdup_user()
  ALSA: sound/core: use memdup_user()
2009-04-15 11:24:27 +02:00
Krzysztof Helt
c282866101 ALSA: sc6000: add support for SC-6600 and SC-7000
Add support for later cards based on CompuMedia ASC-9408 chipsets.
These cards were produced by Gallant.

This patch make the OSS aedsp16 driver redundant.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-14 13:27:31 +02:00
Li Zefan
68425adcc4 ALSA: sound/isa: use memdup_user()
Remove open-coded memdup_user().

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-14 12:39:23 +02:00
Linus Torvalds
1e17d774db Merge git://git.infradead.org/~dwmw2/firmware-2.6
* git://git.infradead.org/~dwmw2/firmware-2.6:
  qla1280: Fix off-by-some error in firmware loading.
  Add README.AddingFirmware file. Basically telling people not to.
  firmware: Remove newly-added slicoss and sxg firmware images
  firmware/WHENCE: Add missing origin information for Ambassador atmsar11.fw
  ALSA: wavefront - Always use request_firmware()
  Remove fdump tool for av7110 firmware
  firmware: convert av7110 driver to request_firmware()
  Partially revert "V4L/DVB (9533): cx88: Add support for TurboSight TBS8910 DVB-S PCI card"
  Revert "fix modules_install via NFS"

Add-add conflicts in firmware/WHENCE fixed manually
2009-04-10 12:01:22 -07:00
Takashi Iwai
7c7cae17e0 ALSA: wavefront - Always use request_firmware()
Always use request_firmware() for loading yss225_registers image.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2009-04-06 14:38:43 -07:00
Krzysztof Helt
1661c61555 ALSA: opl3sa2: add ZV port control
Add ZV port control switch.

This patch is done after solution
given in the ALSA bug #2872 report.
The patch resolves the issue.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-06 03:46:17 +02:00
Takashi Iwai
d080732334 Merge branch 'topic/sscape-fix' into for-linus 2009-03-24 00:36:21 +01:00
Takashi Iwai
4c5ecb7e59 Merge branch 'topic/msnd' into for-linus 2009-03-24 00:36:15 +01:00
Takashi Iwai
fa15fdeffa Merge branch 'topic/isa-misc' into for-linus 2009-03-24 00:36:13 +01:00
Takashi Iwai
a3c6048dcf Merge branch 'topic/cs423x-merge' into for-linus 2009-03-24 00:35:59 +01:00
Takashi Iwai
dec14f8c0e Merge branch 'topic/snd_card_new-err' into for-linus 2009-03-24 00:35:35 +01:00
Takashi Iwai
37ba1b6283 Merge branch 'fix/opl3sa2-suspend' into topic/isa-misc 2009-03-17 09:28:13 +01:00
Krzysztof Helt
dde332b660 ALSA: opl3sa2 - Fix NULL dereference when suspending snd_opl3sa2
Fix the OOPS during a opl3sa2 card suspend
and resume if the driver is loaded but the card
is not found.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-17 09:27:47 +01:00
Krzysztof Helt
1713c0d508 ALSA: opl3sa2 fix irq releasing and short name of card
Two simple fixes:

1. Use the same pointer for the free_irq() and
   the request_irq() calls.

2. A short name of card is appended with '2' or '3'
   character depending on a detected chip. Remove
   the '2' character from the short name.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-02 12:21:01 +01:00
Andreas Mohr
ce71bfd1aa ALSA: ALS4000, slight mixer improvements
- add 8kHz / 20 kHz low-pass filter switch control
- add ALS4000 Mono capture route control
- add annotations to specs pages
- improve ALS4000 PM saved regs selection (remove SB dummy register,
  add missing ones)
- add some missing ALS4000 register defines
- constify two variables

Signed-off-by: Andreas Mohr <andi@lisas.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-23 07:47:52 +01:00
Takashi Iwai
cda9043d56 ALSA: cs4236 - Merge snd-cs4236-lib module into snd-cs4236
Since cs4232 and cs4236 drivers are merged, there is no reason to keep
snd-cs4236-lib module separately.  Let's merge it into the main driver
as well.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-17 08:10:54 +01:00
Krzysztof Helt
c2b73d1458 ALSA: cs4236: cs4232 and cs4236 driver merge to solve PnP BIOS detection
cs4232 and cs4236 driver merge to solve PnP BIOS detection.

Also, the patch adds recognition if the chip is cs4236b+
or earlier part. This unifies drivers for both cs4232
and cs4236+ chips. It allows to use the PnP BIOS
detection for the cs4236+ chips. Previously, only
the snd-cs4232 could be detected by the PnP BIOS.

The cs4232+ cards reports two separate PnP BIOS ids.

The patch adds search for the second id to find out
resources assigned to a control port.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-16 23:05:25 +01:00
Takashi Iwai
96cf45cf55 Merge branch 'topic/snd_card_new-err' into topic/cs423x-merge 2009-02-16 23:03:57 +01:00
Takashi Iwai
4c9f1d3ed7 ALSA: isa/*: Add missing KERN_* prefix to printk
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-05 15:48:34 +01:00
Takashi Iwai
91f050604c ALSA: gus - Add missing KERN_* prefix to printk
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-05 15:46:48 +01:00
Takashi Iwai
76d498e43f ALSA: wss - Add missing KERN_* prefix to printk
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-05 15:45:05 +01:00
Takashi Iwai
5e7476243a ALSA: msnd - Fix build error with CONFIG_PNP=n
sound/isa/msnd/msnd_pinnacle.c:891: error: 'isapnp' undeclared (first use in this function)

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-04 18:28:42 +01:00
Krzysztof Helt
453e37b375 ALSA: sscape: drop redundant fields from soundscape struct
The wss_base is disuised parameter for one function.
It is converted to function parameter.

The code_type is only set but never read.
It is removed.

The midi_vol is set only to 0 so it does not work
as detection of change in midi volume. It is fixed.

The xport variable is alias to the port[dev]. Use
the port[dev] directly to increase readability.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-04 17:55:36 +01:00
Krzysztof Helt
5aa13a9409 ALSA: msnd: add module description and license for the snd-msnd-lib
The missing module license generates warning
during module loading.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-02 08:24:36 +01:00
Krzysztof Helt
880abd42d0 ALSA: ess1688: fix OPL3 port setting
The ess1688 driver uses the same port
for PCM audio (SB compatible) and OPL3
synthesis. It is not always right so allow to
choose a different port for OPL3 synthesis.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-30 19:55:37 +01:00
Krzysztof Helt
c97dff84e0 ALSA: cmi8330: add MPU-401 support
Add MPU-401 port support for the chip.
Also, update some error messages and description.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-29 11:47:02 +01:00
Krzysztof Helt
0a898e6e50 ALSA: gus: update debug messages
Convert some of them to snd_printdd() and
update arguments to make them compilable.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-29 11:46:56 +01:00
Krzysztof Helt
56305757f0 ALSA: sscape: update Kconfig description about SoundScape cards
The SoundScape driver handles more cards then described.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-29 11:46:25 +01:00
Takashi Iwai
a5f7c47391 ALSA: enable build of snd-msnd-* drivers
Added the missing msnd directory to Makefile.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-28 09:02:52 +01:00
Krzysztof Helt
f6c6383502 ALSA: Turtle Beach Multisound Classic/Pinnacle driver
This is driver for Turtle Beach Multisound cards:
Classic, Fiji and Pinnacle.

Tested pcm playback and recording and MIDI playback
on Multisound Pinnacle.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-28 07:47:36 +01:00
Krzysztof Helt
a17ac45a5d ALSA: ad1816a: enable hardware timer
Enable hardware timer with 10 usec resolution.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-21 15:12:40 +01:00
Krzysztof Helt
aa9c293ae4 ALSA: do not create OPL3 timers if there is no OPL3 irq wired
Most cards have OPL3 FM synthetiser but
they do not have OPL3 interrupt wired to
a sound chip or CPU.

Do not create OPL3 timers for such cards
as the timers are useless witthout interrupt.

This patch removes OPL3 timers for following
alsa drivers: snd-ad1816a, snd-opti93x,
snd-opti92x, snd-sc6000, snd-cmi8330.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-21 15:11:02 +01:00
Krzysztof Helt
c9864fd30a ALSA: sscape: use common MPU401 macros
Remove local macros which redefines the
common ones.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-21 08:37:04 +01:00
Krzysztof Helt
48972cc510 ALSA: cmi8330: add OPL3 support
Add OPL3 handling to the driver
and volume control for FM synthesis.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-21 08:36:39 +01:00
Krzysztof Helt
9ef344f89a ALSA: wss-lib: remove "pops" before each played sound
A WSS codec is autocalibrated each time before
playing sound. Do only one calibration during
codec initialization.

Complete snd_wss_calibrate_mute to mute loopback
volume as well.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-17 12:02:21 +01:00
Takashi Iwai
b1a0aac05f ALSA: opti9xx - Fix build breakage by snd_card_create() conversion
Add a missing variable declaration.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-14 09:34:06 +01:00
Krzysztof Helt
554b91edec ALSA: sscape: fix incorrect timeout after microcode upload
A comment states that one should wait up to 5 secs
while a waiting loop waits only 5 system ticks.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-13 07:52:24 +01:00
Takashi Iwai
3e7fb9f7ec ALSA: Return proper error code at probe in sound/isa/*
Some drivers in sound/isa/* don't handle the error code properly
from snd_card_create().  This patch fixes these places.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-12 15:21:54 +01:00
Takashi Iwai
c95eadd2f1 ALSA: Convert to snd_card_create() in sound/isa/*
Convert from snd_card_new() to the new snd_card_create() function.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-12 15:20:26 +01:00
Krzysztof Helt
199f797873 ALSA: wss-lib: move AD1845 frequency setting into wss-lib
This is required to allow the sscape driver
to autodetect installed codec.

Also, do not create a timer if detected codec
has no hardware timer (e.g. AD1848).

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Cc: Rene Herman
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-11 13:09:05 +01:00
Takashi Iwai
55fa518867 Merge branch 'topic/pcsp-fix' into topic/misc 2008-12-20 23:39:47 +01:00
Takashi Iwai
42a73df435 ALSA: sb8 - Fix a return code in the error path
Fixed a compile warning below:
  sound/isa/sb/sb8.c: In function ‘snd_sb8_probe’:
  sound/isa/sb/sb8.c:104: warning: ‘err’ may be used uninitialized in this function
by setting the return value correctly.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-11 12:12:06 +01:00
Ville Syrjala
0f101fa6bc ALSA: gusextreme: Fix build errors
gusextreme depends on opl3 support. Add the approriate select to Kconfig.
Also remove the unnecessary hwdep select.

Relevant build errors:
ERROR: "snd_opl3_hwdep_new" [sound/isa/gus/snd-gusextreme.ko] undefined!
ERROR: "snd_opl3_create" [sound/isa/gus/snd-gusextreme.ko] undefined!

Signed-off-by: Ville Syrjala <syrjala@sci.fi>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-10 07:54:25 +01:00
Takashi Iwai
0418ff0c8e ALSA: remove direct access of dev->bus_id in sound/isa/*
Removed the direct accesses of dev->bus_id in sound/isa/* by replacement
with dev_err() or dev_warn() functions.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-03 08:57:40 +01:00
Takashi Iwai
ea88663cdc ALSA: remove stale files
Empty files remained likely due to wrong patching.
Remove them now.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 09:10:52 +02:00
Takashi Iwai
ac68c16a44 ALSA: remove obsolete *_FIRMARE_IN_KERNEL in isa/Kconfig
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-29 10:06:16 +02:00
Krzysztof Helt
f83a59c3c1 ALSA: wss_lib: do not mess mixer settings during probe
Use the wss_dout function which does not mess
shadowed register values during chip probing.
Otherwise, user ends up with stupid mixer settings
after driver loading.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Acked-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-25 09:57:50 +02:00
Rene Herman
36463a9660 ALSA: snd-ad1816a: add different TerraTec EWS64 S model
Signed-off-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-25 09:57:49 +02:00
Krzysztof Helt
f87426e085 ALSA: opl3sa2: replace nd_opl3sa2_info_xxx() with snd_wss_info_xxx()
Replace snd_opl3sa2_info_xxx() with snd_wss_info_xxx().
Drop check of card->private_data which cannot be NULL
if card is not NULL (spotted by Rene Herman).

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-25 09:57:13 +02:00
Krzysztof Helt
ace457c77b ALSA: wss_lib: snd_wss_calibrate_mute improvement
Mute sound by setting mute bit without
setting volume to 0. It makes both source code
and binary shorter.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-25 09:57:06 +02:00
Krzysztof Helt
503c10d8a7 ALSA: opl3sa2: drop snd_card pointer from the snd_opl3sa2 structure
Remove card pointer from the snd_opl3sa2
structure and break circular reference
snd_card->snd_opl3sa2->snd_card.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Acked-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-25 09:57:03 +02:00
Takashi Iwai
622207dc31 ALSA: Kill snd_assert() in sound/isa/*
Kill snd_assert() in sound/isa/*, either removed or replaced with
if () with snd_BUG_ON().

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-13 11:46:36 +02:00
Rene Herman
3caf8c080e ALSA: wss_lib: missing closing brace in (ifdeffed out) debug function.
Signed-off-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-13 11:46:29 +02:00
Rene Herman
c9a7dc2c52 ALSA: wss_lib: rework snd_ad1848_probe()
Make snd_ad1848_probe() easier to follow. With an exception for only
trying once as soon as the codec is out of init (which should be all
that's needed) the detection logic should be unchanged.

Signed-off-by: Rene Herman <rene.herman@gmail.com>
Acked-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-06 15:40:31 +02:00
Rene Herman
6ddfa7432a ALSA: wss_lib: fix AZT2320 probe.
After the transition from cs4321_lib to wss_lib, azt2320 probe visits
snd_ad1848_probe during detection. It expects register 0 (LEFT_INPUT)
to be able to retain the value 0xaa during detection but AZT2320 does
not support MIC gain meaning it reads back as 0x8a instead.

Signed-off-by: Rene Herman <rene.herman@gmail.com>
Acked-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-06 15:40:11 +02:00
Rene Herman
ebae22590d ALSA: snd-cs4236: add Techmakers MF-4236PW PnP card ID
Add the Techmakers MF-4236PW (Crystal CX4236B-XQ3) PnP card ID.

Signed-off-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-06 15:40:09 +02:00
Krzysztof Helt
f1789f451d ALSA: wss_lib: remove second mutexes initialization
Remove initializations of spinlock and mutexes which
are done earlier in snd_wss_new(). The snd_wss_new()
is called from snd_wss_create().

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-06 15:40:06 +02:00
Rene Herman
a0d9274cd8 ALSA: wss_lib: opti92x-ad1848 WSS_HW_DETECT fix
snd-opti92x-ad1848 mistakingly passes WSS_HW_OPTI93X currently. This
fixes it as tested with a OPTi 82C929A/AD1848 card.

Signed-off-by: Rene Herman <rene.herman@gmail.com>
Acked-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-06 15:40:05 +02:00
Krzysztof Helt
31eca307fd ALSA: wss_lib: fix opti93x capture formats limitations
Limit opti93x cards capture formats to only linear ones.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-06 15:40:03 +02:00
Krzysztof Helt
760fc6b838 ALSA: wss_lib: use wss detection code instead of ad1848 one
Use the wss detection code and kill the ad1848 library.
The library is fully assimilated into the new wss library.

This required reworking of the AD1848 family code
so the code is changed to correctly detect chips from
the AD1848 and CS4231 families.

I have tested it on following cards:
Gallant SC-6600 (codec: AD1848, driver: snd-sc6600)
SoundScape VIVO/90 (codec: AD1845, driver: snd-sscape)
SG Waverider (codec: CS4231A, driver: Rene Herman's snd-galaxy)
Opti930 (codec: built-in - CS4231 compatible, driver: snd-opti93x)
Opti931 (codec: built-in - CS4231 compatible, driver: snd-opti93x)
Gallant SC-70P (chip/codec: CS4237B, driver: snd-cs4236)
Audio Plus 3D (chip/codec: CMI8330A, driver: snd-cmi8330)
Dell Latitude CP (chip/codec: cs4236, driver snd-cs4232)

Sound playback and recording works on all these cards.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-06 15:40:02 +02:00
Krzysztof Helt
ead893c0de ALSA: wss_lib: use wss pcm code instead of ad1848 one
Use the wss pcm code and kill the ad1848 pcm code.

The AD1848 chip is much slower than CS4231 chips
so the waiting loop was increased 100x (10x is not
enough).

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-06 15:39:56 +02:00
Krzysztof Helt
5664daa1c1 ALSA: wss_lib: use wss mixer code instead of ad1848 one
Use the wss mixer code and kill the ad1848 mixer code.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-06 15:39:55 +02:00
Krzysztof Helt
811585e9d1 ALSA: wss_lib: use CS4231P instead of AD1848P (kill the AD1848P)
Use CS4231P instead of AD1848P (kill the AD1848P).

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-06 15:39:53 +02:00
Krzysztof Helt
0c5e3e9822 ALSA: wss_lib: replace ad1848 mixer element macros with wss ones
Use the wss macros instead of ad1848 ones.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-06 15:39:52 +02:00
Krzysztof Helt
ece11c9b6d ALSA: wss_lib: use wss constants instead of ad1848 ones
Use wss constants for mode.
Move ad1848 hardware constants to the wss.h.
Move mixer tlv macros into the ad1848_lib.c from the ad1848.h.

Drop the MODE_RUNNING spurious IRQ guard on AD1848 as it doesn not seem
to be needed.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-06 15:39:51 +02:00
Krzysztof Helt
241b3ee70d ALSA: wss_lib: use struct snd_wss instead of snd_ad1848
The snd_wss is superset of the snd_ad1848 so kill
the latter and replace it with the snd_wss.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-06 15:39:50 +02:00
Krzysztof Helt
7779f75f07 ALSA: wss_lib: rename cs4321_foo to wss_foo
Rename functions and structures from the former
cs4321_lib to names more corresponding with the
new name: wss_lib.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-06 15:39:49 +02:00
Krzysztof Helt
61ef19d7e7 ALSA: wss_lib: rename cs4231.h into wss.h
Rename file include/sound/cs4231.h
into include/sound/wss.h

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-06 15:39:47 +02:00
Krzysztof Helt
9295aea1e8 ALSA: wss_lib: move cs4231_lib into wss_lib
Move the file sound/isa/cs423x/cs4231_lib.c
into sound/isa/cs423x/wss_lib.c
This is the first step toward merging all libraries
for Windows Sound System compatible chips
into a single library.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-06 15:39:46 +02:00