Graeme Gregory [Fri, 2 Feb 2007 16:13:05 +0000 (17:13 +0100)]
[ALSA] soc - 0.13 ASoC headers
This patch updates the API's to include the new DAI configuration and
clocking architecture.
Changes:-
o Removed DAI automatic matching and capabilities structure (struct
snd_soc_dai_mode) and macros.
o Added DAI operations for codec and CPU interfaces.
o Removed config_sysclk() function and struct snd_soc_clock_info. No
longer needed as clocking is now configured manually in the machine
drivers. Also removed other clocking data from structures.
o Updated version to 0.13
o Added shift to SOC_SINGLE_EXT kcontrol macro.
Takashi Iwai [Thu, 1 Feb 2007 14:46:50 +0000 (15:46 +0100)]
[ALSA] hda-intel - Add black/whitelist for position_fix option
Some devices are known to require position_fix=1 or 2 to make the
driver working correctly. Otherwise the sound gets weird effects,
such as stutters.
Now a black/whitelist is introduced to indicate the position_fix
value explicitly for such misbehaving hardwares. As a first example,
Dell D820 is listed there. More will come later likely...
Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Takashi Iwai [Thu, 1 Feb 2007 13:53:49 +0000 (14:53 +0100)]
[ALSA] Fix possible invalid memory access in PCM core
snd_internval_list() may access invalid memory in the case count = 0
is given. It shouldn't be passed, but it'd better to make the code
a bit more robust.
Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Takashi Iwai [Thu, 1 Feb 2007 10:50:56 +0000 (11:50 +0100)]
[ALSA] usbaudio - Fix Oops with unconventional sample rates
The patch fixes the memory corruption by the support of unconventional
sample rates. Also, it avoids the too restrictive constraints if
any of usb descriptions contain continuous rates.
Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Liam Girdwood [Wed, 31 Jan 2007 13:14:57 +0000 (14:14 +0100)]
[ALSA] ASoC force running of delayed PM work at suspend() and remove()
This patch fixes a bug whereby the power management delayed work would
never be run at driver suspend() or module remove(). Delayed work would
be created (after audio had finished) with a long delay (~5 secs) and
was sometimes never queued before flush_scheduled_work() was being
called at suspend or module remove. This caused the delayed work to
queued after the module had been removed or after resume.
This patch forces any delayed work to complete by cancelling it (timer
cannot fire and add it to queue later), scheduling it for now and
waiting on it's completion.
This is something I probably would like to add to workqueue.c in the
next merge window, however it's here atm because it can oops.
Karsten Wiese [Wed, 31 Jan 2007 09:05:30 +0000 (10:05 +0100)]
[ALSA] snd_hwdep_release() racefix
snd_card_file_remove() can free the snd_card.
Touch hw->* only before calling snd_card_file_remove().
Unrelated: Allow hwdep devices not to have own ops.release();
Takashi Iwai [Mon, 29 Jan 2007 14:33:49 +0000 (15:33 +0100)]
[ALSA] Add even more 'const' to everything related to TLV
Mark TLV data as 'const' Signed-of-by: Philipp Matthias Hahn <pmhahn@pmhahn.de> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Takashi Iwai [Mon, 29 Jan 2007 14:27:56 +0000 (15:27 +0100)]
[ALSA] Add some more 'const', but needs changes in i2c/other/ak4*
Make data passed to ak4xxx_create 'const'. Signed-of-by: Philipp Matthias Hahn <pmhahn@pmhahn.de> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Takashi Iwai [Mon, 29 Jan 2007 14:26:36 +0000 (15:26 +0100)]
[ALSA] Add 'const' to files in pci/ice1712/
Mark a lot of data as 'const' Signed-of-by: Philipp Matthias Hahn <pmhahn@pmhahn.de> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Takashi Iwai [Mon, 29 Jan 2007 14:25:40 +0000 (15:25 +0100)]
[ALSA] ice1712 - Reorganize existing eeprom data
Reorganize EEPROM data (in C99 style). Signed-of-by: Philipp Matthias Hahn <pmhahn@pmhahn.de> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Robert P. J. Day [Mon, 29 Jan 2007 13:46:18 +0000 (14:46 +0100)]
[ALSA] Remove useless reference to obsolete KERNELD
Remove the final useless reference to the obsolete KERNELD feature.
Signed-off-by: Robert P. J. Day <rpjday@mindspring.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
[ALSA] hda-codec - Missing Mic Boost on Realtek ALC882/883
This patch adds Mic Boost controls for Realtek ALC882 and ALC883 chips.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Takashi Iwai [Fri, 19 Jan 2007 17:34:47 +0000 (18:34 +0100)]
[ALSA] emu10k1 - Fix ABI for older ld10k1
Fix ABI for older ld10k1. When no EMU10K1_PVERSION ioctl is issued,
the driver accepts ioctls with the old struct size without TLV information.
Also, changed the struct field to make the conversion easier from the
old to the new structs.
Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Takashi Iwai [Fri, 19 Jan 2007 13:51:57 +0000 (14:51 +0100)]
[ALSA] hda-intel - Don't try to probe invalid codecs
Fix the max number of codecs detected by HD-intel (and compatible)
controllers to 3. Some hardware reports extra bits as if
connected, and the driver gets confused to probe unexisting codecs.
Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Recognize the Realtek ALC883 chip on MSI K9A Platinum motherboards (model
no. MS-7280), enabling full sound capabilities.
Error messages seen before this patch:
cannot find the slot for index 0 (range 0-0)
hda-intel: Error creating card!
HDA Intel: probe of 0000:00:14.2 failed with error -12
[akpm@osdl.org: updated to match recent ALSA table changes]
Signed-off-by: Leonard Norrgard <leonard.norrgard@refactor.fi> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Tobin Davis [Mon, 8 Jan 2007 10:04:17 +0000 (11:04 +0100)]
[ALSA] hda-codec - Add support for Sigmatel STAC9202/9250/9251 codecs
This patch adds support for Gateway laptops based on the
Sigmatel STAC9250 codecs, as well as basic support for
STAC9202/9250/9251 codecs. Some Gateway systems require
probe_mask=1 to work. More work to be done prior to alsa 1.0.14
final.
Signed-off-by: Tobin Davis <tdavis@dsl-only.net> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
[ALSA] Solve typos/compilation problems for debug functions in soc-dapm and at91-i2s
soc-dapm
·Removed list_for_each since the loop is list_for_each_entry() and
not list_for_each(). Thanks to Liam Girdwood and Seth Forshee.
at91-i2s
·Fixed typo in dai modes definition.
·Fixed struct member name in at91_ssc_info->ssc_state.
·Fixed compilation problem, ssc_state is bundled in at91_ssc_info.
Tobin Davis [Mon, 8 Jan 2007 09:54:26 +0000 (10:54 +0100)]
[ALSA] hda-codec - Change default config for Asus P5GD1
This patch changes the default configuration for the Asus P5GD1
motherboard from 5stack to asus, as reported by stelek on
linuxquestions.org
http://www.linuxquestions.org/questions/showthread.php?p=2556497#post2556497
Signed-off-by: Tobin Davis <tdavis@dsl-only.net> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Clement Guedez [Mon, 8 Jan 2007 09:48:41 +0000 (10:48 +0100)]
[ALSA] Add support of the ESI Waveterminal 192M to the ice1724 ALSA driver
This patch adds the support of the ESI Waveterminal 192M soundcard
to the ice1724 familly ALSA driver.
It's a semi-professionnal soundcard for home studio : many I/O and
a quality of sound is good, better than consumer cards, but less
musical than professional cards.
It use a Via Envy24ht chipset as ice1724 soundcard, Sigmatel
stac9640 ADC/DAC for the analog I/O as Prodigy192, and Atmel ak4114
for S/PDIF as ESI Julia.
Is working : the 8 analog outputs, the analog inputs 1&2, the mic
input 1, the coaxial & optical digital outputs.
Randy Cushman [Fri, 22 Dec 2006 11:44:25 +0000 (12:44 +0100)]
[ALSA] ac97 - fix various issues with AD1986/AD1986A support
Previously, ac97_codec.c was coded to support AD1986 and AD1986A
CODECs using code written for the AD1985 CODEC. This allowed the
LINE_OUT and HEADPHONE jacks to function properly, however register
differences between the CODECs prevented line and microphone inputs
from functioning.
Specifically, this patch fixes issues with the following mixer
controls: 'V_REFOUT', 'Spread Front to Surround and Center/LFE',
'Exchange Front/Surround', 'Surround Jack Mode', and 'Channel Mode'.
This patch removes the undocumented AD1888 control
'High Pass Filter Enable' and adds the new control
'Exchange Mic/Line In'.
Signed-off-by: Randy Cushman <rcushman_linux@earthlink.net> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Randy Cushman [Thu, 21 Dec 2006 18:17:29 +0000 (19:17 +0100)]
[ALSA] ac97 - fix malfunctioning mixer controls for AD1985
This patch replaces the 'V_REFOUT Enable' mixer switch control
with a listbox control for the AD1985 CODEC.
Previous patch 'AD1888 mixer controls for DC mode' added
controls that were propogated to multiple codecs. For the
AD1985 codec, the bits VREFH and VREFD function differently,
preventing the 'V_REFOUT Enable' control from setting V_REFOUT
to Hi-Z.
This patch also corrects an issue in which register bits relating
to mixer controls 'Surround Jack Mode' and 'Channel Mode'.
The register bits controlled by these controls were being set
at boot time to states inconsistent with the stored values of
these controls.
Signed-off-by: Randy Cushman <rcushman_linux@earthlink.net> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Randy Cushman [Tue, 19 Dec 2006 17:42:16 +0000 (18:42 +0100)]
[ALSA] ac97 - fix microphone and line_in selection logic
This patch fixes the Microphone and LINE_IN select logic for
Analog Devices surround codecs with shared jacks. The existing
code can never utilize the shared jacks for Microphone and LINE_IN
due to the reversed jack selection logic. The patched code
correctly selects the shared jack for input if the 'Channel Mode'
selector does not specify that the jack is to be used for output.
Specifically, in '2ch' mode the Center/LFE jack is used for
microphone input and the Surround jack is used for LINE_IN,
in '4ch' mode the Center/LFE jack is used for microphone input
and the Surround jack is used for output, and in '6ch' mode
both jacks are used for output.
Signed-off-by: Randy Cushman <rcushman_linux@earthlink.net> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
James C Georgas [Tue, 19 Dec 2006 10:09:41 +0000 (11:09 +0100)]
[ALSA] Remove AC97 POP control for STAC9708/11
The STAC9708/11 AC97 codecs implement the PCM Out Path & Mute bit in
the General Purpose register (0x20:F), even though they don't implement
the actual function in the mixer.
Since the alsa tests for the function by toggling the bit and reading
it back to see if it changed, it mistakenly creates a useless control.
This patch explicitly removes the control when the codec is an
STAC9708/11.
I put the check in patch_sigmatel_stac9708_specific(), because I have
an SBLive with this chip on it. I don't know if the STAC9758 or other
codecs also behave this way. If they do, then this check could maybe go
in patch_sigmatel_stac97xx_specific(), or some other more general
function.
Signed-off-by: James C Georgas <jgeorgas@rogers.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Liam Girdwood [Mon, 18 Dec 2006 13:39:02 +0000 (14:39 +0100)]
[ALSA] Additional credits to soc-core
This patch adds copyright and credit for my good friend Richard Purdie
from OpenedHand for his help and code contribution throughout the
development of the core code. Many thanks Richard (I guess we overlooked
this in trying to get everything working well).
It also adds some extra comments wrt to DAI clock matching.
Johannes Berg [Mon, 18 Dec 2006 12:20:06 +0000 (13:20 +0100)]
[ALSA] snd-aoa: fix onyx resume
When the machine resumes the onyx codec might be in a weird state. Hence,
simply fully reset it once (and keep the code to take it out of suspend in
case the suspend of the codec chip survives a reset).
Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Tobin Davis [Fri, 15 Dec 2006 09:02:12 +0000 (10:02 +0100)]
[ALSA] hda-codec (realtek): add support for MacPro series workstations
This patch adds limited support for Intel-based MacPro workstations.
Currently, the front headphone jack is not functioning, but line out
and line in are working. S/PDIF not tested.
Signed-off-by: Tobin Davis <tdavis@dsl-only.net> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Andrew Morton [Fri, 15 Dec 2006 08:30:07 +0000 (09:30 +0100)]
[ALSA] Fix the soc code after dhowells workqueue changes.
From: Andrew Morton <akpm@osdl.org>
I converted the workqueues to per-device while I was there. It seems
strange to create a new kernel thread (on each CPU!) and to then only
have a single global work to ever be queued upon it.
Plus without this, I'd have to use the _NAR stuff, gawd help me.
Does that workqueue really need to be per-cpu?
Does that workqueue really need to exist? Why not use keventd? Cc: Takashi Iwai <tiwai@suse.de> Cc: David Howells <dhowells@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Olaf Hering [Thu, 7 Dec 2006 07:25:01 +0000 (08:25 +0100)]
[ALSA] create driver symlink in snd-aoa /sys/bus/aoa-soundbus/devices/*/
create sysfs driver symlink for snd-aoa in /sys/bus/aoa-soundbus/devices/*/ Acked-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Olaf Hering <olaf@aepfle.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Olaf Hering [Thu, 7 Dec 2006 07:24:12 +0000 (08:24 +0100)]
[ALSA] create device symlink in snd-aoa
create sysfs device symlinks for snd-aoa in /sys/class/sound/controlC0 This
allows hald to recognize the device as sound device. Furthermore it allows
the desktop user to actually access the sound device nodes. hald and
related packages will modify the acl attributes.
Fixes https://bugzilla.novell.com/show_bug.cgi?id=106294 Acked-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Olaf Hering <olaf@aepfle.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
[ALSA] emu10k1: Rename the digital optical capture control for the Audigy 2 ZS
Notebook.
Digital playback and capture now works, but it is not bit accurate because it
passes through a resampler.
Bit accurate playback and capture will be implemented later via the p17v.
Signed-off-by: James Courtier-Dutton <James@superbug.co.uk> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
[ALSA] Current driver does not utilize 44.1kHz high quality sampling rate converter.
Following patch will make the driver to use the 44.1kHz SRC automatically
if the pcm source is 44.1kHz signed 16bit stereo.
The SRC is available in YMF754 only.
Signed-off-by: Teru KAMOGASHIRA <teru@sodan.ecc.u-tokyo.ac.jp> Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Adrian Bunk [Tue, 28 Nov 2006 11:10:09 +0000 (12:10 +0100)]
[ALSA] sound/soc/soc-dapm.c: make 4 functions static
Make the following needlessly global functions static:
- dapm_power_widgets()
- dapm_mux_update_power()
- dapm_mixer_update_power()
- dapm_free_widgets()
Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Jonathan Woithe [Tue, 28 Nov 2006 10:35:52 +0000 (11:35 +0100)]
[ALSA] hda-codec - Make internal speaker work on Acer C20x tablets
The following patch creates a new 'Mono speaker' control in alsamixer
when the Realtek 'acer' model is used with hda_intel. This is needed so
the internal mono speaker (when present) can be controlled.
This new control won't do anything in Acer laptops which are not fitted with
a mono speaker. Acer models which are known to have a mono speaker are the
C20x tablet series but there may be others. I guess we could define a new
model specifically for Acers with mono speakers but this seems a bit silly
given that such a model will be identical to the normal 'acer' model except
for this added control.
This patch also adds the C20x tablets to the list of PCI ids associated with
the 'acer' model. This means that owners of C20x machines will no longer
have to supply 'model=acer' when loading hda_intel.
Signed-off-by: Jonathan Woithe <jwoithe@physics.adelaide.edu.au> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Frank Mandarino [Fri, 24 Nov 2006 14:49:39 +0000 (15:49 +0100)]
[ALSA] Update AT91 ASoC driver for 2.6.19 kernel.
Changes were required to support latest AT91 header files.
Also updated to remove AT91RM9200-specific code in the ASoC
platform drivers to support the AT91SAM9260 and AT91SAM9261
chips, but no testing was performed on these chips.
Signed-off-by: Frank Mandarino <fmandarino@endrelia.com> Signed-off-by: Liam Girdwood <lg@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Takashi Iwai [Fri, 24 Nov 2006 14:42:07 +0000 (15:42 +0100)]
[ALSA] intel8x0 - Add spdif_aclink option
Added spdif_aclink module option to specify whether the board
has SPDIF over AC-link or a direct connection from the controller
chip.
NForce and ICH4 (or newer) boards may be equipped with SPDIF
through AC97 codec. In such a case, SPDIF should be handled
as if the old ICH style (the same slot for analog and digital).
A quirk list is added to detect this automatically for known
hardwares.
Corresponds to ALSA bug#2637.
Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Giuliano Pochini [Fri, 24 Nov 2006 12:03:58 +0000 (13:03 +0100)]
[ALSA] echoaudio, add TLV support
This patch adds TLV support to the echoaudio driver.
All gains are in the range -127dB to +6dB with steps of 1dB, and -128 is
mute. VU-meters levels go from -128 to 0dB. The input gain of the Layla20
ranges from -25dB to +25dB in steps of 0.5dB.
Takashi Iwai [Wed, 22 Nov 2006 10:52:52 +0000 (11:52 +0100)]
[ALSA] hda-codec - Add asus-laptop model for ALC861 (ALC660)
Added a new model 'asus-laptop' for ASUS F2*/F3* laptops
with ALC861 (equivalent with ALC660) codec chip.
Also fixed the model for PCI SSID 1043:1338.
Corresponding to ALSA bug#2480.
Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>