Commit Graph

110549 Commits

Author SHA1 Message Date
Takashi Iwai f73d35853e ALSA: hda - Fix AFG power management on IDT 92HD* codecs
The AFG pin power-mapping isn't properly set for the fixed I/O pins
on IDT 92HD* codecs.  This resulted in the low power mode after the
boot until any jack detection is executed, thus no output from the
speaker.

This patch fixes the power mapping for the fixed pins, and also fixes
the GPIO bits and digital I/O pin settings properly in stac92xx_ini().

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

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-25 11:53:50 +01:00
Takashi Iwai 9e97697666 ALSA: hda - Fix caching of SPDIF status bits
SPDIF status bits controls are written via snd_hda_codec_write()
without caching.  This causes a regression at resume that the bits
are lost.

Simply replacing it with the cached version fixes the problem.

Reference:
	http://lkml.org/lkml/2008/11/24/324

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-25 10:31:44 +01:00
Takashi Iwai b0fc5e0434 ALSA: hda - Add a quirk for Dell Studio 15
Added the matching model=dell-m6 for Dell Studio 15 laptop.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-21 08:37:03 +01:00
Matthew Ranostay 3a7abfd2ba ALSA: hda: Add STAC_DELL_M4_3 quirk
Added STAC_DELL_M4_3 quirk for Dell systems, also reorganized the
board config switch to assign number of digital muxes, microphones,
and SPDIF muxes via the PCI quirk defined.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-21 08:17:00 +01:00
Matthew Ranostay 0253fdcd8a ALSA: hda: STAC_DELL_M6 EAPD
Add support for EAPD on system suspend and disabling EAPD on headphone jack
detection for STAC_DELL_M6 laptops.

This patch fixes the regressions, the silent output on HP of some Dell
laptops (see Novell bnc#446025):
	https://bugzilla.novell.com/show_bug.cgi?id=446025

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-20 17:11:10 +01:00
Takashi Iwai c5d08bb567 ALSA: hda - Fix resume of GPIO unsol event for STAC/IDT
Use cached write for setting the GPIO unsolicited event mask to be
restored properly at resume.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-18 10:55:36 +01:00
Takashi Iwai 80bf272468 ALSA: hda - Add quirks for HP Pavilion DV models
Added the quirk entries for HP Pavilion DV5 and DV7 with model=hp-m4.

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

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-18 10:48:41 +01:00
Takashi Iwai 41c3b648bd ALSA: hda - Fix GPIO initialization in patch_stac92hd71bxx()
Fixed the GPIO mask and co initialization in patch_stac92hd71bxx()
so that the gpio_maks for HP_M4 model is set properly.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-18 10:45:15 +01:00
Takashi Iwai 8e5f262bfc ALSA: hda - Check model type instead of SSID in patch_92hd71bxx()
Check board preset model instead of codec->subsystem_id in
patch_92hd71bxx() so that other hardwares configured via the model
option work like the given model.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-15 19:28:54 +01:00
Matthew Ranostay c39555d6ed ALSA: hda: STAC_VREF_EVENT value change
Changed value for STAC_VREF_EVENT from 0x40 to 0x00 because the
unsol response value is only 6-bits width and the former value
was 1<<6 which is an overrun.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-15 19:04:26 +01:00
Takashi Iwai 6a12afb564 ALSA: hda - Missing NULL check in hda_beep.c
Added a NULL check of input_allocate_device() in hda_beep.c.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-13 14:37:16 +01:00
Takashi Iwai 4d4e9bb339 ALSA: hda - Add digital beep playback switch for STAC/IDT codecs
The digital beep widget may have no mute control, and always enabling
the beep is ofen pretty annoying, especially on laptops.

This patch adds a mixer control "PC Beep Playback Switch" when there
is no mixer amp mute is found, and controls it on software.

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

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-13 14:37:14 +01:00
Takashi Iwai d7a8943635 ALSA: hda - Fix IDT/STAC multiple HP detection
Due to the recent change for multiple HP as line-out switch, only
one of the multiple headphons (usually a wrong one) is toggled
and the other pins are still disabled.  This causes the silent output
problem on some Dell laptops.

Also, the hp_switch check is screwed up when a line-in or a mic-in
jack exists.  This is added as an additional output, but hp_switch
check doesn't take it into account.

This patch fixes these issues: simplify hp_switch check by using
the NID instead of bool, and clean up / fix the toggle of HP pins
in unsol event handler code.

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

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-12 10:00:56 +01:00
Takashi Iwai 4f1e6bc364 ALSA: hda - Fix input pin initialization for STAC/IDT codecs
The input pins are sometimes not initialized properly because
of the optimization check of the current pinctl code.

Force to initialize the mic input pins so that they can be set up
properly even if they were in a weird state.  But keep other input
pins if already set up as input, since this could be an extra mic
pin.

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

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-11 18:00:53 +01:00
Takashi Iwai 355a0ec471 ALSA: hda - Add missing analog-mux mixer creation for STAC9200
The creation of analog-mux mixer element is missing in
patch_stac9200() due to the dynamic allocation patch.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-11 16:46:19 +01:00
Travis Place 254248313a ALSA: hda - Make the HP EliteBook 8530p use AD1884A model laptop
Added a QUIRK to patch_analog.c for the HP Elitebook 8530p
(IDs 0x103c:0x30e7) to use AD1884A model 'laptop' by default.
Playback and Capture confirmed working.

Signed-off-by: Travis Place <wishie@wishie.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-10 17:57:14 +01:00
Michel Marti 65b92e5cbc ALSA: hda - Add another HP model (6730s) for AD1884A
Added model=laptop for another HP machine (103c:3614) with AD1884A
codec.

Signed-off-by: Michel Marti <mma@objectxp.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-09 12:47:12 +01:00
Takashi Iwai 959973b92d ALSA: hda - Add a quirk for MEDION MD96630
Use model=lenovo-ms7195-dig for MEDION MD96630 laptop (17c0:4085)
with ALC888 codec.
Reference: Novell bnc#412548
	https://bugzilla.novell.com/show_bug.cgi?id=412528

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-05 11:30:56 +01:00
Takashi Iwai c4dc507185 ALSA: hda - Limit the number of GPIOs show in proc
Limit the number of GPIOs shown in proc.  Otherwise it gets too long
unnecessarily, and hard to analyze.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-04 13:30:57 +01:00
Matthew Ranostay 6b3ab21ef1 ALSA: hda: make a STAC_DELL_EQ option
Add support for explicitly enabling the EQ distortion hack for
systems without software biquad support.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Cc: stable@kernel.org
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-03 14:29:47 +01:00
Takashi Iwai 69e50282b7 ALSA: hda - Add a quirk for another Acer Aspire (1025:0090)
Added a quirk for another Acer Aspier laptop (1025:0090) with ALC883
codec.  Reported in Novell bnc#426935:
    https://bugzilla.novell.com/show_bug.cgi?id=426935

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-03 10:07:43 +01:00
Takashi Iwai ee956e090e ALSA: hda - Add digital-mic for ALC269 auto-probe mode
The digital mic wasn't detected properly for ALC269 auto-probing mode
because of its widget number.  Fixed now.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-31 17:23:24 +01:00
Takashi Iwai 4605b718e8 ALSA: hda - Disable broken mic auto-muting in Realtek codes
The recent addition of automatic mic-muting is broken in some cases.
The code assumes that the pin nids <= 0x18, but the digital pins can
be less than 0x18.
Also, it assumes the front-mic being the internal mic, but it depends
on the hardware implementation actually.

Instead of complex case-fixes, better to disable the code as now.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-31 17:21:08 +01:00
Takashi Iwai 0cbf00980f ALSA: hda - Add reboot notifier
The current snd-hda-intel driver seems blocking the power-off on some
devices like eeepc.  Although this is likely a BIOS problem, we can add
a workaround by disabling IRQ lines before power-off operation.
This patch adds the reboot notifier to achieve it.

The detailed problem description is found in bug#11889:
    http://bugme.linux-foundation.org/show_bug.cgi?id=11889

Tested-by: Luiz Fernando N. Capitulino <lcapitulino@mandriva.com.br>
Cc: stable@kernel.org
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-29 16:21:16 +01:00
Takashi Iwai c1e99bd9d6 ALSA: hda - Fix SPDIF mute on IDT/STAC codecs
The SPDIF mute switch code seems broken.  It doesn't set unmute bits
properly.  Also it contains the duplicated lines (merge error?) to be
cleaned up.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-29 08:03:42 +01:00
Mark Brown 8199de3b29 ALSA: hda: Add HDA vendor ID for Wolfson Microelectronics
Add Wolfson Microelectronics to the HDA vendor ID table.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-28 16:15:42 +01:00
Takashi Iwai 5695ff4416 ALSA: hda - Add another HP model for AD1884A
Added a quirk entry for another HP mobile device with AD1884A codec.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-28 15:39:26 +01:00
Takashi Iwai e044c39ae2 ALSA: hda - Restore default pin configs for realtek codecs
Some machines have broken BIOS resume that doesn't restore the default
pin configuration properly, which results in a wrong detection of HP
pin.  This causes a silent speaker output due to missing HP detection.
Related bug: Novell bug#406101
	https://bugzilla.novell.com/show_bug.cgi?id=406101

This patch fixes the issue by saving/restoring the default pin configs
by the driver itself.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-27 16:56:24 +01:00
Harvey Harrison da74ae3e32 ALSA: hda - correct bracketing in spdif test in patch_sigmatel.c
Noticed by sparse:
sound/pci/hda/patch_sigmatel.c:1285:43: warning: dubious: !x & y

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Acked-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-22 08:00:46 +02:00
Takashi Iwai 863b45180e ALSA: hda - Fix conflicting volume controls on ALC260
ALC260 auto-parsing mode may create multiple controls for the same volume
widget (0x08 and 0x09) depending on the pin.  For example, Front and
Headphone volumes may control the same volume, just the latter one wins.

This patch adds a proper check of the existing of the volume control
and avoid the doulbed creation of the same volume controls.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-21 17:01:47 +02:00
Takashi Iwai ec4e86ba06 ALSA: hda - Fix PCM type of Nvidia HDMI devices
Added the missing PCM type for Nvidia HDMI devices so that they point
the right device number.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-16 08:02:41 +02:00
Kailang Yang 80ffe86925 ALSA: hda - Fix quirk lists for realtek codecs
- Fix Toshiba S06 SSID to 1179:ff7b
- Fix ASUS G50V quirk name
- Add ASUS N20 quirk

Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-15 11:24:55 +02:00
Kailang Yang 01afd41f55 ALSA: hda - Add support of ALC272
Added the support of ALC272 codec.  It's almost compatible with ALC663.

Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-15 11:23:10 +02:00
Kailang Yang a385a52925 ALSA: hda - Add ALC887 support
Added ALC887 support.  It's almost compatible with ALC883/888.

Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-15 11:21:08 +02:00
Kailang Yang 4442608d4b ALSA: hda - Add ALC1200 support
Add ALC1200 codec support.  Almost compatible with ALC888.

Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-15 11:18:05 +02:00
Kailang Yang a01c30cb77 ALSA: hda - Fix PCI SSID of ASUS M90V
ASUS M90V has PCI SSID 1043:1873.  Corrected in the quirk list.

Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-15 11:14:58 +02:00
Kailang Yang 7fb0d78fb1 ALSA: hda - Add auto mic switch in realtek auto-probe mode
Add the automatic mic switch via jack sensing in auto-probe mode
for Realtek codecs.

Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-15 11:12:35 +02:00
Matthew Ranostay d21995e3e3 ALSA: hda: fix nid variable warning
Fixed compiler warning with possible uninitialized variable 'nid'.

  CC [M]  /home/mranostay/git/alsa-driver/pci/hda/patch_sigmatel.o
/home/mranostay/git/alsa-driver/pci/hda/../../alsa-kernel/pci/hda/patch_sigmatel.c: In function
‘stac92xx_parse_auto_config’:
/home/mranostay/git/alsa-driver/pci/hda/../../alsa-kernel/pci/hda/patch_sigmatel.c:2815: warning: ‘nid’ may be used
uninitialized in this function

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-14 07:42:55 +02:00
Matthew Ranostay 687cb98e89 ALSA: hda: corrected invalid mixer values
Corrected invalid mixer index values on the 92hd71bxxx codec branch.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-13 02:22:08 +02:00
Matthew Ranostay 4b33c7675d ALSA: hda: add mixers for analog mixer on 92hd75xx codecs
Add support for mixers on the analog mixer on some 92hd75xx codecs,
along with adding a 'Mixer' entry for it's connection on the dmux.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-13 02:19:42 +02:00
Matthew Ranostay 72474be62d ALSA: hda: VREF powerdown for headphones
Add support for powering down VREF on standard headphone insertion, also
powers up the VREF on a headset insertion.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-10-10 13:42:00 +02:00
Matthew Ranostay b9aea7150a ALSA: hda: STAC_HP_M4
Set the third microphone to a default config of a 'Line In' to be
added the Input Source Mux's.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-10-10 13:41:59 +02:00
Mark Brown fb2aa074d4 ALSA: ASoC: Check for machine type in GTA01 machine driver
Since there are now multiple OpenMoko platforms it is more important to
check that the machine driver is running on the correct system.  This
was orgininally generated as part of the initial GTA02 machine port.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-10-10 13:41:58 +02:00
Takashi Iwai 32fe614263 ALSA: mtpav - Fix race in probe
Ingo reported Oops at probing mtpav driver.  It's a race between
the irq handler and the rawmidi instance registration.

This patch fixes the order of registration to avoid the race.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Tested-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-10-10 13:41:58 +02:00
Pedro Lopez-Cabanillas 59b3db6c69 ALSA: usb-audio: dynamic detection of MIDI interfaces in uaxx-quirk
The MIDI interfaces have to be detected dynamically for Edirol devices
ua-700, ua-25 and ua4-fx. This patch reverses the wrong changes made by
my other patch in uaxx-quirk.

Signed-off-by: Pedro Lopez-Cabanillas <pedro.lopez.cabanillas@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-10-10 13:41:57 +02:00
Takashi Iwai 52948b3f7c ALSA: Add a note on dependency of RTC stuff
Added a note on the dependency of old RTC stuff, which is exclusive
with the new RTC class drivers.
    http://bugme.linux-foundation.org/show_bug.cgi?id=11430

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-10-10 13:41:55 +02:00
Richard Zhao cb01e2b992 ALSA: ASoC: add new param mux to dapm_mux_update_power
Function dapm_mux_update_power needs enum index mux and register mask value val
as parameters, but it only has a parameter val, and uses it as both val and mux.
snd_soc_test_bits(widget->codec, e->reg, mask, val) val is register mask here,
e->texts[val] but val should be enum index mux here.

This patch adds a new param mux to fix it.

Signed-off-by: Richard Zhao <linuxzsc@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-10-10 13:41:54 +02:00
Takashi Iwai ff33f2303b ALSA: Increase components array size
Increase the card components[] (and thus snd_card_info.components[],
too) array size from 80 to 128 chars so that more strings can be
stored.  The 80 chars aren't enough for more than 2 HD-audio codecs,
and this hits an ugly snd_BUG() as reported by Wu Fegguang for HP
2230s.

The control protocol number is increased to 2.0.6 as well, in case
it matters.

Reported-by: Wu Fengguang <wfg@linux.intel.com>
Acked-by: Jaroslav Kysela <perex@perex.cz>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-10-10 13:41:53 +02:00
Mark Brown 8ae23ec3ab ALSA: ASoC: Correct inverted Mic PGA Switch control in wm8510 driver
Mic PGA Switch should be inverted in the WM8510 driver but isn't.

Reported-by: ext-jukka.hynninen@vaisala.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-10-10 13:41:52 +02:00
Wu Fengguang 6b34500c1c ALSA: hda: comment typo fix
fix a typo in comment for is_in_nid_list().

Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-10-10 13:41:51 +02:00