Commit graph

1020 commits

Author SHA1 Message Date
Takashi Iwai
b75e53f092 [ALSA] hda-codec - Make the mixer capability check more robust
In some cases, mixer elements return -EINVAL because it couldn't
obtain proper amp_cap bits.  The patch improves the robustness,
trying the amp_cap query again in such a case.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-16 11:45:28 +02:00
Steve Longerbeam
81937d3bac [ALSA] Add speaker pin sequencing to hda_codec.c:snd_hda_parse_pin_def_config()
Some verb tables (such as an Asus VT sent by IDT) contain only speaker
outs in the default pin configs, and no line-outs. In such a case the
speaker sequence numbers have to be used to order the speaker out
pins, just as is being done for line-out pins. Then, when speaker-outs
are copied to line-outs, the line-outs will be ordered properly.

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:18 +02:00
Kailang Yang
bdd148a307 [ALSA] hda-codec - Add ALC861VD Lenovo support
- Added ALC861VD Lenovo support (17aa:3802, 17aa:2066)
- Modify alc_subsystem_id

Signed-off-by: Kailang Yang <kailang@realtek.com.tw>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:56:18 +02:00
Takashi Iwai
0bbed758c0 [ALSA] hda-codec - Fix connection list in generic parser
Fix the retrival of widget connection list in the generic parser.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:56:17 +02:00
Takashi Iwai
d427c77eb2 [ALSA] hda-codec - Fix a typo
The AMP mute bit is bit 7.  No real influence since no one uses this
definition yet, though...

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:56:17 +02:00
Takashi Iwai
458a4fabf1 [ALSA] hda-codec - Fix ALC880 uniwill auto-mutes
Fix the auto-mute controls of ALC880 uniwill model.  Split to two
individual functions to handle HP and front-mic mutes.  For front-mic
mute, use snd_hda_codec_amp_update() to be consistent with mixer.

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
35b26722a1 [ALSA] hda-codec - Fix AD1988 SPDIF playback route control
Fix AD1988 SPDIF playback route control for selecting ADC1-3.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:56:15 +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
Clemens Ladisch
7e0af29d6f [ALSA] add MODULE_FIRMWARE entries
Add MODULE_FIRMWARE() entries, where appropriate.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:56:14 +02:00
Clemens Ladisch
1327e2b859 [ALSA] do not depend on FW_LOADER when internal firmware images are used
Since request_firmware() is no longer used when the internal firmware
images are used, it is no longer necessary to depend on FW_LOADER in
this case.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:56:14 +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
Tobin Davis
4d69d756d1 [ALSA] hda-codec - Add support for new HP DV series laptops
This patch adds support for 3 new HP laptops to the Conexant
'Venice' driver.

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:56:13 +02:00
James Courtier-Dutton
82c8c74107 [ALSA] snd-emu10k1: Prevent E-Mu 1010 Notebook card from hanging PC.
E-Mu 1010 is not currently supported yet. Needs development work.

Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:56:13 +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
Wolke Liu
e6db111931 [ALSA] hda-intel - Add ATI RS780,R600 HDMI audio support
This patch is for ATI RS780 and R600 HDMI support.

Signed-off-by: Wolke Liu <wolke.liu@amd.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:56:12 +02:00
Takashi Iwai
43ea1d478f [ALSA] hda-codec - Prefer audio codec name as the mixer name
Prefer the name of audio codecs as the mixer name even if
modem codecs are probed before the audio codecs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:56:12 +02:00
Takashi Iwai
b7dd2b349a [ALSA] Don't use request_firmware if internal firmwares are defined
Don't use request_firmware() if the internal firmwares are defined
via Kconfig.  Otherwise it results in a significant delay at loading
time (minutes).

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:56:11 +02:00
Takashi Iwai
f223a9fc3d [ALSA] hda-codec - Fix model for ASUS A9rp
Fixed the model (asus-laptop) for ASUS A9rp with ALC660 codec.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:56:10 +02:00
Tobin Davis
b7589ceba0 [ALSA] HDA-Intel: Fix headphone squeal on Conexant audio
This patch fixes the headphone squeal and noise on Conexant CX20551
(Waikiki) audio.

Signed-off-by: Tobin Davis <gruemaster@email.uophx.edu>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:56:10 +02:00
Pavel Hofman
c5a30f85fd [ALSA] ice1724 - Misc fixes for Prodigy192
- always set 256fs in SPDIF master clock mode
- disable deemphasis filter in AK4114 for Prodigy192

Signed-off-by: Pavel Hofman <dustin@seznam.cz>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:56:10 +02:00
Takashi Iwai
bccad14e9a [ALSA] hda-intel - Fix detection of audio codec on Toshiba A100
Some boards have the audio codec on slot #3 while the modem codec
on slot #0.  The driver should continue to probe the slots when
no audio codec is found.
This fixes the problem of no device on Toshiba A100 (and some other
ATI SB450 devices).

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:56:09 +02:00
Takashi Iwai
baba8ee9d1 [ALSA] hda-codec - Fix output pin types in auto configuration
Use PIN_HP output type for HP pin widgets accordingly, instead of
always applying PIN_OUT.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:56:09 +02:00
Takashi Iwai
d258e24a39 [ALSA] hda-codec - Add line_out_type to auto_pin_cfg struct
Added line_out_type field to auto_pin_cfg struct to provide the
pin type of default line_outs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:56:09 +02:00
Tobin Davis
658fba0efe [ALSA] hda-codec - Add support for Asus A8JN Laptop
This patch adds support for the Asus A8JN Laptop.
Other modes were tested, this one worked best.

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:56:09 +02:00
Takashi Iwai
9422db4018 [ALSA] hda-codec - Fix 8-channel auto-configuration
Fix the auto-configuration of 8-channel devices.  The sequence numbers
of usual 7.1 outputs are: 0/1/2/4 = Front/CLFE/Rear/Side

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:56:08 +02:00
Takashi Iwai
2078f38c80 [ALSA] intel8x0 - Fix Oops in crash kernel
When intel8x0 driver is loaded in the crash kernel, it gets Oops
occasionally.  This is because the irq handler gets called before
the proper hardware initialization.  Now defer it after
snd_intel8x0_chip_init().
(reference: http://lkml.org/lkml/2007/3/5/252)

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:56:08 +02:00
Tobin Davis
57b14f24d2 [ALSA] hda-codec - Add support for Gigabyte S-Series GA-M57SLI-S4 motherboard
Added the support for Gigabyte S-Series GA-M57SLI-S4 motherboard
(model=6stack-dig).

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:56:07 +02:00
Takashi Iwai
fb956c16d9 [ALSA] hda-codec - Fix surround output on AD1986A
Fix surround output on AD1986A codec 3stack model.
The following bugs are fixed:
- init verbs for 3stack disabled the shared surround outputs
- a channel mode change resulted in the mute of surrounds

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:56:07 +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
0ba21762d3 [ALSA] hda-codec - Code clean up
Trivial code clean-ups to follow the standard coding styles.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:55:59 +02:00
Takashi Iwai
756e2b0143 [ALSA] hda-intel - Merge hda-codec module to a single module
Merge hda-codec module to a single hda-intel module since this is the
only user right now.  Although hda-codec stuff is designed to be used
universally from different controller drivers, currently only one
controller interface (and compatibles) are used.  So, let's merge them
to a single module to save memory.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:55:59 +02:00
Takashi Iwai
5930ca4185 [ALSA] hda-codec - Allow opening SPDIF while analog dup mode
Allow opening the dedicated SPDIF stream while running on analog dup
mode.  Then the SPDIF stream is once reset and assigned for the new
stream.  It's useful for exclusive SPDIF output like AC3/DTS.
(In the former version, you had to close once the analog stream to
 play the exclusive digital stream.)

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:55:59 +02:00
Takashi Iwai
f12ab1e07d [ALSA] hda-codec - clean up patch_realtek.c
Trivial code clean-ups of patch_realtek.c: indent and whitespace fixes.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:55:59 +02:00
Takashi Iwai
a961f9fe8c [ALSA] hda-codec - Add support of 96kHz back
Added the support of 96kHz sample rate back.  Although the rate isn't
listed in the ACC_PAR_PCM bits but si3054 codecs do support this rate
explicitly.  Now fixed the deteciton code not to check this extra bit.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:55:58 +02:00
Kailang Yang
bc9f98a981 [ALSA] hda-codec - Add ALC662 support
- Add ALC662 support
- Fixed no sound for [0x1631, 0xc017, 'PB V7900', ALC260_WILL]
- Fixed no sound for [0x161f, 0x2057, 'Replacer 672V', ALC260_REPLACER_672V]
- Add SKU ID for auto mode

Signed-off-by: Kailang Yang <kailang@realtek.com.tw>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:55:58 +02:00
Pavel Hofman
7d4b4380d3 [ALSA] ice1724 - Functioning support for Prodigy 192
Fixes:
--------
* correct card specific ice1724 initialization
* working IEC958 output of the card
* renamed capture controls
New features:
------------------
* analog input switch (line-in/mic)
* optional ak4114 based MI/ODI/O card detection & support: IEC958 input,
  digital input switch (toslink/coax)
Unresolved issues
-----------------------
* Analog and digital input enums are listed on playback panel of alsamixer,
  I do not know how to push them onto the capture one.

Signed-off-by: Pavel Hofman <dustin@seznam.cz>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:55:58 +02:00
Takashi Iwai
f06934bd3c [ALSA] ice1724 - Add comments for naming of PCM streams
Added some comments regarding naming of PCM streams on vt172x chip.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:55:57 +02:00
Takashi Iwai
fdd4bb49ec [ALSA] ice1724 - call snd_ak4114_build() in juli
Call snd_ak4114_build() in juli support code to build proper mixer
elements for SPDIF inputs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:55:57 +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
f9ab2b1c3a [ALSA] ali5451 - Code clean up, irq handler fix
- Clean up ali5451.c, following the standard coding style, unneeded codes
  reduced, and removal of redundant variable initializations.
  Hungarian notation isn't fixed yet ;)
- Fix irq handler to return IRQ_NONE properly for shared irqs.
  Also check the hardware availability in irq handler to avoid possible
  initialization races at loading the driver.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:55:55 +02:00
Takashi Iwai
51354ae3b8 [ALSA] ak4114 - Fix possible Oops with callbacks
ak4114 code may trigger Oops when the parameters are changed without
call of snd_ak4114_build().  Now it checks the existence of kctl
element, and the workq is triggered after building the necessary
kcontrols.
Also, did some code clean up.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:55:55 +02:00
Takashi Iwai
c052f04624 [ALSA] ice1724 - Fix AP192 4wire mode access
ap192_4wire_start() in ice1712/revo.c returns unsigned char
whereas it should return unsigned int.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:55:55 +02:00
Takashi Iwai
b07a14a549 [ALSA] pcxhr - Minor optimization in trigger callback
Minor optimization in trigger start callback.  This fixes a nasty
compile warning, too.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:55:54 +02:00
Rene Herman
b942cf815b [ALSA] es1968 - Fix stuttering capture
Looks like the buffer size for the stereo capture has to be a
power of two.  Now added a constraint to buffer bytes.
Also removed unnecessary #if 0 lines.

Signed-off-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:55:54 +02:00
Takashi Iwai
d3091fad4a [ALSA] hda-codec - Fix missing array terminators
Added missing array terminators in patch_conexant.c.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:55:54 +02:00
Andreas Mohr
e24a121aa1 [ALSA] azt3328.c: small cleanup patch
- change 'PCM' mixer control (pre/post 3D) to 'PCM Output Route'
- improve snd_azf3328_debug_show_ports
- less aggressive module init message
- document Bass/Treble non-bug (prompted by user report - Thank You!!)
- add some items to card description
- add some I/O register documentation
- enhance copyright

Signed-off-by: Andreas Mohr <andi@lisas.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:55:52 +02:00
Andrea Arcangeli
1aba2bc321 [ALSA] hda-codec - Fix front/rear mic inputs on AD1986A codec
Fix the front/rear mic inputs on ASUS M2NPV-VM board with AD1986A
codec chip (3stack model).

Signed-off-by: Andrea Arcangeli <andrea@suse.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:55:52 +02:00
Takashi Iwai
19a982b694 [ALSA] hda-intel - Probe additional slots only if necessary
Probing the codec slots on ATI controller causes problems on some
devices like Acer laptops.  On these devices, reading from codec
slot 3 results in the communication failure with the codec chip.
Meanwhile, some laptops (e.g. Gateway) have the codec connection
only on slot 3, and probing this slot is mandatory for them.
The patch improves the probing robustness.  The additional slots
are now checked only when no codecs are found in the primary three
slots.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:55:52 +02:00
Rene Herman
4505179c73 [ALSA] Fix alsa-devel ML address
This replaces all occurences of alsa-devel@lists.s[ource]f[orge].net
that a simple recursive grep found in the current HG ALSA repos by
alsa-devel@alsa-project.org.

Signed-off-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:55:52 +02:00
Julian Cable
e4b6088c8c [ALSA] hdsp - Add support for fine tuning of sample rate support to HDSP 9632
Add 'DDS Sample Rate Offset' control. Allows values in Hz from -5000 to +5000.
The value is added to the nominal sample rate and written to the DDS register.

Signed-off-by: Julian Cable <julian_cable@yahoo.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11 16:55:50 +02:00