Commit Graph

249 Commits

Author SHA1 Message Date
Maxim Levitsky 6e6b88ffea [ALSA] hda-codec - make volume knob, the master volume for sigmatel codecs
VolumeKnob is present on most sigmatel codecs, it allows to decrease
volume of all DACs at once, it is a kind of post-procesing volume.
Note that all output amps of sigmatel only decrease volume, and all
input amps only increase volume.

Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 15:59:50 +02:00
Maxim Levitsky 5f10c4a9a0 [ALSA] hda-codec - add support for analog loopback to STAC9204/9205/922x/927x
The analog loopback routes the sound just before it enters ADC0
to output of DAC0.

Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 15:59:49 +02:00
Maxim Levitsky 0fb87bb474 [ALSA] hda-codec - add support for swapping center/LFE channels to STAC codecs
Center/LFE channels are located on same jack, so it can be usefull
to swap them.

Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 15:59:48 +02:00
Takashi Iwai c480f79bdc [ALSA] hda-codec - Avoid zero NID in line_out_pins[] of STAC codecs
The STAC codes adds line_out_pins[] for shared mic/line-inputs accordingly.
But, the current code may give a hole with NID=0 in some setting, which
results in an error at probe.  This patch fixes the problem.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 15:59:41 +02:00
Takashi Iwai dc81bed127 [ALSA] hda-codec - Fix wrong pin-setup at resume of STAC codecs
The resume procedure for STAC codecs overrides the cached values and
results in the wrong (reset) PIN state.  The patch gets rid of the
overriding part and simplifies the resume.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 15:59:40 +02:00
Maxim Levitsky ca7c5a8b4b [ALSA] hda-codec - code cleanups in patch_sigmatel.c
Clean up the mixer entries for Input Source using a macro.

Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 15:59:39 +02:00
Takashi Iwai dfe495d0a5 [ALSA] hda-codec - Fix Dell laptops support with STAC codecs
Fixed Dell laptops support with STAC92xx codecs.
Many pin-config models are introduced.  See ALSA-Configuration.txt
for details.
The patch taken from ALSA bug#3319, originally by Jorg Prante:
	https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3319

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 15:59:26 +02:00
Takashi Iwai 72e7b0ddf5 [ALSA] hda-codec - Add auto-mute function to Sony VAIO with STAC9872
Added auto-mute function with HP jack to Sony VAIO laptop with STAC9872
codec.  The patch taken from ALSA bug#3275.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 15:59:09 +02:00
Tobin Davis ae0a8ed8bf [ALSA] This patch adds more support for Dell systems with Stac9205 codecs.
Tested against a couple of different systems (with different pin
configs), but the others should also work.  Also cleaned up some of the
9205 patch code.

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>
2007-10-16 15:58:50 +02:00
Takashi Iwai cb53c626e1 [ALSA] hda-intel - Add POWER_SAVE option
Added CONFIG_SND_HDA_POWER_SAVE kconfig.  It's an experimental option
to achieve an aggressive power-saving.  With this option, the driver
will turn on/off the power of each codec and controller chip dynamically
on demand.
The patch introduces a new module option 'power_save'.  It specifies
the second of time-out for automatic power-down.  As default, it's
10 seconds.  Setting 0 means to suppress the power-saving feature.
The codec may have analog-input loopbacks, which are usually represented
by mixer elements such as 'Mic Playback Switch' or 'CD Playback Switch'.
When these are on, we cannot turn off the mixer and the codec chip has
to be kept on.  For bookkeeping these states, a new codec-callback is
introduced.
For the bus-controller side, a new callback pm_notify is introduced,
which can be used to turn on/off the contoller appropriately.
Note that this power-saving might cause slight click-noise at
power-on/off.  Also, it might take some time to wake up the codec, and
might even drop some tones at the very beginning.  This seems to be the
side-effect of turning off the controller chip.
This turn-off of the controller can be disabled by undefining
HDA_POWER_SAVE_RESET_CONTOLLER in hda_intel.c.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 15:58:46 +02:00
Takashi Iwai cca3b3718c [ALSA] hda-codec - Clean up bind-controls
We have already a generic bind-control helper, so let's clean up the codes
using it.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 15:58:45 +02:00
Takashi Iwai 47fd830acf [ALSA] hda-codec - add snd_hda_codec_stereo() function
Added snd_hda_codec_amp_stereo() function that changes both of stereo
channels with the same mask and value bits.  It simplifies most of
amp-handling codes.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 15:58:43 +02:00
Takashi Iwai 82beb8fd36 [ALSA] hda-codec - optimize resume using caches
So far, the driver looked the table of snd_kcontrol_new used for creating
mixer elements and forces to call each of its put callbacks in PM resume
code.  This is too ugly and hackish.
Now, the resume is simplified using the codec amp and command register
caches.  The driver simply restores the values that have been written
in the cache table.  With this simplification, most codec support codes
don't require any special resume callback.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 15:58:43 +02:00
Tobin Davis 4ff076e5d9 [ALSA] hda-codec - Add more Dell systems
This patch adds support for Dell E520 and a couple of other 965 based systems.

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>
2007-10-16 15:58:27 +02:00
Takashi Iwai 8259980ebc [ALSA] hda-codec - Fix GPIO in resume
Reinitialize GPIO in resume callback if necessary.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 15:58:18 +02:00
Takashi Iwai a5ce88909d [ALSA] Clean up with common snd_ctl_boolean_*_info callbacks
Clean up codes using the new common snd_ctl_boolean_*_info() callbacks.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 15:57:45 +02:00
Takashi Iwai aafc03398b [ALSA] hda-codec - Fix input with STAC92xx
The recent fix for STAC92xx surround outputs broke the input pin
setting for shared line-in and mic jacks.  This patch fixes the
breakage.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-07-20 11:12:00 +02:00
Matthew Ranostay 87d483630a [ALSA] hda: Enable SPDIF in/out on some stac9205 boards
Added support for some boards with SPDIF in/out, and cleaned up the GPIO
enable function.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-07-20 11:11:57 +02:00
Matthew Ranostay 1b290a510c [ALSA] hda: stac9202 mixer fix
Added support for line out controls for STAC9202 cards, and fixed issue
where master mixer control was being created twice for headphone and
speaker outs.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-07-20 11:11:51 +02:00
Takashi Iwai a4eed138ad [ALSA] hda-codec - Fix number of pin widgets with STAC codecs
Use ARRAY_SIZE() to calculate the number of pin widgets for each codec
chip.
This also fixes a typo in STAC9205 code that gives a wrong number (14
instead of 12), which resulted in fatal communication errors.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-07-20 11:11:46 +02:00
Takashi Iwai 1624cb9a35 [ALSA] hda-codec - Fix the recording selection on VAIO laptop
Fix the mismatch of init verb and capture mux with VAIO STAC9872.
Also, changed the item names to be more intuitive.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-07-20 11:11:43 +02:00
Takashi Iwai df802952b7 [ALSA] hda-codec - Fix the error in DAC assignment of STAC codec
The STAC codec support code has the automatic recognition of
additional side-output pins, and this may result in an error when
the assigned pin has no corresponding DAC connection.
The patch fixes the problem -- it corrects the line_outs again
without such additional pins.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-07-20 11:11:39 +02:00
Matthew Ranostay 92a22beb75 [ALSA] hda: add eapd support to additional idt codecs
Added support for EAPD on the 927x, and 9227-8 IDT HDA codecs.
Enabling EAPD powers the internal speaker amp otherwise there is no
sound on systems with an internal amp.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-07-20 11:11:30 +02:00
Takashi Iwai 76c0882870 [ALSA] hda-codec - Add model dell for Dell XPS M1210
Added a new model 'dell' for Dell XPS M1210 with STAC922x codec chip.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-07-20 11:11:30 +02:00
Takashi Iwai 807a463603 [ALSA] hda-codec - Fix STAC922x capture boost level
STAC922x provides the capture boost level up to 4, but actually it
works only up to 2.  Since the range of the mixer is automatically
defined from amp-capability bits, we need to override the value
beforehand.  snd_hda_override_amp_caps() is introduced for this
purpose.
The function patch_stac922x() calls this for NID 0x12 (Mux Capture
Volume).  This should fix another recording problem on Intel Macs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-07-20 11:11:22 +02:00
Ivan N. Zlatev 5d5d3bc3ed [ALSA] hda-codec - Fix pin configs for Intel Macs
* adds the pinconfigs for all 5 Apple boards and 14 Subsystem IDs
  (support for possibly all iMac, Mac, MacMini etc etc)
* adds 'intel-mac-v1' to v5 models which replace the current
* reflects changes in Alsa-Configuration.txt

Signed-off-by: Ivan N. Zlatev <contact@i-nz.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-07-20 11:11:22 +02:00
Takashi Iwai 0dae0f83cd [ALSA] hda-codec - Add support of newer version of Intel iMac
Added the pin configs for newer version of Intel iMac.
The information provided by Ivan N. Zlatev <contact@i-nz.net>.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-07-20 11:11:19 +02:00
Takashi Iwai 897cc188f7 [ALSA] hda-codec - Fix STAC922x capture boost level
STAC922x provides the capture boost level up to 4, but actually it
works only up to 2.  Since the range of the mixer is automatically
defined from amp-capability bits, we need to override the value
beforehand.  snd_hda_override_amp_caps() is introduced for this
purpose.
The function patch_stac922x() calls this for NID 0x12 (Mux Capture
Volume).  This should fix another recording problem on Intel Macs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-31 09:06:04 +02:00
Takashi Iwai f9acba4347 [ALSA] hda-codec - Fix input with STAC92xx
The recent fix for STAC92xx surround outputs broke the input pin
setting for shared line-in and mic jacks.  This patch fixes the
breakage.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-31 09:06:04 +02:00
Steve Longerbeam 7353e14d91 [ALSA] hda-codec - Fix pin configs for Gateway MX6453
Fix pin default configs for speaker associations and sequence
for Gateway MX6453 machine with STAC925x codecs.

Signed-off-by: Steve Longerbeam <stevel@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-31 09:06:03 +02:00
Tobin Davis 49c605db8d [ALSA] HDA: Add more systems to Sigmatel codec
This patch adds more Dell systems and a Panasonic laptop with
STAC9200 codecs.

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>
2007-05-31 09:06:02 +02:00
Tobin Davis 2c11f955b2 [ALSA] HDA: Add support for Gateway NX860
This patch adds support for the Gateway NX860 system.

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>
2007-05-31 09:06:01 +02:00
Daniel T Chen 8286c53e54 [ALSA] Include quirks from Ubuntu Dapper/Edgy/Feisty
Included is a patch against current alsa-kernel hg tip adding
quirks that Ubuntu Dapper/Edgy/Feisty contains.

Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-16 12:23:03 +02:00
Steve Longerbeam 7b04389999 [ALSA] hda-codec - bug fixes for stac92xx HDA codecs.
* fixed surround playback on stac922x. Pin direction control bits were
  not being set correctly in stac92xx_set_pinctl(). Specifically it
  would refuse to set the port as an output if the port was already
  configured as an input. Last hunk (#8).
* fixed an input mux bug on 92xx codecs. When there is more than one
  possible input calculated for the muxes, the actual mux widget never
  gets set from its reset default, which is index 0, in the stac9221
  case that is port E. So alsamixer/amixer/gnome-mixer report the Mic
  as being the selected input source, but in fact is something else
  (line-in port E in stac9221 case). Another problem with this is that
  if you actually try to set the mux input to 'Mic', nothing happens
  because *cur_val == idx (see snd_hda_input_mux_put). You have to
  actually toggle input source to line-in then back to mic to actually
  set the mux widget. Hunk #7.
* fixed some typos in patch_sigmatel.c. Hunk #6.
* fix to stac92xx_add_dyn_out_pins() that fixes surround playback on
  codecs with less that 4 DACs (stac9205 for example). It reads the widget
  caps cache created by hda_codec to count the total number of analog DACs
  found. It then uses that to determine whether there will be enough
  independent DACs available for line/mic switch controls. Hunk #1, #2,
  and #3.
* improvements to stac92xx_auto_fill_dac_nids() to make it more general.
  This fixes surround playback on some codecs in combination with the
  fix to stac92xx_add_dyn_out_pins() above. It reads the full connection
  list now, instead of just the first entry, and then locates an analog
  DAC in the list. If one is found and it's free, assign it to that line-out.
  If no free DAC is found for the line-out, return -ENODEV. It also makes
  sure to actually select the chosen DAC if more than one DAC is input to
  the pin. Hunks #4, #5.

Signed-off-by: Steve Longerbeam <stevel@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:56:15 +02:00
Takashi Iwai 5d403b1923 [ALSA] hda-codec - Fix resume of STAC92xx codecs
Added a missing call to resume mixer controls for STAC92xx codecs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:56:14 +02:00
Sylvain FORET f16928fb53 [ALSA] snd_hda_intel: fix for intel imac
Add handling of Intel-iMac-specific pinconfig of the sound card.
Intel-iMac now handled as a separated subsystem.

Signed-off-by: Sylvain FORET <sylvain.foret@anu.edu.au>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:56:12 +02:00
Abhijit Bhopatkar c45e20eb21 [ALSA] hda-codec - Add first generation macbook subsystem ID
First generation MacBooks were getting ignored by sigmatel drivers
and wrongly being identified as MACMINI. This patch makes them
identify as MACBOOK.

Signed-off-by: Abhijit Bhopatkar <bainonline@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:56:03 +02:00
Takashi Iwai 6b97eb45f2 [ALSA] hda-codec - Fix SPDIF output
Fix SPDIF output (at least on Realtek codecs).  The DIGI_CONVERT verbs
have to be reset before the PCM stream is set up.  Otherwise the digital
setup is screwed up.
Also, check the AMP capability before setting AMP of the digital out
widget.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:55:56 +02:00
Takashi Iwai 02a5039fc7 [ALSA] hda-codec - Fix Macmini and Macbook pin configs
Original idea from Nicolas Boichat <nicolas@boichat.ch>.
The pin configurations of Macmini and MacBook (1st generation, at least)
seem identical with MacBook Pro (1st generation).

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:55:50 +02:00
Takashi Iwai 2549413ea6 [ALSA] hda-codec - Code clean up of patch_sigmatel.c
- Remove superfluous array member in stac9205_dmic_nids[]
- Use ARRAY_SIZE() instead of hard-coded numbers

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:55:48 +02:00
Tobin Davis 68e22543ee [ALSA] hda-codec - Add Sony VGC-LA1 to patch_sigmatel.c
This patch adds the Sony Vaio VGC-LA1 to the stac9872_cfg_tbl.

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>
2007-05-11 16:55:47 +02:00
Nicolas Boichat 6f0778d872 [ALSA] hda-codec - Add support for MacBook Pro 1st generation
Fix audio on Macbook Pro 1st generation.

Signed-off-by: Nicolas Boichat <nicolas@boichat.ch>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-03-15 12:44:51 +01:00
Takashi Iwai 0a07acafd6 [ALSA] hda-codec - Fix speaker output on MacPro
Initialize the first line-out widget as the output pin in stac92xx_init().
Some devices like MacPro seem to set this widget as INPUT as default,
and confuses the driver.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-03-14 08:24:18 +01:00
Takashi Iwai 3fc24d8507 [ALSA] hda-codec - Define pin configs for MacBooks
Define pin configs for MacBook and MacBook Pro with STAC92xx codecs.
The latter is detected automatically by checking codec SSID now.
Also, fixed the documentation regarding available modeliof sigmatel
codec chips.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-03-06 10:40:28 +01:00
Takashi Iwai f0f9674585 [ALSA] hda-codec - Add LFE support on Dell M90
Added LFE support on Dell M90 laptop.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-03-06 10:40:21 +01:00
Mikael Nilsson 46f02ca36e [ALSA] hda-codec - Patch for enabling LFE on more Dell laptops
Fix LFE controls for Dell Inspiron E1705/9400 and XPS M1710 laptops.

Signed-off-by: Mikael Nilsson <mikael@nilsson.name>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-14 08:38:27 +01:00
Takashi Iwai 9e507abd87 [ALSA] hda-codec - Fix Oops with probing sigmatel codec chips
When a device is unkown, the driver tries to set up the codec based on
the BIOS information.  Then it may result in Oops if BIOS is broken.
The patch fixes the issue, falling back to a reference model in such a
case.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-14 08:38:20 +01:00
Cory T. Tusar 877b866d86 [ALSA] hda-codec - Dell Latitude D820 + D/Port
Support port replicator headphone output on Dell Latitude D820 + D/Port.

Signed-off-by: Cory T. Tusar <ctusar@videon-central.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:03:21 +01:00
Tobin Davis 8e21c34cd4 [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>
2007-02-09 09:02:56 +01:00
Matt Porter 333824034a [ALSA] hda: add sigmatel 9205 eapd support
Adds support for handling EAPD on 9205 codecs

Signed-off-by: Matt Porter <mporter@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:02:30 +01:00
Takashi Iwai f5fcc13c2f [ALSA] hda-codec - Use snd_pci_quirk_lookup() for board config lookup
Use snd_pci_quirk_lookup() for looking up a board config table.
The config table is sorted in numerical order of PCI SSIDs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:02:04 +01:00
Takashi Iwai d1d985f019 [ALSA] Fix obsolete *_t typedefs
Fixed obsolete *_t typedefs.  Now completely removed.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:01:45 +01:00
Adrian Bunk ddc2cec4db [ALSA] make sound/pci/hda/patch_sigmatel.c:stac92xx_dmic_labels[] static
This patch makes the needlessly global stac92xx_dmic_labels[] static.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:01:37 +01:00
Matt Porter 8b65727bf0 [ALSA] hda: add dig mic support for sigmatel codecs
Adds support for digital microphone pin widgets on SigmaTel codecs.
Enables support only on the 9205 codecs for now.

Signed-off-by: Matt Porter <mporter@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:01:12 +01:00
Matt Porter e7377071cd [ALSA] hda: fix sigmatel dell system detection
Fixes Dell system detection on 9200 codecs. The support
to detect certain Dell machines was merged in the
9205 table where it will be unused on the various Dell
9200-based codec systems. This moves the subsystem IDs
to the correct 9200 table.

Signed-off-by: Matt Porter <mporter@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-11-28 13:46:35 +01:00
Takashi Iwai eb995a8c82 [ALSA] hda-codec - Fix headphone auto-toggle on sigmatel codec
Fix/optimize the headphone auto-toggle function on sigmatel codecs.
The headphone pins are kept as output.  When headhpones are unplugged,
you cannot hear anyway ;)

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-09-23 10:48:12 +02:00
Takashi Iwai 314634bc81 [ALSA] hda-codec - Fix mic input with STAC92xx codecs
Fixed mic input with STAC92xx codecs.  The mic pin was sometimes set to
OUTPUT by the headphone jack detection.
Also, try to assign a secondary mic as front-mic (or vice versa)
in the auto-detection if possible.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-09-23 10:48:01 +02:00
Takashi Iwai eb06ed8f4c [ALSA] hda-codec - Support multiple headphone pins
Some machines have multiple headpohne pins (usually on the lpatop
and on the docking station) while the current hda-codec driver
assumes a single headphone pin.  Now it supports multiple hp pins
(at least for detection).
The sigmatel 92xx code supports this new multiple hp pins.
It detects all hp pins for auto-muting, too.
Also, the driver checks speaker pins in addition.  In some cases,
all line-out, speaker and hp-pins coexist.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-09-23 10:47:38 +02:00
Richard Fish 160ea0dc6b [ALSA] [snd-intel-hda] enable center/LFE speaker on some laptops
This patch adds LFE mixer controls for laptops with a stac9200 and a mono
speaker pin with amplifier.

Signed-off-by: Richard Fish <bigfish@asmallpond.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-09-23 10:46:22 +02:00
Tobin Davis 93ed150375 [ALSA] hda-codec - Add 5 stack audio support for Intel 965 systems
This patch renames the 965_2112 function ids to 965_3ST, and
adds functional support for 965_5ST (5 stack 7.1 surround).

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>
2006-09-23 10:45:43 +02:00
Takashi Iwai 2c7782b420 [ALSA] hda-codec - Use model=ref for some Dell laptops
Force to choose model=ref for some Dell laptops with STAC9200 codec
chip for fixing the silent mic recording problem (possibly due to
a BIOS bug).  Reference: ALSA bug#2038
So far, applied to Inspiron 630m, Latitude D620 and 120L.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-09-23 10:44:26 +02:00
Richard Fish 11b44bbde5 [ALSA] hda-codec - restore HDA sigmatel pin configs on resume
This patch restores the Intel HDA Sigmatel codec pin configuration on
resume.  Most of it is dedicated to saving the BIOS pin configuration
if necessary, so that even unrecognized chips can be resumed correctly.

Signed-off-by: Richard Fish <bigfish@asmallpond.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-09-23 10:43:51 +02:00
Guillaume Munch 6d8590650e [ALSA] hda-codec - Support for SigmaTel 9872
- AR11M and AR11S uses the same chip hence we claim to support the AR Series.
- Added commentary about STAC9225s which shares the same id as CXD9872RD.
- Added entry for 7662 but won't work automatically until pci_subdevice
  is known.
- 'vaio' model now corresponds to CXD9872RD_VAIO for backward compat.
- Replaced STAC766x_VAIO with CXD9872RD_VAIO, STAC9872AK_VAIO, STAC9872K_VAIO
  and CXD9872AKD_VAIO
- Added 'vaio-ar' model for potential future modifications.

Signed-off-by: Guillaume Munch <diabo@free.fr>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-09-23 10:43:47 +02:00
Tobin Davis 81d3dbde76 [ALSA] hda-codec - Add support for new Intel boards with Stac9227 codec
This patch adds full 5.1 audio support for Intel boards
with the SigmaTel 9227 codec chip (946, 963, 965 series).
 

Signed-off-by: Tobin Davis <tobinx.b.davis@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-09-23 10:42:06 +02:00
Tobin Davis 948a4db217 [ALSA] hda-codec - add missing device ids for Intel 945 boards
This patch adds missing device ids for Intel 945 motherboards.
 

Signed-off-by: Tobin Davis <tobinx.b.davis@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-09-23 10:42:00 +02:00
Tobin Davis 68a6abd97f [ALSA] hda-codec - Fix headphone output for some Intel 945 systems
This patch enables headphone output at initialization for Intel
945 based systems that don't have proper detection circuitry.

Signed-off-by: Tobin Davis <tobinx.b.davis@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-09-23 10:41:51 +02:00
Takashi Iwai c256652466 [ALSA] Add missing TLV callbacks for HD-audio codecs
Added missing TLV callbacks for HD-audio codec supports.
Also cleaned up the tlv callback for ad1986a (no mutex is needed there).

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-09-23 10:41:37 +02:00
Guillaume Munch 99ccc560b7 [ALSA] Add support for Sony Vaio AR 11B
This patch adds automatic detection for Sigmatel ID 7664,
the sound chip in Sony Vaio AR 11B (european name).
- patch_stac7661 becomes patch_stac766x
- .id = 0x83847664 is added

Signed-off-by: Guillaume Munch <diabo@free.fr>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-09-23 10:41:14 +02:00
Matt Porter f3302a59cf [ALSA] hda: sigmatel 9205 family support
Adds support for the '9205 family' which includes some other
part numbers but 9205 is the first one. These are 4 channel
codecs, some have digital mic capability. Support for the digital
mic feature will come later.

Signed-off-by: Matt Porter <mporter@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-09-23 10:39:41 +02:00
Matt Porter 22a27c7f8d [ALSA] hda: fix sigmatel 9227/8/9 codec support
SigmaTel 9227/8/9 IDs must use the 927x patch.

Signed-off-by: Matt Porter <mporter@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-09-23 10:37:40 +02:00
Linus Torvalds 7c3dec0679 x86 MacMini: make built-in speaker sound actually work
The MacMini board table seems to largely look like any bog-standard
Intel 945 board.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-07-10 22:21:43 -07:00
Takashi Iwai 19039bd007 [ALSA] Add Intel D965 board support
Added the support for Intel D965 boards with STAC9227 codec.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-06-28 19:31:46 +02:00
Sam Revitch 62fe78e90d [ALSA] hda-codec - Add support for Apple Mac Mini (early 2006)
Add support for some audio quirks of the Apple Mac Mini (early 2006)

Signed-off-by: Sam Revitch <samr7@cs.washington.edu>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-06-22 21:33:31 +02:00
Matt Porter a59524faf3 [ALSA] hda: add sigmatel 9227/9228/9229 ids
Adds support for the 9227/9228/9229 sigmatel hda codecs.

Signed-off-by: Matt Porter <mporter@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-06-22 21:33:25 +02:00
Takashi Iwai a9393d70e5 [ALSA] hda-codec - Fix mute switch on VAIO laptops with STAC7661
Fixed the master mute switch on VAIO laptops with STAC7661
codec chip.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-06-22 21:33:24 +02:00
Takashi Iwai d773781cee [ALSA] hda-codec - Fix capture from line-in on VAIO SZ/FE laptops
Added the missing line-in capture on VAIO SZ/FE laptops with
STAC 7661 codec.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-04-27 21:10:46 +02:00
Ashley Clark a29b6c8895 [ALSA] hda-codec - Adds HDA support for Intel D945Pvs board with subdevice id 0x0707
Modules: HDA Codec driver

This patch adds the entry for the 5-stack pin-config for the STAC
chip on the Intel D945Pvs board with subdevice id 0x0707.

With this patch against 1.0.11rc4 in the linux kernel 2.6.17-rc1, I'm
able to successfully output over the optical port and analog ports.

Signed-off-by: Ashley Clark <aclark@ghoti.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-04-12 11:34:13 +02:00
Takashi Iwai 505cb341ef [ALSA] hda-codec - Fix unsol event initialization at resume of stac92xx
Fix the re-initialization of unsolicited events at resume of stac92xx codecs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-31 17:58:57 +02:00
Takashi Iwai c960a03bee [ALSA] hda-codec - Fix VREF level of Mic inputs on STAC92xx codecs
Fixed VREF level of Mic inputs on STAC92xx codecs (ALSA bug#1953).

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-31 17:58:56 +02:00
Takashi Iwai 82bc955f63 [ALSA] hda-codec - Fix BIOS auto-configuration
Modules: HDA Codec driver,HDA generic driver

- Fix autoconfig speaker/hp detection
  Now it allows multiple speaker pins (e.g. Dell laptops have such config)

- Use speaker or hp pins if no line-outs are available
  This fixes the silence output on recent Dell laptops with STAC9200
  (ALSA bug#1843)

- Fix analog/realtek/sigmatel autoconfig parser

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22 10:40:14 +01:00
Takashi Iwai db064e5034 [ALSA] hda-codec - Add support for VAIO FE550G and SZ110
Modules: Documentation,HDA Codec driver

Add support for VAIO FE550G and SZ110 laptops with Sigmatel codec (7661).
The new model 'vaio' is added.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22 10:39:16 +01:00
Takashi Iwai 353b9e6670 [ALSA] hda-codec - Add missing model entries for Intel 945 boards
Modules: HDA Codec driver

Added the missing entries for Intel 945 boards.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22 10:29:50 +01:00
Matt Porter 869264c45a [ALSA] hda: sigmatel fixes
Modules: HDA Codec driver

* Fix init sequence so manually retaskable jacks don't get added to
  the line_out list.
* Update intel mobo config defaults to specify surround outputs
  as line outs rather than speakers.

Signed-off-by: Matt Porter <mporter@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-02-01 13:09:28 +01:00
Takashi Iwai ad0651f97a [ALSA] hda-codec - Fix max_channels computation for STAC92xx codecs
Modules: HDA Codec driver

Fix max_channels computation for STAC92xx codecs in the case only
HP pin without line-out pins is detected in the default pin config.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-02-01 13:09:20 +01:00
Matt Porter 3cc08dc6ea [ALSA] hda-codec - add sigmatel 927x codec support
Modules: HDA Codec driver

Adds support for the SigmaTel STAC927x HDA codec family.

Signed-off-by: Matt Porter <mporter@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-02-01 13:09:17 +01:00
Matt Porter d62c40e04c [ALSA] hda-codec - add D975XBK support to sigmatel patch
Modules: HDA Codec driver

Add SigmaTel HDA support for the Intel D975XBK motherboard.

Signed-off-by: Matt Porter <mporter@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-02-01 13:09:15 +01:00
Takashi Iwai 0fd1708a19 [ALSA] hda-codec - Fix capture on Sigmatel STAC92xx codecs
Modules: HDA Codec driver

Added the missing 'Capture Switch' control for Sigmatel STAC92xx codecs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-22 16:24:23 +01:00
Takashi Iwai 4a471b7ddf [ALSA] hda-codec - Small clean up and fixes
Modules: HDA Codec driver,HDA generic driver

- Common labels for input pins
- Fix and clean up of Realtek codec parsers

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03 12:30:40 +01:00
Kailang Yang df694daa3c [ALSA] hda-codec - Add the support of ALC262,ALC883,ALC885,ALC861
Modules: HDA Codec driver,HDA generic driver

This patch adds the support of ALC262,ALC883,ALC885,ALC861 to driver
More models and improvements for ALC880, ALC260 and ALC882 codecs, too.

Signed-off-by: Kailang Yang <kailang@realtek.com.tw>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03 12:30:20 +01:00
Matt Porter 403d19446b [ALSA] hda-codec - update sigmatel support and bug fixes
Modules: HDA Codec driver

- Explictly set pin control as input for all input pins
- Fix bug in 922x mixer (no mute on adc0vol)
- Remove broken ch_mode control
- Add support for jack retasking mixer controls to use rear line and
  mic as surround outputs
- Add board tables to support autodetect and pin config defaults for
  systems with broken bioses
- Add support for several Intel mobos
- Add support for DFI mobo with reference boards attached
  (gets rid of compile time switch to use reference boards)

Signed-off-by: Matt Porter <mporter@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03 12:29:58 +01:00
Takashi Iwai 54d1740315 [ALSA] hda-codec - Fix connection list parsing
Modules: HDA Codec driver,HDA generic driver

- Fix connection list parsing (with ranged flag).
- Increase the max number of connections
- Introduce widget capabilities cache
- Power up/down widgets at init, suspend and resume

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03 12:29:27 +01:00
Takashi Iwai c8b6bf9b5e [ALSA] Remove xxx_t typedefs: HD-Audio codec
Modules: HDA Codec driver,HDA generic driver

Remove xxx_t typedefs from the HD-Audio codec support codes.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03 12:19:06 +01: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
Matt 4e55096e27 [ALSA] hda: add sigmatel hp detect support
HDA Codec driver
Adds support for detecting hp insertion/removal and enable/disable of
lineouts based on unsolicited events.

Signed-off-by: Matt <matt@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-07-28 12:21:52 +02:00
Takashi Iwai 82fe0c5803 [ALSA] Use kstrdup
HDA Codec driver
Use the new kstrdup() function instead of in-house one.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-07-28 12:09:52 +02:00
Matt ff6fdc37fb [ALSA] hda-codec - SigmaTel HDA resume support
HDA Codec driver
Adds resume support to the SigmaTel HDA patch. Please apply.

Signed-off-by: Matt <matt@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-07-28 12:09:31 +02:00
Matt c7d4b2fa31 [ALSA] hda-codec - SigmaTel HDA multichannel support
HDA Codec driver
Adds 6/8 channel support to the SigmaTel HDA patch. Please apply.

Signed-off-by: Matt <matt@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-07-28 12:09:29 +02:00
Matt dabbed6f72 [ALSA] SigmaTel HDA SPDIF and input mux updates
HDA Codec driver
Adds SPDIF in/out support to the SigmaTel HDA codecs. Now builds
the input mux control element names from the defcfg regs.

Signed-off-by: Matt <matt@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-06-22 12:29:05 +02:00
Matt 2f2f4251c9 [ALSA] add sigmatel codec support
HDA generic driver,HDA Codec driver
Add initial SigmaTel codec support for 9200 and 922x. Note that
this hda patch relies on the configuration default registers to
be set correctly (normally by BIOS/firmware) in order for it to
set up pin widgets properly. There's a test switch in the patch
so it will work with the SigmaTel reference boards that are usually
plugged into a system that doesn't set the configuration default
registers. It supports 2 channel analog out and line/mic in. I
plan to add >2 channel support and spdif support shortly.
Please apply.

Signed-off-by: Matt <matt@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-05-29 10:00:54 +02:00