openwrt/staging/blogic.git
15 years agoALSA: hda - Add more hint options for IDT/Sigmatel codecs
Takashi Iwai [Mon, 2 Mar 2009 13:38:35 +0000 (14:38 +0100)]
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>
15 years agoALSA: hda - Create "Analog Loopback" controls optionally
Takashi Iwai [Mon, 2 Mar 2009 13:26:25 +0000 (14:26 +0100)]
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>
15 years agoALSA: hda - Add show for init_verbs and hints sysfs entries
Takashi Iwai [Mon, 2 Mar 2009 16:09:25 +0000 (17:09 +0100)]
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>
15 years agoALSA: hda - Add hint string helper functions
Takashi Iwai [Mon, 2 Mar 2009 13:25:17 +0000 (14:25 +0100)]
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>
15 years agoALSA: hda - Don't return a fatal error at PCM-creation errors
Takashi Iwai [Mon, 2 Mar 2009 09:46:03 +0000 (10:46 +0100)]
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>
15 years agoALSA: hda - Revert the codec probe at control-creation errors
Takashi Iwai [Mon, 2 Mar 2009 09:44:15 +0000 (10:44 +0100)]
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>
15 years agoALSA: hda - Intialize more codec fields in snd_hda_codec_reset()
Takashi Iwai [Mon, 2 Mar 2009 09:35:29 +0000 (10:35 +0100)]
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>
15 years agoALSA: hda - Remove Toshiba probe_mask quirk
Takashi Iwai [Mon, 2 Mar 2009 07:06:11 +0000 (08:06 +0100)]
ALSA: hda - Remove Toshiba probe_mask quirk

Revert the Toshiba probe_mask quirk for 2.6.29 kernel
(commit 38f1df27e3191d76e983cb9c6b4392582fd32fda).
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>
15 years agoALSA: hda - Don't create a beep control for digital-only ALC268
Takashi Iwai [Mon, 2 Mar 2009 07:04:35 +0000 (08:04 +0100)]
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>
15 years agoMerge branch 'fix/hda' into topic/hda
Takashi Iwai [Mon, 2 Mar 2009 07:04:10 +0000 (08:04 +0100)]
Merge branch 'fix/hda' into topic/hda

Conflicts:
sound/pci/hda/hda_intel.c

15 years agoALSA: hda - Add probe_mask default for Toshiba laptop with ALC268
Takashi Iwai [Sun, 1 Mar 2009 09:55:44 +0000 (10:55 +0100)]
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>
15 years agoALSA: hda - Fix an "unused variable" compile warning
Takashi Iwai [Fri, 27 Feb 2009 16:52:22 +0000 (17:52 +0100)]
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>
15 years agoALSA: hda - Match all 103c:17xx devices for HP BPC model
Takashi Iwai [Fri, 27 Feb 2009 16:49:44 +0000 (17:49 +0100)]
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>
15 years agoMerge branch 'fix/hda' into topic/hda
Takashi Iwai [Fri, 27 Feb 2009 16:47:31 +0000 (17:47 +0100)]
Merge branch 'fix/hda' into topic/hda

Conflicts:
sound/pci/hda/patch_realtek.c

15 years agoALSA: hda - Add quirk for new HP xw series
Takashi Iwai [Fri, 27 Feb 2009 16:44:07 +0000 (17:44 +0100)]
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>
15 years agoALSA: hda - Fix digital mic on dell-m4-1 and dell-m4-3
Takashi Iwai [Fri, 27 Feb 2009 16:36:33 +0000 (17:36 +0100)]
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>
15 years agoALSA: hda - Add the Device IDs for MCP89 and remove IDs of MCP7B
peerchen [Fri, 27 Feb 2009 09:03:19 +0000 (17:03 +0800)]
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>
15 years agoALSA: hda - Add model=auto for STAC/IDT codecs
Takashi Iwai [Thu, 26 Feb 2009 15:50:43 +0000 (16:50 +0100)]
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>
15 years agoALSA: hda - Clean up the input pin setup in automatic mode
Takashi Iwai [Thu, 26 Feb 2009 12:03:58 +0000 (13:03 +0100)]
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>
15 years agoALSA: sound/pci/hda: fix sparse warning: different signedness
Hannes Eder [Wed, 25 Feb 2009 21:28:45 +0000 (22:28 +0100)]
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>
15 years agoALSA: hda - Clean up / fix quirk for Sony laptops with ALC262
Takashi Iwai [Wed, 25 Feb 2009 23:57:01 +0000 (00:57 +0100)]
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>
15 years agoALSA: hda - Clean up / fix quirks for HP laptops with AD1984A
Takashi Iwai [Wed, 25 Feb 2009 17:12:13 +0000 (18:12 +0100)]
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>
15 years agoALSA: hda - Add pseudo device-locking for clear/reconfig
Takashi Iwai [Mon, 23 Feb 2009 15:57:04 +0000 (16:57 +0100)]
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>
15 years agoMerge branch 'test/hda-pincfg' into topic/hda
Takashi Iwai [Mon, 23 Feb 2009 13:15:47 +0000 (14:15 +0100)]
Merge branch 'test/hda-pincfg' into topic/hda

15 years agoALSA: hda - Add an example about pin reconfiguration
Takashi Iwai [Mon, 23 Feb 2009 13:14:51 +0000 (14:14 +0100)]
ALSA: hda - Add an example about pin reconfiguration

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Don't give over 0dB volume for AD1984A HP laptops
Takashi Iwai [Mon, 23 Feb 2009 10:33:34 +0000 (11:33 +0100)]
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>
15 years agoALSA: hda - Make user_pin overriding the driver setup
Takashi Iwai [Mon, 23 Feb 2009 08:45:59 +0000 (09:45 +0100)]
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>
15 years agoALSA: hda - Rename {override,cur}_pin with {user,driver}_pin
Takashi Iwai [Mon, 23 Feb 2009 08:42:57 +0000 (09:42 +0100)]
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>
15 years agoALSA: hda - Use snd_hda_codec_get_pincfg() in the rest places
Takashi Iwai [Mon, 23 Feb 2009 08:28:12 +0000 (09:28 +0100)]
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>
15 years agoMerge branch 'fix/hda' into topic/hda
Takashi Iwai [Mon, 23 Feb 2009 07:14:41 +0000 (08:14 +0100)]
Merge branch 'fix/hda' into topic/hda

Conflicts:
sound/pci/hda/patch_realtek.c

15 years agoALSA: hda - Quirk for Acer Aspire 6530G
Juan Jesus Garcia de Soria [Mon, 23 Feb 2009 07:11:59 +0000 (08:11 +0100)]
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>
15 years agoALSA: hda - add another MacBook Pro 3,1 SSID
Luke Yelavich [Mon, 23 Feb 2009 02:00:33 +0000 (13:00 +1100)]
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>
15 years agoALSA: hda - add support for "Maxdata Favorit 100XS" (Intel HDA/ALC260)
Michael Schwingen [Sun, 22 Feb 2009 17:58:45 +0000 (18:58 +0100)]
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>
15 years agoALSA: hda - Update documentation for pincfg sysfs entries
Takashi Iwai [Fri, 20 Feb 2009 13:50:35 +0000 (14:50 +0100)]
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>
15 years agoALSA: hda - Remove codec-specific pin save/restore functions
Takashi Iwai [Fri, 20 Feb 2009 13:37:42 +0000 (14:37 +0100)]
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>
15 years agoALSA: hda - Remove IDT codec-specific pin save/restore functions
Takashi Iwai [Fri, 20 Feb 2009 13:33:36 +0000 (14:33 +0100)]
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>
15 years agoALSA: hda - Remove realtek codec-specific pin save/restore functions
Takashi Iwai [Fri, 20 Feb 2009 13:13:06 +0000 (14:13 +0100)]
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>
15 years agoALSA: hda - Add generic pincfg initialization
Takashi Iwai [Fri, 20 Feb 2009 13:11:16 +0000 (14:11 +0100)]
ALSA: hda - Add generic pincfg initialization

Added the generic pincfg cache and save/restore functions.
Also introduced the pin-overriding via hwdep sysfs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoMerge branch 'fix/hda' into topic/hda
Takashi Iwai [Fri, 20 Feb 2009 15:06:47 +0000 (16:06 +0100)]
Merge branch 'fix/hda' into topic/hda

15 years agoALSA: hda - Fix parse of init_verbs sysfs entry
Takashi Iwai [Fri, 20 Feb 2009 14:59:01 +0000 (15:59 +0100)]
ALSA: hda - Fix parse of init_verbs sysfs entry

Fixed the parse of init_verbs hwdep sysfs entry.
Simplieied using sscanf.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Add digital-only mode for ALC268
Takashi Iwai [Thu, 19 Feb 2009 07:15:49 +0000 (08:15 +0100)]
ALSA: hda - Add digital-only mode for ALC268

ALC268 can be configured as digital-only, e.g. for HDMI, on some
machines.  Allow the parser to set up the digital-only mode.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Avoid doubly beep attachment in patch_alc268()
Takashi Iwai [Thu, 19 Feb 2009 07:13:26 +0000 (08:13 +0100)]
ALSA: hda - Avoid doubly beep attachment in patch_alc268()

Remove the doubly attachment in patch_alc268().
The input beep is attached conditionally only when needed.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Don't enable beep for digital-only ALC262
Takashi Iwai [Thu, 19 Feb 2009 07:06:35 +0000 (08:06 +0100)]
ALSA: hda - Don't enable beep for digital-only ALC262

When ALC262 codec is configured as digital-only, it's meaningless to
add the digital beep input.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Add quirk for Acer X3200
Takashi Iwai [Wed, 18 Feb 2009 12:16:26 +0000 (13:16 +0100)]
ALSA: hda - Add quirk for Acer X3200

Acer X3200 needs model=auto, otherwise model=acer is pre-selected.

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

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Clean up quirks for HP laptops with AD1984A
Takashi Iwai [Mon, 16 Feb 2009 14:20:41 +0000 (15:20 +0100)]
ALSA: hda - Clean up quirks for HP laptops with AD1984A

Clean up quirks for HP laptops with AD1984A using SND_PCI_QUIRK_MASK()

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Cleanup IDT92HD7x HP quirks
Takashi Iwai [Mon, 16 Feb 2009 13:16:36 +0000 (14:16 +0100)]
ALSA: hda - Cleanup IDT92HD7x HP quirks

Clean up IDT92HD7x quirks for HP laptops with SND_PCI_QUIRK_MASK().

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoMerge branch 'fix/hda' into topic/hda
Takashi Iwai [Mon, 16 Feb 2009 09:23:35 +0000 (10:23 +0100)]
Merge branch 'fix/hda' into topic/hda

15 years agoALSA: hda - Fix speaker output on HP DV4 1155-SE
Herton Ronaldo Krzesinski [Mon, 16 Feb 2009 09:23:00 +0000 (10:23 +0100)]
ALSA: hda - Fix speaker output on HP DV4 1155-SE

Force speaker pin config with model=hp-dv5 model for cases when bios
doesn't set it up properly. All reported hp laptops using model=hp-dv5
model have speaker at pin 0x0d with same config, so it's safe to add
this within hp-dv5 model.

Reference: alsa-devel mailing list thread on
    http://mailman.alsa-project.org/pipermail/alsa-devel/2009-February/014390.html

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoRevert "Sound: hda - Restore PCI configuration space with interrupts off"
Takashi Iwai [Mon, 16 Feb 2009 09:13:03 +0000 (10:13 +0100)]
Revert "Sound: hda - Restore PCI configuration space with interrupts off"

This reverts commit 32e176c14d7a425b681ef003c9061001ddb7fc7b.

That commit caused a regression with suspend on Thinkpad SL300.

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

Tested-by: Alexandre Rostovtsev <tetromino@gmail.com>
Acked-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Support multiple digital outs with auto-probing
Takashi Iwai [Fri, 13 Feb 2009 10:19:09 +0000 (11:19 +0100)]
ALSA: hda - Support multiple digital outs with auto-probing

Added the support of multiple digital outputs via auto-probing for
Realtek ALC88x codecs.  The multiple outputs are handled as slave
streams, so only one PCM stream (and the corresponding IEC958*
elements) is provided to control both digital outputs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Add proper cleanup for multiout-dig for ALC codecs
Takashi Iwai [Fri, 13 Feb 2009 10:47:37 +0000 (11:47 +0100)]
ALSA: hda - Add proper cleanup for multiout-dig for ALC codecs

The recent patch_realtek.c contains the slave digital-out support
as well.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoMerge branch 'fix/hda' into topic/hda
Takashi Iwai [Fri, 13 Feb 2009 10:59:26 +0000 (11:59 +0100)]
Merge branch 'fix/hda' into topic/hda

15 years agoALSA: hda - Add snd_hda_multi_out_dig_cleanup()
Takashi Iwai [Fri, 13 Feb 2009 10:32:28 +0000 (11:32 +0100)]
ALSA: hda - Add snd_hda_multi_out_dig_cleanup()

Added the helper function snd_hda_multi_out_dig_cleanup() to clean up
the digital outputs with multi setup.  This call is needed in cases
the codec supports multiple digital outputs as slaves.  Otherwise the
slave widgets aren't properly cleaned up.

For a single digital output (e.g. in patch_conexant.c), this call isn't
needed.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Add missing terminator in slave dig-out array
Takashi Iwai [Fri, 13 Feb 2009 10:37:08 +0000 (11:37 +0100)]
ALSA: hda - Add missing terminator in slave dig-out array

Added the missing terminator for ad1989b_slave_dig_outs[].

Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Add quirk for Acer AX1700-U3700A
Takashi Iwai [Fri, 13 Feb 2009 08:31:20 +0000 (09:31 +0100)]
ALSA: hda - Add quirk for Acer AX1700-U3700A

Force model=auto for Acer AX1700-U3700A with ALC888 codec.
Since Acer devices are handlded as model=acer as default, the auto
parsing has to be specified explicitly.
(Maybe it's better rather to remove this default model=acer handling,
 though.)

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoMerge branch 'fix/hda' into topic/hda
Takashi Iwai [Fri, 13 Feb 2009 07:41:44 +0000 (08:41 +0100)]
Merge branch 'fix/hda' into topic/hda

15 years agoALSA: hda - Change HP dv7 (103c:30f4) quirk from hp-m4 to hp-dv5 model
Herton Ronaldo Krzesinski [Thu, 12 Feb 2009 19:27:27 +0000 (17:27 -0200)]
ALSA: hda - Change HP dv7 (103c:30f4) quirk from hp-m4 to hp-dv5 model

Change HP dv7 quirk: although reported to work with hp-m4 model
(https://bugzilla.novell.com/show_bug.cgi?id=445321), the original
report doesn't contain info about testing of internal microphone.

Recently I received a report about internal mic not working
(https://qa.mandriva.com/show_bug.cgi?id=44855#c193), this must be
related with the forced line in on pin 0x0e done with hp-m4 model. Thus
change the current quirk from STAC_HP_M4 to STAC_HP_DV5, later reported
to be fixed on a provided kernel with this change
(https://qa.mandriva.com/show_bug.cgi?id=44855#c196).

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda: add quirk for Lenovo X200 laptop dock
Aristeu Sergio Rozanski Filho [Thu, 12 Feb 2009 22:50:37 +0000 (17:50 -0500)]
ALSA: hda: add quirk for Lenovo X200 laptop dock

Currently the HP connector on X200 dock doesn't detect when a HP is connected
nor allows sound to be played using it. This patch fixes the problem by adding
a quirk for this specific model. It's possible that others have the same NID
(0x19) to report when dock HP is connected, but I don't have access to any.
Please Cc me in the reply since I'm not subscribed to alsa-devel@.

Signed-off-by: Aristeu Rozanski <aris@redhat.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda: Add STAC_DELL_S14 quirk
Matthew Ranostay [Thu, 12 Feb 2009 21:50:01 +0000 (16:50 -0500)]
ALSA: hda: Add STAC_DELL_S14 quirk

Add STAC_DELL_S14 quirk for new laptop series. Removed un-needed pins
in pin_nids for stac92hd83xxx. Also reorganized connection selection
code for the respective ports per quirk define.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Update documentation
Takashi Iwai [Fri, 13 Feb 2009 07:33:55 +0000 (08:33 +0100)]
ALSA: hda - Update documentation

Update documentation regarding codec probing; the new probe_only option
and the new probe_mask usage.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Add forced codec-slots for ASUS W5F
Takashi Iwai [Fri, 13 Feb 2009 07:18:48 +0000 (08:18 +0100)]
ALSA: hda - Add forced codec-slots for ASUS W5F

ASUS W5F needs the fixed codec-slots to probe to override the BIOS
problem.

Tested-by: Giovanni Moser Frainer <giovanni@redix.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Allow fixed codec-probe mask
Takashi Iwai [Fri, 13 Feb 2009 07:16:55 +0000 (08:16 +0100)]
ALSA: hda - Allow fixed codec-probe mask

Some devices have broken BIOS and they don't set the codec probe-bit
properly after cleared by the driver.  This makes the driver skipping
the necessary codec slots.

Since BIOS update isn't always easy, now the semantics of probe_mask
option is changed a bit.  When it contains the bit 8 (0x100), the
lower bits are used to probe that slots regardless of codec-probe bits
returned by the hardware.

For example, probe_mask=0x103 will force to probe the codec slot #0
and #1.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Cleanup setting of pin_configs in patch_stac927x
Herton Ronaldo Krzesinski [Wed, 11 Feb 2009 22:33:15 +0000 (20:33 -0200)]
ALSA: hda - Cleanup setting of pin_configs in patch_stac927x

After commit "ALSA: hda - Fix restore of pin configs at resume for
STAC/IDT codecs", the introduced stac_save_pin_cfgs function checks
already for pins == NULL case, saving then default pin configs from
machine with stac92xx_save_bios_config_regs. So we can remove the
extra checks when stac927x_brd_tbl[spec->board_config] == NULL.

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoMerge branch 'fix/hda' into topic/hda
Takashi Iwai [Wed, 11 Feb 2009 23:14:34 +0000 (00:14 +0100)]
Merge branch 'fix/hda' into topic/hda

15 years agoALSA: hda - Register (new) devices at reconfig
Takashi Iwai [Wed, 11 Feb 2009 23:13:19 +0000 (00:13 +0100)]
ALSA: hda - Register (new) devices at reconfig

The devices that have been newly added during reconfig must be
registered.  Otherwise they won't be visible to user-space.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Detect multiple digital-out pins
Takashi Iwai [Wed, 11 Feb 2009 10:35:15 +0000 (11:35 +0100)]
ALSA: hda - Detect multiple digital-out pins

Detect multiple digital-out pins in snd_hda_parse_pin_defconfig().
The dig_out_pin and dig_out_type fields become arrays.

The codec parser still doesn't use this multiple pins detection, though.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Fix a wrong pin check in snd_hda_parse_pin_def_config()
Takashi Iwai [Wed, 11 Feb 2009 10:33:13 +0000 (11:33 +0100)]
ALSA: hda - Fix a wrong pin check in snd_hda_parse_pin_def_config()

Fixed a wrong pin check (a typo) for debug print of digital input pin.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoMerge branch 'fix/hda' into topic/hda
Takashi Iwai [Wed, 11 Feb 2009 08:09:29 +0000 (09:09 +0100)]
Merge branch 'fix/hda' into topic/hda

15 years agoALSA: hda - add id for Intel IbexPeak integrated HDMI codec
Wu Fengguang [Wed, 11 Feb 2009 07:22:31 +0000 (15:22 +0800)]
ALSA: hda - add id for Intel IbexPeak integrated HDMI codec

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - compute checksum in HDMI audio infoframe
Wu Fengguang [Wed, 11 Feb 2009 07:22:30 +0000 (15:22 +0800)]
ALSA: hda - compute checksum in HDMI audio infoframe

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - enable HDMI audio pin out at module loading time
Wu Fengguang [Wed, 11 Feb 2009 07:22:29 +0000 (15:22 +0800)]
ALSA: hda - enable HDMI audio pin out at module loading time

We found that enabling/disabling HDMI audio pin out at stream start/stop
time will kill the leading 500ms or so sound samples. Avoid this by enabling
pin out once and for ever at module loading time.

The leading ~500ms audio samples will still be lost when switching from
X-channel playback to Y-channel playback where X != Y. However there's no
much we can do about it: the audio infoframe has to change and it looks like
either G45 or YAMAHA requires some time to switch the configuration.

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - allow multi-channel HDMI audio playback when ELD is not present
Wu Fengguang [Wed, 11 Feb 2009 07:22:28 +0000 (15:22 +0800)]
ALSA: hda - allow multi-channel HDMI audio playback when ELD is not present

The YAMAHA AV-X1800 requires audio infoframe to include speaker-channel
mapping to play >2 channel HDMI audio. In theory that mapping should be
derived from its speaker configurations contained in its ELD. However we
currently cannot get ELD in console before the KMS functionalities are ready.
This is a more or less general issue at least in the near future. As a
workaround, we propose to allow playback of mult-channel audio when ELD
is not available.

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoMerge branch 'fix/hda' into topic/hda
Takashi Iwai [Tue, 10 Feb 2009 16:17:17 +0000 (17:17 +0100)]
Merge branch 'fix/hda' into topic/hda

15 years agoALSA: hda - Add quirk for Asus z37e (1043:8284)
Mackenzie Morgan [Tue, 10 Feb 2009 16:13:43 +0000 (17:13 +0100)]
ALSA: hda - Add quirk for Asus z37e (1043:8284)

Added a quirk for Asus Z37E for fixing suspend/hibernation problem.

Reference:
https://bugs.edge.launchpad.net/ubuntu/+source/linux/+bug/25896
http://launchpadlibrarian.net/17053575/0001-Add-quirk-for-ASUS-Z37E-to-make-sound-audible-afte.patch
https://bugtrack.alsa-project.org/alsa-bug/bug_view_page.php?bug_id=4282

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - add digital beep support for ALC268
Takashi Iwai [Tue, 10 Feb 2009 10:56:44 +0000 (11:56 +0100)]
ALSA: hda - add digital beep support for ALC268

Added the digital beep support for ALC268.  It was missing in the
last patches.

However, ALC268 has a strange pin use for widget 0x1d, which could be
used as another purpose.  So, the patch adds a check of the beep control
before creating the hook for input layer.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Clean up quirk lists
Takashi Iwai [Mon, 9 Feb 2009 16:14:52 +0000 (17:14 +0100)]
ALSA: hda - Clean up quirk lists

Clean up quirk lists with bit masks.
Also, sorted in numerical order for alc662_cfg_tbl[].

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoMerge branch 'topic/quirk-cleanup' into topic/hda
Takashi Iwai [Mon, 9 Feb 2009 16:19:21 +0000 (17:19 +0100)]
Merge branch 'topic/quirk-cleanup' into topic/hda

15 years agoALSA: Add subdevice_mask field to quirk entries
Takashi Iwai [Fri, 30 Jan 2009 16:27:45 +0000 (17:27 +0100)]
ALSA: Add subdevice_mask field to quirk entries

Introduced a new field, subdevice_mask, which specifies the bitmask
to match with the given subdevice ID.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Don't touch non-existent port f on 4-port 92hd71bxx codecs
Herton Ronaldo Krzesinski [Sun, 8 Feb 2009 21:51:28 +0000 (19:51 -0200)]
ALSA: hda - Don't touch non-existent port f on 4-port 92hd71bxx codecs

When checking for input amps on pins 0x0a, 0x0d and 0x0f, and
initializing them for 92hd71xxx codec models, we must skip nid 0x0f
for 4-port models too like with 5-port models, as it is unused
(nid 0x0f is vendor reserved in 4-port models).

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Bind new ecs mobo id (1019:2950) to model=ecs202
Herton Ronaldo Krzesinski [Sun, 8 Feb 2009 21:50:34 +0000 (19:50 -0200)]
ALSA: hda - Bind new ecs mobo id (1019:2950) to model=ecs202

This adds a new sound quirk entry (model=ecs202) for an ecs motherboard
with IDT STAC9221 codec (1019:2950).

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Fix unused variable compile warning
Takashi Iwai [Fri, 6 Feb 2009 16:34:03 +0000 (17:34 +0100)]
ALSA: hda - Fix unused variable compile warning

  sound/pci/hda/patch_realtek.c:12693: warning: unused variable ‘i’

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Use digital beep for AD codecs
Takashi Iwai [Fri, 6 Feb 2009 16:22:05 +0000 (17:22 +0100)]
ALSA: hda - Use digital beep for AD codecs

Use digital beep instead of analog pc-beep for AD codecs.
Create the beep mixer controls dynamically on demand.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Remove superfluous code in patch_realtek.c
Takashi Iwai [Fri, 6 Feb 2009 16:21:09 +0000 (17:21 +0100)]
ALSA: hda - Remove superfluous code in patch_realtek.c

codec->spec is reset in the caller side.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Clear codec->beep at release
Takashi Iwai [Fri, 6 Feb 2009 15:48:10 +0000 (16:48 +0100)]
ALSA: hda - Clear codec->beep at release

Clear codec->beep field in snd_hda_detach_beep_device() to be sure.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Add missing NULL check in snd_hda_create_spdif_in_ctls()
Takashi Iwai [Fri, 6 Feb 2009 15:21:20 +0000 (16:21 +0100)]
ALSA: hda - Add missing NULL check in snd_hda_create_spdif_in_ctls()

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoMerge branch 'fix/hda' into topic/hda
Takashi Iwai [Fri, 6 Feb 2009 15:13:34 +0000 (16:13 +0100)]
Merge branch 'fix/hda' into topic/hda

15 years agoALSA: hda - Create beep mixer controls dynamically for Realtek codecs
Takashi Iwai [Fri, 6 Feb 2009 15:11:25 +0000 (16:11 +0100)]
ALSA: hda - Create beep mixer controls dynamically for Realtek codecs

Create beep mixer controls dynamically for Realtek codecs instead of
static arrays.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Add missing COEF initialization for ALC887
Takashi Iwai [Fri, 6 Feb 2009 11:46:59 +0000 (12:46 +0100)]
ALSA: hda - Add missing COEF initialization for ALC887

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Add missing initialization for ALC272
Takashi Iwai [Fri, 6 Feb 2009 11:45:52 +0000 (12:45 +0100)]
ALSA: hda - Add missing initialization for ALC272

ALC272 needs EAPD for speaker outputs as well as other similar ALC
codecs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: enable concurrent digital outputs for ALC1200
Wu Fengguang [Fri, 6 Feb 2009 07:02:27 +0000 (15:02 +0800)]
ALSA: enable concurrent digital outputs for ALC1200

Add the SPDIF pin as slave digital out to enable concurrent
HDMI/SPDIF outputs for ASUS M3A-H/HDMI with ALC1200 codec.

Tested-by: Thomas Schneider <nailstudio@gmx.net>
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Add missing KERN_* prefix to printk
Takashi Iwai [Thu, 5 Feb 2009 14:57:55 +0000 (15:57 +0100)]
ALSA: hda - Add missing KERN_* prefix to printk

... and disable the annoying debug message.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Add quirk for another HP laptop
Takashi Iwai [Thu, 5 Feb 2009 14:02:06 +0000 (15:02 +0100)]
ALSA: hda - Add quirk for another HP laptop

Add model=laptop entry for another HP laptop (103c:3077) with AD1984A.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Add quirk for HP zenith laptop
Takashi Iwai [Thu, 5 Feb 2009 11:14:52 +0000 (12:14 +0100)]
ALSA: hda - Add quirk for HP zenith laptop

Added model=laptop for another HP laptop (103c:3072) with AD1984A codec.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda: Added stac378x digital slave out struct
Matthew Ranostay [Wed, 4 Feb 2009 22:49:41 +0000 (17:49 -0500)]
ALSA: hda: Added stac378x digital slave out struct

Added the ADATOut nid to a slave digital outs struct to allow output
via the DigOut pin.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Don't call stac92xx_parse_auto_config with wrong dig_in
Herton Ronaldo Krzesinski [Wed, 4 Feb 2009 16:37:27 +0000 (11:37 -0500)]
ALSA: hda - Don't call stac92xx_parse_auto_config with wrong dig_in

Don't use uneeded/wrong third parameter for stac92xx_parse_auto_config
in patch_stac92hd71bxx (no SPDIF in).

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Dynamic detection of dmics/dmuxes/smuxes in stac92hd71bxx
Herton Ronaldo Krzesinski [Wed, 4 Feb 2009 16:34:22 +0000 (11:34 -0500)]
ALSA: hda - Dynamic detection of dmics/dmuxes/smuxes in stac92hd71bxx

Detect the number of connected ports and number of smuxes dynamically,
looking at pin configs, using new introduced functions
stac92hd71bxx_connected_ports and stac92hd71bxx_connected_smuxes. Also
use proper input mux configuration for 4port and 5port models.

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Additional pin nids for STAC92HD71Bx and STAC92HD75Bx codecs
Herton Ronaldo Krzesinski [Wed, 4 Feb 2009 16:23:19 +0000 (11:23 -0500)]
ALSA: hda - Additional pin nids for STAC92HD71Bx and STAC92HD75Bx codecs

Current code for STAC92HD71Bx and STAC92HD75Bx doesn't consider pin
complexes 0x20 and 0x27. Also for 4 port models, nids 0x0e and 0x0f
are vendor reserved. This commit changes code so it'll consider the
additional pin complexes for models that have it, and avoid reserved
nids to be touched on 4 port models.

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoMerge branch 'fix/hda' into topic/hda
Takashi Iwai [Thu, 5 Feb 2009 06:42:28 +0000 (07:42 +0100)]
Merge branch 'fix/hda' into topic/hda

15 years agoALSA: hda - Fix misc workqueue issues
Takashi Iwai [Thu, 5 Feb 2009 06:34:28 +0000 (07:34 +0100)]
ALSA: hda - Fix misc workqueue issues

Some fixes regarding snd-hda-intel workqueue:
- Use create_singlethread_workqueue() instead of create_workqueue()
  as per-CPU work isn't required.
- Allocate workq name string properly
- Renamed the workq name to "hd-audio*" to be more obvious.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoMerge branch 'fix/hda' into topic/hda
Takashi Iwai [Wed, 4 Feb 2009 22:32:03 +0000 (23:32 +0100)]
Merge branch 'fix/hda' into topic/hda