]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
ALSA: introduce snd-cmi8328: C-Media CMI8328 driver
authorOndrej Zary <linux@rainbow-software.org>
Mon, 20 Aug 2012 20:39:51 +0000 (22:39 +0200)
committerTakashi Iwai <tiwai@suse.de>
Tue, 21 Aug 2012 05:30:46 +0000 (07:30 +0200)
commitf9933487468c760b8cd9b4e9f7ec4e494f711a0a
tree98a324f6baae28c43c4a90ec10b6d792c81fb82d
parentddf83485d7da468251716b8040bac1280622181e
ALSA: introduce snd-cmi8328: C-Media CMI8328 driver

Introduce snd-cmi8328 driver for C-Media CMI8328-based sound cards, such as
AudioExcel AV500.

It supports PCM playback and capture (full-duplex) through wss_lib, gameport,
OPL3 and MPU401. The AV500 card has onboard Dream wavetable synth connected
to the MPU401 port and Aux 1 input internally which works too.
The CDROM interface is not supported (as the drivers for these CDROMs were
removed from the kernel some time ago).

A separate driver is needed because CMI8328 is completely different chip to
CMI8329/CMI8330. It's configured by magic registers (there's no PnP). Sound is
provided by a real WSS codec (CS4231A) and the SB part is just a SB Pro
emulation (for DOS games, useless for Linux).

When SB is enabled, the CMI8328 chip disables access to the WSS codec,
emulates SoundBlaster on one side and outputs sound data to the codec - so SB
and WSS can't work together with this card. The WSS codec can do full duplex
by itself so there's no need for crazy things like snd-cmi8330 does
(combining SB and WSS parts into one driver).

Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/isa/Kconfig
sound/isa/Makefile
sound/isa/cmi8328.c [new file with mode: 0644]