Commit graph

130528 commits

Author SHA1 Message Date
Takashi Iwai
dc04d1b4d2 ALSA: hda - Create output controls according to pin types for IDT/STAC
Improve the parser to pick up more intuitive control names for the
outputs judging from the pin type, instead of fixed names assigned
to channels.

Also, revive the multi-HP workaround since this change fixes the
problem with the multi-HP detection.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-06 10:04:24 +01:00
Takashi Iwai
b3225190c1 Merge branch 'fix/hda' into topic/hda 2009-03-06 09:52:36 +01:00
Takashi Iwai
c50ff7c042 ALSA: hda - Fix headphone-detect regression with multiple HP jacks
The recent changes over the DAC detection mechanism in patch_sigmatel.c
breaks the HP detection on the machines with multiple HP jacks.
It's basically because of the workaround to support the multi-channel
output.  Since the HP detection is more important feature, disable
the HP-swap workaroud temporarily.

Reference: Novell bnc#482052
	https://bugzilla.novell.com/show_bug.cgi?id=482052

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-06 09:47:22 +01:00
Takashi Iwai
14b97595e0 ALSA: hda - Fix typos in slave controls in patch_sigmatel.c
"Headphone Playback ..." appears twice in slave_vols[] and slave_sws[].
They should be "Headphone Playback2 ..."

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-06 09:42:07 +01:00
Takashi Iwai
f03d3115a6 ALSA: Fix sample rate of Lenovo Ideapad to 44.1kHz
Noises can be heard on analog outputs of (some model of) Lenovo
Ideapad due to the hardware problem, and the only workaround right now
is to fix the sample rate to 44.1kHz.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-05 14:18:26 +01:00
Takashi Iwai
37db623ae2 ALSA: hda - Fix check of ALC888S-VC in alc888_coef_init()
Fixed the wrong bits check to identify ALC888S-VC model in
alc888_coef_init().

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-05 09:40:16 +01:00
Herton Ronaldo Krzesinski
7ec30f0e77 ALSA: hda - Map 3stack-hp model (ALC888) for HP Educ.ar
Added model=3stack-hp for HP Educ.ar desktop machine (103c:2a72).

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-04 21:05:40 +01:00
Herton Ronaldo Krzesinski
8718b700cc ALSA: hda - Add headphone automute support for 3stack-hp model (ALC888)
Mute speaker outputs on headphone insertion for machines that use
3stack-hp model.

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-04 21:05:25 +01:00
Herton Ronaldo Krzesinski
3ea0d7cf47 ALSA: hda - Add 4 channel mode for 3stack-hp model (ALC888)
Add additional 4 channel mode for 3stack-hp models.

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-04 21:05:11 +01:00
Takashi Iwai
bd6afe3f34 ALSA: hda - Fix conflict of mixer controls on Sony VAIO VGN-AR71S
The recent update enabled the model=sony-assamd for all ALC262 with
PCI SSID 104d:90xx.  But this includes the VAIO VGN-AR* that has the
primary codec of STAC92xx and the secondary ALC262 as a slave
digital-only codec.  For this device, the model=auto must be chosen
to work properly.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-04 11:30:25 +01:00
Takashi Iwai
79d7d5333b ALSA: hda - Fix HP dv6736 mic input
Fix the mic input of HP dv6736 with Conexant 5051 codec chip.
This laptop seems have no mic-switching per jack connection.
A new model hp-dv6736 is introduced to match with the h/w implementation.

Reference: Novell bnc#480753
	https://bugzilla.novell.com/show_bug.cgi?id=480753

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-04 09:03:50 +01:00
Takashi Iwai
82ad39f939 ALSA: hda - Fix gcc compile warning
It's false positive, but annoying.
  sound/pci/hda/hda_codec.c: In function ‘get_empty_pcm_device’:
  sound/pci/hda/hda_codec.c:2772: warning: ‘dev’ may be used uninitialized in this function

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-03 15:00:35 +01:00
Takashi Iwai
d02b1f3910 ALSA: hda - Update documetation for hints sysfs entry
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-02 17:34:51 +01:00
Takashi Iwai
6565e4faca ALSA: hda - Add more hint options for IDT/Sigmatel codecs
Allow more options to be set/reset via hwdep hint entry.
hp_detect, gpio_mask, gpio_dir, gpio_data, eapd_mask and eapd_switch
can be checked.

For example, to disable hp_detect on the fly,
	# echo "hp_detect=0" > /sys/class/sound/hwC0D0/hints

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-02 17:30:00 +01:00
Takashi Iwai
d78d7a90ad ALSA: hda - Create "Analog Loopback" controls optionally
Don't create "Analog Loopback" controls as default since these controls
are usually more harmful than useful for normal users.
Only created when "loopback = yes" hint is given.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-02 17:30:00 +01:00
Takashi Iwai
ab1726f920 ALSA: hda - Add show for init_verbs and hints sysfs entries
Added the show method for init_verbs and hints hwdep sysfs entries.
They show the current values.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-02 17:29:53 +01:00
Takashi Iwai
43b62713f6 ALSA: hda - Add hint string helper functions
Added snd_hda_get_hint() and snd_hda_get_bool_hint() helper functions
to retrieve a hint value.

Internally, the hint is stored in a pair of two strings, key and val.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-02 17:28:54 +01:00
Takashi Iwai
6e655bf216 ALSA: hda - Don't return a fatal error at PCM-creation errors
Don't return a fatal error to the driver but continue to probe when
any error occurs at creating PCM streams for each codec.
It's often non-fatal and keeping it would help debugging.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-02 10:46:30 +01:00
Takashi Iwai
f93d461bcd ALSA: hda - Revert the codec probe at control-creation errors
Revert the codec probe instead of returning the error to the driver
when any error occurs at creating the control elements.
The control element conflict can be non-fatal in many cases,
especially if it comes from the digital-only codec.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-02 10:44:15 +01:00
Takashi Iwai
d1f1af2dbf ALSA: hda - Intialize more codec fields in snd_hda_codec_reset()
Initiailize forgotten fields in snd_hda_codec_reset().

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-02 10:35:29 +01:00
Takashi Iwai
4c4531d64d ALSA: hda - Remove Toshiba probe_mask quirk
Revert the Toshiba probe_mask quirk for 2.6.29 kernel
(commit 38f1df27e3).
In the current tree, the digital-only codec is handled properly so
no codec conflict should occur.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-02 08:06:11 +01:00
Takashi Iwai
892981ffbe ALSA: hda - Don't create a beep control for digital-only ALC268
When an ALC268 codec is set up as the digital-only (as found in Toshiba
laptops), it shouldn't contain any beep control that conflict with the
primary codec.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-02 08:04:35 +01:00
Takashi Iwai
b31b43e9fb Merge branch 'fix/hda' into topic/hda
Conflicts:
	sound/pci/hda/hda_intel.c
2009-03-02 08:04:10 +01:00
Takashi Iwai
38f1df27e3 ALSA: hda - Add probe_mask default for Toshiba laptop with ALC268
Some Toshiba laptops have another ALC268 codec on slot#3 that conflicts
with the primary codec.  The codec#3 is for the digital I/O, and should
be fixed by the driver, but it'd need a bunch of changes.

So, let's fix the probe problem temporarily by setting the default
probe_mask value.

Reference: kernel bugzilla #12735
	http://bugzilla.kernel.org/show_bug.cgi?id=12735

Tested-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-02 07:55:52 +01:00
Takashi Iwai
c82c8abdee ALSA: hda - Fix an "unused variable" compile warning
Forgot to remove an unused variable.
  sound/pci/hda/patch_realtek.c: In function ‘alc882_auto_init_analog_input’:
  sound/pci/hda/patch_realtek.c:7018: warning: unused variable ‘vref’

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-27 17:52:22 +01:00
Takashi Iwai
53eff7e1e0 ALSA: hda - Match all 103c:17xx devices for HP BPC model
Use SND_PCI_QUIRK_MASK() to match all devices with 103c:17xx for
HP BPC model.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-27 17:49:44 +01:00
Takashi Iwai
f897497673 Merge branch 'fix/hda' into topic/hda
Conflicts:
	sound/pci/hda/patch_realtek.c
2009-02-27 17:47:31 +01:00
Takashi Iwai
bb543c9694 ALSA: hda - Add quirk for new HP xw series
Added model=hp-bpc for new HP xw series (103c:170b).

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-27 17:44:07 +01:00
Takashi Iwai
ea18aa4644 ALSA: hda - Fix digital mic on dell-m4-1 and dell-m4-3
Fix num_dmuxes initialization for dell-m4-1 and dell-m4-3 models
of IDT 92HD71bxx codec, which was wrongly set to zero.

Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-27 17:36:33 +01:00
peerchen
bedfcebb4f ALSA: hda - Add the Device IDs for MCP89 and remove IDs of MCP7B
Added the Device IDs for MCP89 HD audio controller.
Removed the IDs of MCP7B cause this chipset had been cancelled.

Signed-off-by: Peer Chen <peerchen@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-27 10:22:55 +01:00
Takashi Iwai
1607b8ea0a ALSA: hda - Add model=auto for STAC/IDT codecs
Added the model=auto to STAC/IDT codecs to use the BIOS default setup
explicitly.  It can be used to disable the device-specific model quirk
in the driver.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-26 16:50:43 +01:00
Takashi Iwai
23f0c048ba ALSA: hda - Clean up the input pin setup in automatic mode
Clean up the input-pin setup in automatic mode in patch_realtek.c.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-26 13:03:58 +01:00
Hannes Eder
5d9b6c0783 ALSA: sound/pci/hda: fix sparse warning: different signedness
Fix this sparse warning:
  sound/pci/hda/hda_codec.c:1544:19: warning: incorrect type in assignment (different signedness)
  sound/pci/hda/hda_codec.c:1544:19:    expected unsigned long *vals
  sound/pci/hda/hda_codec.c:1544:19:    got long *<noident>

Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-26 09:59:04 +01:00
Takashi Iwai
f872a9194c ALSA: hda - Clean up / fix quirk for Sony laptops with ALC262
Clean up / fix quirk entries for Sony laptops with ALC262 codec
using NSD_PCI_QUIRK_MASK().

This also fixes the kernel bug #12780
	http://bugme.linux-foundation.org/show_bug.cgi?id=12780

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-26 00:57:01 +01:00
Takashi Iwai
873dc78a86 ALSA: hda - Clean up / fix quirks for HP laptops with AD1984A
Use SND_PCI_QUIRK_MASK() to clean up / support better HP laptops with
AD1984A codec.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-25 18:12:13 +01:00
Takashi Iwai
a65d629ceb ALSA: hda - Add pseudo device-locking for clear/reconfig
Added the pseudo device-locking using card->shutdown flag to avoid
the crash via clear/reconfig during operations.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-23 16:57:04 +01:00
Takashi Iwai
209b140336 Merge branch 'test/hda-pincfg' into topic/hda 2009-02-23 14:15:47 +01:00
Takashi Iwai
39c2871eea ALSA: hda - Add an example about pin reconfiguration
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-23 14:14:51 +01:00
Takashi Iwai
13c989beba ALSA: hda - Don't give over 0dB volume for AD1984A HP laptops
Set the upper limit 0dB to the volume of mixer amp 0x20 for
AD1984A HP laptops.  The overloaded volume may damage the internal
speaker.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-23 11:33:34 +01:00
Takashi Iwai
5e7b8e0d87 ALSA: hda - Make user_pin overriding the driver setup
Make user_pin overriding even the driver pincfg, e.g. the static / fixed
pin config table in patch_sigmatel.c.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-23 09:45:59 +01:00
Takashi Iwai
346ff70fdb ALSA: hda - Rename {override,cur}_pin with {user,driver}_pin
Rename from override_pin and cur_pin with user_pin and driver_pin,
respectively, to be a bit more intuitive.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-23 09:42:57 +01:00
Takashi Iwai
c17a1abae2 ALSA: hda - Use snd_hda_codec_get_pincfg() in the rest places
Replace with snd_hda_codec_get_pincfg() in the places where available.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-23 09:28:12 +01:00
Takashi Iwai
1618a3281b Merge branch 'fix/hda' into topic/hda
Conflicts:
	sound/pci/hda/patch_realtek.c
2009-02-23 08:14:41 +01:00
Juan Jesus Garcia de Soria
cc374c477c ALSA: hda - Quirk for Acer Aspire 6530G
The Acer Aspire 6530G needs the 4930G "model" for the front mic to
work properly.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-23 08:13:53 +01:00
Luke Yelavich
2d46638160 ALSA: hda - add another MacBook Pro 3,1 SSID
Reference: Ubuntu bug #33245
    https://bugs.launchpad.net/bugs/332456

Signed-off-by: Luke Yelavich <themuso@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-23 07:54:26 +01:00
Michael Schwingen
cc95948972 ALSA: hda - add support for "Maxdata Favorit 100XS" (Intel HDA/ALC260)
Signed-off-by: Michael Schwingen <michael@schwingen.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-23 07:39:34 +01:00
Takashi Iwai
f1085c4f31 ALSA: hda - Update documentation for pincfg sysfs entries
Added the brief descriptions of new sysfs entries for pint default
config values.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-20 16:48:40 +01:00
Takashi Iwai
2f334f92cf ALSA: hda - Remove codec-specific pin save/restore functions
Replace the accessor to pin defaults with the common code for caching.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-20 16:48:40 +01:00
Takashi Iwai
330ee99579 ALSA: hda - Remove IDT codec-specific pin save/restore functions
Removed its own save/restore functions and replaced with the common code.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-20 16:48:39 +01:00
Takashi Iwai
0e8a21b59d ALSA: hda - Remove realtek codec-specific pin save/restore functions
Now it's done in the common code.
Also use the common access functions for pin defaults.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-20 16:48:38 +01:00