safe/jmp/linux-2.6
14 years agoALSA: hda - add beep_mode module parameter
Jaroslav Kysela [Fri, 13 Nov 2009 17:41:52 +0000 (18:41 +0100)]
ALSA: hda - add beep_mode module parameter

The beep_mode parameter for snd-hda-intel module allows to choose among
different digital beep device registation to the input layer.

0 = do not register to the input layer
1 = register to the input layer all time
2 = use "Beep Switch" control exported to user space mixer applications

Also, introduce CONFIG_SND_HDA_INPUT_BEEP_MODE for default value.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda: beep - add missing cancel_delayed_work
Jaroslav Kysela [Wed, 4 Nov 2009 11:46:49 +0000 (12:46 +0100)]
ALSA: hda: beep - add missing cancel_delayed_work

The unregister work should be also canceled in snd_hda_detach_beep_device()
function.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda_intel: Digital PC Beep - delay input device unregistration
Jaroslav Kysela [Tue, 3 Nov 2009 13:29:50 +0000 (14:29 +0100)]
ALSA: hda_intel: Digital PC Beep - delay input device unregistration

The massive register/unregister calls for input device layer might be
overkill. Delay unregister call by one HZ as workaround.

Also, as benefit, beep->enabled variable is changed immediately now
(not from workqueue).

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda_intel: Digital PC Beep - change behaviour for input layer
Jaroslav Kysela [Wed, 21 Oct 2009 12:48:23 +0000 (14:48 +0200)]
ALSA: hda_intel: Digital PC Beep - change behaviour for input layer

Original implementation was keeping registered input device for SND_BEEP
and SND_TONE events all time. This patch changes this behaviour:
If digital PC Beep is turned off using universal control switch,
the input device is unregistered.

Explanation: The kd_mksound() send SND_BEEP and SND_TONE only to last
registered device acceping those events. It means that the HDA Intel
audio driver blocks also the internal PC Speaker device (pcspkr.c
driver) even if the HDA Beep is muted. The user can easy disable
all beeps using 'setterm -blength 0' or 'xset b off' command.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoMerge branch 'topic/beep-rename' into topic/hda
Takashi Iwai [Mon, 16 Nov 2009 10:33:41 +0000 (11:33 +0100)]
Merge branch 'topic/beep-rename' into topic/hda

14 years agoMerge branch 'fix/hda' into topic/hda
Takashi Iwai [Mon, 16 Nov 2009 10:33:35 +0000 (11:33 +0100)]
Merge branch 'fix/hda' into topic/hda

14 years agoALSA: hda - Dell Studio 1557 hd-audio quirk
Daniel J Blueman [Sat, 14 Nov 2009 18:20:04 +0000 (18:20 +0000)]
ALSA: hda - Dell Studio 1557 hd-audio quirk

Add the Dell Studio 15 (model 1557, Core i7) laptop to the hd-audio
quirk list, enabling audio.

Signed-off-by: Daniel J Blueman <daniel.blueman@gmail.com>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agosound/pci/hda/patch_via.c: work around gcc-4.0.2 ICE
akpm@linux-foundation.org [Sat, 14 Nov 2009 00:47:10 +0000 (16:47 -0800)]
sound/pci/hda/patch_via.c: work around gcc-4.0.2 ICE

sound/pci/hda/patch_via.c: In function 'via_hp_bind_automute':
sound/pci/hda/patch_via.c:2074: internal compiler error: in do_SUBST, at combine.c:462
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.

[added a comment by tiwai]

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Add another Nvidia HDMI codec id (10de:0005)
Takashi Iwai [Fri, 13 Nov 2009 07:28:03 +0000 (08:28 +0100)]
ALSA: hda - Add another Nvidia HDMI codec id (10de:0005)

Found on Nvidia 9800M GTS.

Reported-by: Chris Balcum <sherl0k@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Fix build error without CONFIG_SND_HDA_HWDEP=y
Takashi Iwai [Thu, 12 Nov 2009 09:01:18 +0000 (10:01 +0100)]
ALSA: hda - Fix build error without CONFIG_SND_HDA_HWDEP=y

CONFIG_SND_HDA_POWER_SAVE is independent from CONFIG_SND_HDA_HWDEP.
Thus snd_hda_hwdep_add_power_sysfs() needs the check of both kconfigs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Don't access invalid substream in proc file
Takashi Iwai [Thu, 12 Nov 2009 08:50:28 +0000 (09:50 +0100)]
ALSA: hda - Don't access invalid substream in proc file

The commit e3303235209c0496b490e10ab131e72a9568c153
"ALSA: hda - proc - show which I/O NID is associated to PCM device"
introduces the access to substream pointer.  But, PCMs may have no
substreams in one or both directions, and this results in NULL
dereference.  Also, print the first substream number doesn't make
sense.

This patch removes the access to the substream pointer, and reformat
to fit to the standard coding style.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda: Use model=mb5 for MacBookPro 5,2
Daniel T Chen [Wed, 11 Nov 2009 19:32:10 +0000 (14:32 -0500)]
ALSA: hda: Use model=mb5 for MacBookPro 5,2

BugLink: https://bugs.launchpad.net/bugs/462098
Until we can look closer at the verbs, let's use ALC885_MB5 for
codec SSID 0x106b4600 to enable playback and capture for MacBookPro
5,2s.

Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Add power on/off counter
Takashi Iwai [Wed, 11 Nov 2009 08:34:25 +0000 (09:34 +0100)]
ALSA: hda - Add power on/off counter

Added the power on/off counter and expose via sysfs files.
The sysfs files, power_on_acct and power_off_acct, are created under
each codec hwdep sysfs directory (e.g. /sys/class/sound/hwC0D0).
The files show the msec length of the codec power-on and power-off,
respectively.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - possible read past array alc88[02]_parse_auto_config()
Roel Kluin [Tue, 10 Nov 2009 19:11:55 +0000 (20:11 +0100)]
ALSA: hda - possible read past array alc88[02]_parse_auto_config()

The test of index `i' is after the read - too late - and
unsafe: if snd_hda_get_connections() fails in the last
iteration a read beyond the array is possible.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Add missing export for snd_hda_bus_reboot_notify
Takashi Iwai [Tue, 10 Nov 2009 17:26:12 +0000 (18:26 +0100)]
ALSA: hda - Add missing export for snd_hda_bus_reboot_notify

... forgot to add for modules.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Avoid quirk for HP dc5750
Takashi Iwai [Tue, 10 Nov 2009 15:08:45 +0000 (16:08 +0100)]
ALSA: hda - Avoid quirk for HP dc5750

The present quirk for HP dc5750 seems broken and maps the pins wrongly.
Since the auto-parser works well for this device, set the default entry
to use model=auto.

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

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - proc - show which I/O NID is associated to PCM device
Jaroslav Kysela [Tue, 10 Nov 2009 13:53:02 +0000 (14:53 +0100)]
ALSA: hda - proc - show which I/O NID is associated to PCM device

Output something like:

Node 0x02 [Audio Output] wcaps 0x11: Stereo
  Device: name="ALC888 Analog", type="Audio", device=0, substream=0
  Converter: stream=0, channel=0
  ...

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Add reboot notifier to each codec
Takashi Iwai [Tue, 10 Nov 2009 15:02:29 +0000 (16:02 +0100)]
ALSA: hda - Add reboot notifier to each codec

Add reboot notifier to each codec so that it can do some workarounds
needed for reboot.

So far, patch_sigmatel.c calls its shutup routine for avoiding noises
at reboot on some HP machines.

References: Novell bnc#544779
http://bugzilla.novell.com/show_bug.cgi?id=544779

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Tweak OLPC XO-1.5 microphone bias
Daniel Drake [Mon, 9 Nov 2009 15:17:24 +0000 (15:17 +0000)]
ALSA: hda - Tweak OLPC XO-1.5 microphone bias

Our contacts at Conexant suggested that we reduce the external
microphone bias to 50% in order to center the input signal with
the DC input range of the codec. This is because the microphone
port is DC coupled for potential use with sensors.

Signed-off-by: Daniel Drake <dsd@laptop.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda: Use model=auto quirk for Sony VAIO VGN-FW170J using ALC262
Daniel T Chen [Mon, 9 Nov 2009 00:03:55 +0000 (19:03 -0500)]
ALSA: hda: Use model=auto quirk for Sony VAIO VGN-FW170J using ALC262

BugLink: https://bugs.launchpad.net/bugs/478309
The internal microphone on this VAIO model does not work unless the
"auto" quirk is used.

Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Don't initialize CORB/RIRB for single_cmd mode
Takashi Iwai [Sat, 7 Nov 2009 08:49:04 +0000 (09:49 +0100)]
ALSA: hda - Don't initialize CORB/RIRB for single_cmd mode

So far, CORB/RIRB still remains even if the driver is switched to the
single_cmd mode.  The specification says that this should be disabled,
but I hoped this isn't the case; indeed most devices worked together with
CORB/RIRB.

However, Poulsbo (US15W) seems problematic with this setup, and it
requires to disable CORB/RIRB when single_cmd is used.

Now this patch disables CORB/RIRB initialization when the single_cmd
mode is used.  Also the unsolicited event is disabled because it can't
work without RIRB.

Reported-and-tested-by: Troy Kisky <troy.kisky@boundarydevices.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Reset pins of IDT/STAC codecs at free
Takashi Iwai [Fri, 6 Nov 2009 14:47:50 +0000 (15:47 +0100)]
ALSA: hda - Reset pins of IDT/STAC codecs at free

Some laptops cause annoying clicks or noises at shutdown/reboot since
the speaker pin is set still high.  Apply the same procedure used for
the suspend to avoid such clicks/noises for freeing the codec, too.

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

14 years agoALSA: hda, move hp_bseries_system
Randy Dunlap [Thu, 5 Nov 2009 17:22:30 +0000 (09:22 -0800)]
ALSA: hda, move hp_bseries_system

Function hp_bseries_system() is always used, outside of
CONFIG_ boundaries/controls, so move it.

sound/pci/hda/patch_sigmatel.c:5458: error: implicit declaration of function 'hp_bseries_system'

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: rename "PC Speaker" controls to "Speaker"
Jaroslav Kysela [Wed, 4 Nov 2009 13:30:36 +0000 (14:30 +0100)]
ALSA: rename "PC Speaker" controls to "Speaker"

To unify control names, rename "PC Speaker" to "Speaker" for PPC ALSA drivers.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: rename "PC Speaker" and "PC Beep" controls to "Beep"
Jaroslav Kysela [Tue, 3 Nov 2009 14:47:25 +0000 (15:47 +0100)]
ALSA: rename "PC Speaker" and "PC Beep" controls to "Beep"

To avoid confusion in control names for the standard analog PC Beep generator
using a small Internal PC Speaker, rename all related "PC Speaker" and "PC
Beep" controls to "Beep" only. This name is more universal and can be also
used on more platforms without confusion.

Introduce also "Internal Speaker" in ControlNames.txt for systems with
full-featured build-in internal speaker.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoMerge branch 'fix/hda' into topic/hda
Takashi Iwai [Thu, 5 Nov 2009 07:56:20 +0000 (08:56 +0100)]
Merge branch 'fix/hda' into topic/hda

14 years agoALSA: hda - Add OLPC XO-1.5 PCI ID
Daniel Drake [Wed, 4 Nov 2009 10:11:07 +0000 (10:11 +0000)]
ALSA: hda - Add OLPC XO-1.5 PCI ID

The XO-1.5 laptop now has a unique subvendor/subproduct ID, which can
be used to automatically select the correct CXT5066 configuration.

Signed-off-by: Daniel Drake <dsd@laptop.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: sh: add SuperH DAC audio driver for ALSA V4
Rafael Ignacio Zurita [Tue, 3 Nov 2009 20:16:27 +0000 (17:16 -0300)]
ALSA: sh: add SuperH DAC audio driver for ALSA V4

This is a port of the sound/oss/sh_dac_audio.c driver.
The driver uses an on-chip 8-bit D/A converter, which has a speaker connected
to one of its channels, found in several ancient HP machines.
For interrupts it uses a high-resolution timer (hrtimer).
Tested on SH7709 based hp6xx (HP Jornada 680/690 and HP Palmtop 620lx/660lx).

Also, since OSS Emulation works, the old OSS sound/oss/sh_dac_audio.c driver
would be obsolete soon, and it could be removed.

Signed-off-by: Rafael Ignacio Zurita <rizurita@yahoo.com>
Acked-by: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Enable GPIO control for mute LED on HP systems
Vitaliy Kulikov [Wed, 4 Nov 2009 06:57:45 +0000 (07:57 +0100)]
ALSA: hda - Enable GPIO control for mute LED on HP systems

This patch enables GPIO to control mute LED indicator on the HP systems
with the special string in BIOS and applies it with the correct polarity on
HP B-series systems.

It also restores configuration of the pin intended as the second Headphone
on HP B-series systems but configured as something else in the BIOS to
pass MS DTM.

Signed-off-by: Vitaliy Kulikov <Vitaliy.Kulikov@idt.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Don't check invalid HP pin
Takashi Iwai [Mon, 2 Nov 2009 13:23:15 +0000 (14:23 +0100)]
ALSA: hda - Don't check invalid HP pin

alc_automute_pin() might be called even if any HP pin is defined, and
it will result in verbs with NID=0.

This patch adds a check for the validity of HP widget before issuing
any verbs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda: Use quirk mask for Dell Inspiron Mini9/Vostro A90 using ALC268
Daniel T Chen [Sun, 1 Nov 2009 23:32:29 +0000 (18:32 -0500)]
ALSA: hda: Use quirk mask for Dell Inspiron Mini9/Vostro A90 using ALC268

BugLink: https://bugs.launchpad.net/bugs/368629
We should use a quirk mask for these Dell Inspiron Mini9s and Vostro
A90s, as the model=dell quirk appears to enable audio on them.

Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: snd-pcsp: add nopcm mode
Stas Sergeev [Sun, 1 Nov 2009 10:13:19 +0000 (11:13 +0100)]
ALSA: snd-pcsp: add nopcm mode

Currently, if the high-res timers are unavailable, snd-pcsp does not
initialize. People who choose it over pcspkr, loose their console beeps
in that case and get annoyed.
With this patch, the console beeps remain regardless of the high-res
timers. Additionally, the "nopcm" modparam is added to forcibly
disable the PCM capabilities of the driver.

Signed-off-by: Stas Sergeev <stsp@aknet.ru>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoMerge branch 'fix/misc' into topic/misc
Takashi Iwai [Sun, 1 Nov 2009 10:11:07 +0000 (11:11 +0100)]
Merge branch 'fix/misc' into topic/misc

14 years agoALSA: hda - Switch to polling mode before disabling MSI
Takashi Iwai [Fri, 30 Oct 2009 12:21:49 +0000 (13:21 +0100)]
ALSA: hda - Switch to polling mode before disabling MSI

When any codec communication error happens, try to switch to the polling
mode first before turning off MSI.  MSI gets more stable nowadays, thus
we should keep it on as much as possible.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: es18xx: remove snd_audiodrive structure
Krzysztof Helt [Sun, 25 Oct 2009 10:10:01 +0000 (11:10 +0100)]
ALSA: es18xx: remove snd_audiodrive structure

Remove intermediate snd_audiodrive structure between
snd_card structure and snd_es18xx. This reduces size of
source code and binary driver.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: es18xx: remove snd_card pointer from snd_es18xx structure
Krzysztof Helt [Sun, 25 Oct 2009 10:05:19 +0000 (11:05 +0100)]
ALSA: es18xx: remove snd_card pointer from snd_es18xx structure

The snd_card pointer is redundant and code can be easily
changed to work without it.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agosound: remove OSS Ensoniq SoundScape driver
Krzysztof Helt [Sat, 24 Oct 2009 15:47:33 +0000 (17:47 +0200)]
sound: remove OSS Ensoniq SoundScape driver

The OSS driver for Ensoniq SoundScape cards is broken after conversion
to mutexes and a new ALSA snd-sscape driver handles all devices handled
by the OSS one.

The ALSA driver was tested with these cards:
Spea V7 MediaFX
Ensoniq Soundscape Elite
Ensoniq Soundscape VIVO (this card is not handled by the OSS driver)

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agosound: via82xx: deactivate DXS controls of inactive streams
Clemens Ladisch [Thu, 22 Oct 2009 07:04:09 +0000 (09:04 +0200)]
sound: via82xx: deactivate DXS controls of inactive streams

Activate the DXS volume controls only when the corresponding stream is
being used.  This makes the behaviour consistent with the other drivers
that have per-stream volume controls.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Add a proper ifdef to a debug code
Takashi Iwai [Fri, 30 Oct 2009 11:31:39 +0000 (12:31 +0100)]
ALSA: hda - Add a proper ifdef to a debug code

Added a proper ifdef CONFIG_SND_DEBUG_VERBOSE to avoid a compile warning:
  sound/pci/hda/patch_intelhdmi.c:406: warning: â€˜hdmi_get_channel_count’ defined but not used

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: snd-usb-caiaq: Bump version number to 1.3.20
Mark Hills [Sat, 24 Oct 2009 11:59:37 +0000 (12:59 +0100)]
ALSA: snd-usb-caiaq: Bump version number to 1.3.20

Signed-off-by: Mark Hills <mark@pogo.org.uk>
Acked-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: snd-usb-caiaq: Lock on stream start/unpause
Mark Hills [Sat, 24 Oct 2009 11:59:36 +0000 (12:59 +0100)]
ALSA: snd-usb-caiaq: Lock on stream start/unpause

Fix a bug which can result in white noise from the driver after stream
start or unpause.

Signed-off-by: Mark Hills <mark@pogo.org.uk>
Acked-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: snd-usb-caiaq: Missing lock around use of buffer positions
Mark Hills [Sat, 24 Oct 2009 11:59:35 +0000 (12:59 +0100)]
ALSA: snd-usb-caiaq: Missing lock around use of buffer positions

Fix a race which causes snd_pcm_update_hw_ptr_pos() to report a bug.

Signed-off-by: Mark Hills <mark@pogo.org.uk>
Acked-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: Cleanup redundant tests on unsigned
Roel Kluin [Fri, 23 Oct 2009 14:03:08 +0000 (16:03 +0200)]
ALSA: Cleanup redundant tests on unsigned

The variables are unsigned so the test `>= 0' is always true,
the `< 0' test always fails. In these cases the other part of
the test catches wrapped values.

In dac_audio_write() there does not occur a test for wrapped
values, but the test appears redundant.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: VIA HDA: Add support for VT1818S.
Lydia Wang [Tue, 20 Oct 2009 05:18:04 +0000 (13:18 +0800)]
ALSA: VIA HDA: Add support for VT1818S.

Add support for VT1818S codec, which is similiar with VT1708S.

Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: sound/parisc: Move dereference after NULL test
Julia Lawall [Sat, 17 Oct 2009 06:33:47 +0000 (08:33 +0200)]
ALSA: sound/parisc: Move dereference after NULL test

If the NULL test on h is needed in snd_harmony_mixer_init, then the
dereference should be after the NULL test.

Actually, there is a sequence of calls: snd_harmony_create, then
snd_harmony_pcm_init, and then snd_harmony_mixer_init.  snd_harmony_create
initializes h, but may indeed leave it as NULL.  There was no NULL test at
the beginning of snd_harmony_pcm_init, so I have added one.  The NULL test
in snd_harmony_mixer_init is then not necessary, but in case the ordering
of the calls changes, I have left it, and moved the dereference after it.

A simplified version of the semantic match that detects this problem is as
follows (http://coccinelle.lip6.fr/):

// <smpl>
@match exists@
expression x, E;
identifier fld;
@@

* x->fld
  ... when != \(x = E\|&x\)
* x == NULL
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: sound: Move dereference after NULL test and drop unnecessary NULL tests
Julia Lawall [Sat, 17 Oct 2009 06:33:22 +0000 (08:33 +0200)]
ALSA: sound: Move dereference after NULL test and drop unnecessary NULL tests

In pcm.c, if the NULL test on pcm is needed, then the dereference should be
after the NULL test.

In dummy.c and ali5451.c, the context of the calls to
snd_card_dummy_new_mixer and snd_ali_free_voice show that dummy and pvoice,
respectively cannot be NULL.

A simplified version of the semantic match that detects this problem is as
follows (http://coccinelle.lip6.fr/):

// <smpl>
@match exists@
expression x, E;
identifier fld;
@@

* x->fld
  ... when != \(x = E\|&x\)
* x == NULL
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda_intel: Add the Linux device ID for NVIDIA HDA controller
peer chen [Thu, 15 Oct 2009 08:37:47 +0000 (16:37 +0800)]
ALSA: hda_intel: Add the Linux device ID for NVIDIA HDA controller

Add the generic device ID for NVIDIA HDA controller.

Signed-off-by: Peer Chen <peerchen@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: pcsp - Fix nforce workaround
Stas Sergeev [Fri, 30 Oct 2009 10:51:24 +0000 (11:51 +0100)]
ALSA: pcsp - Fix nforce workaround

The attached patch fixes the problems introduced in this commit:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=eea0579fc85e64e9f05361d5aacf496fe7a151aa

- Fix nForce workaround by honouring the pointer_update var
- Revert "ns" to u64, as per the hrtimer API
- Revert to the zero-delay timer startup, since I can't reproduce any
  problem with it (please, give me the hint!)

Signed-off-by: Stas Sergeev <stsp@aknet.ru>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - remove static intelhdmi configurations
Wu Fengguang [Fri, 30 Oct 2009 10:46:22 +0000 (11:46 +0100)]
ALSA: hda - remove static intelhdmi configurations

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - auto parse intelhdmi cvt/pin configurations
Wu Fengguang [Fri, 30 Oct 2009 10:45:35 +0000 (11:45 +0100)]
ALSA: hda - auto parse intelhdmi cvt/pin configurations

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - get intelhdmi max channels from widget caps
Wu Fengguang [Fri, 30 Oct 2009 10:45:04 +0000 (11:45 +0100)]
ALSA: hda - get intelhdmi max channels from widget caps

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - vectorize intelhdmi
Wu Fengguang [Fri, 30 Oct 2009 10:44:26 +0000 (11:44 +0100)]
ALSA: hda - vectorize intelhdmi

The Intel IbexPeak HDMI codec supports 2 converters and 3 pins,
which requires converting the cvt_nid/pin_nid to arrays.

The active pin number (the one connected with a live HDMI monitor/sink)
will be dynamically identified on hotplug events.

It exports two HDMI devices, so that user space can choose the A/V pipe
for sending the audio samples.

It's still undefined behavior when there are two active monitors
connected and routed to the same audio converter.

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - reorder intelhdmi prepare/cleanup callbacks
Wu Fengguang [Fri, 30 Oct 2009 10:43:03 +0000 (11:43 +0100)]
ALSA: hda - reorder intelhdmi prepare/cleanup callbacks

No behavior change.

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - use pcm prepare/cleanup callbacks for intelhdmi
Wu Fengguang [Fri, 30 Oct 2009 10:42:18 +0000 (11:42 +0100)]
ALSA: hda - use pcm prepare/cleanup callbacks for intelhdmi

Remove pcm callbacks open/close in favor of the prepare/cleanup.

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - remove intelhdmi dependency on multiout
Wu Fengguang [Fri, 30 Oct 2009 10:41:44 +0000 (11:41 +0100)]
ALSA: hda - remove intelhdmi dependency on multiout

We'll be managing multiple HDMI audio sources/sinks on our own.
So remove multiout dependency from intelhdmi.

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - convert intelhdmi global references to local parameters
Wu Fengguang [Fri, 30 Oct 2009 10:40:40 +0000 (11:40 +0100)]
ALSA: hda - convert intelhdmi global references to local parameters

No behavior change.

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - allow up to 4 HDMI devices
Wu Fengguang [Fri, 30 Oct 2009 10:40:03 +0000 (11:40 +0100)]
ALSA: hda - allow up to 4 HDMI devices

The new Intel HDMI codec supports 2 independant HDMI/DisplayPort pipes.
We'll be exporting them as 2 pcm devices. So bump up the allowed number
of HDMI devices.

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - vectorize get_empty_pcm_device()
Wu Fengguang [Fri, 30 Oct 2009 10:38:26 +0000 (11:38 +0100)]
ALSA: hda - vectorize get_empty_pcm_device()

This unifies the code and data structure,
and makes it easy to add more HDMI devices.

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - select IbexPeak handler for Calpella
Wu Fengguang [Fri, 30 Oct 2009 10:34:19 +0000 (11:34 +0100)]
ALSA: hda - select IbexPeak handler for Calpella

An earlier patch merely adds id for 0x80862804.
It has 2/3 cvt/pin nodes and shall be tied to the IbexPeak handler.

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: SND_CS5535AUDIO: Remove the X86 platform dependency
Wu Zhangjin [Thu, 15 Oct 2009 02:22:54 +0000 (10:22 +0800)]
ALSA: SND_CS5535AUDIO: Remove the X86 platform dependency

SND_CS5535AUDIO is available on Loongson(MIPS compatible) family
machines, and checked it with ARCH=x86_64, no relative compiling
warnings & errors, so, remove the platform dependency directly.

Reported-by: rixed@happyleptic.org
Acked-by: Andres Salomon <dilinger@collabora.co.uk>
Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Fix capture source checks for ALC662/663 codecs
Takashi Iwai [Wed, 14 Oct 2009 16:25:23 +0000 (18:25 +0200)]
ALSA: hda - Fix capture source checks for ALC662/663 codecs

The ALC662/663 parser calls wrongly alc880_auto_create_input_ctls()
to check the capture source selections.  This should be alc882, instead.

Reference: Novell bnc#546918
http://bugzilla.novell.com/show_bug.cgi?id=546918

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: HDA VIA: Remove 48k sample rate limit for S/PDIF
Logan Li [Wed, 14 Oct 2009 02:10:38 +0000 (10:10 +0800)]
ALSA: HDA VIA: Remove 48k sample rate limit for S/PDIF

48 kHz limit is for slightly better stability, and sample rates other
than 48k (like 96k/192k) are for better sound quality.
We choose better quality, so remove the 48k limit.

Signed-off-by: Logan Li <loganli@viatech.com.cn>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoMerge branch 'fix/hda' into for-linus
Takashi Iwai [Tue, 13 Oct 2009 14:09:56 +0000 (16:09 +0200)]
Merge branch 'fix/hda' into for-linus

14 years agoALSA: hda - Allow all formats as default for Nvidia HDMI
Takashi Iwai [Tue, 13 Oct 2009 14:07:59 +0000 (16:07 +0200)]
ALSA: hda - Allow all formats as default for Nvidia HDMI

In the commit f0613d5752d8f7d1d02e6d40947f38877fdf9c90
    ALSA: hda - Add full rates/formats support for Nvidia HDMI
the flag LIMITIED_RATE_FMT_SUPPORT was set as default, as I forgot
to clear before commit.

Let's enable all formats/rates as default.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: aaci: ARM1176 aaci-pl041 AC97 register read timeout
Philby John [Tue, 13 Oct 2009 11:00:22 +0000 (16:30 +0530)]
ALSA: aaci: ARM1176 aaci-pl041 AC97 register read timeout

After a reboot on an ARM1176 which amounts to a softreset, it has been
noted that the ALSA driver does not get registered and the probe fails
with the error "aaci-pl041 fpga:04: ac97 read back fail". In the process
of reading from a register the SL1TxBusy bit is set indicating that the
transceiver is busy and remains so until the default timeout occurs.
Set the Power down register 0x26 to an arbitrary value as specified in
the PL041 manual (page: 3-18) so that AACISL1TX/AACISL2TX registers take
their default state.

Signed-off-by: Philby John <pjohn@in.mvista.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Fix volume-knob setup for Dell laptops with STAC9228
Takashi Iwai [Tue, 13 Oct 2009 13:32:21 +0000 (15:32 +0200)]
ALSA: hda - Fix volume-knob setup for Dell laptops with STAC9228

The volume-knob widget needs to be set with 0x7f instead of 0xff
for Dell laptops with STAC9228 codec, too, like the previous commit.

Reference: Novell bnc#545013
http://bugzilla.novell.com/show_bug.cgi?id=545013

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Fix mute sound with STAC9227/9228 codecs
Takashi Iwai [Sun, 11 Oct 2009 15:38:29 +0000 (17:38 +0200)]
ALSA: hda - Fix mute sound with STAC9227/9228 codecs

On FSC laptops, the sound gets muted gradually when the volume is chnaged.
This is due to the wrong volume-knob widget setup.  The delta bit (bit 7)
shouldn't be set for these devices.

This patch adds a new quirk to set the value 0x7f to the widget 0x24
instead of 0xff.

Reference: Novell bnc#546006
http://bugzilla.novell.com/show_bug.cgi?id=546006

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: bt87x - Add a whitelist for Pinnacle PCTV (11bd:0012)
Takashi Iwai [Tue, 13 Oct 2009 07:34:28 +0000 (09:34 +0200)]
ALSA: bt87x - Add a whitelist for Pinnacle PCTV (11bd:0012)

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: snd-usb-us122l: corrent error number for not probing US-144 on ehci-hcd
Tobias Hansen [Mon, 12 Oct 2009 14:24:15 +0000 (16:24 +0200)]
ALSA: snd-usb-us122l: corrent error number for not probing US-144 on ehci-hcd

snd-usb-us122l: corrent error number for not probing US-144 on ehci-hcd
This is the correct error number for telling the USB system that this
driver is not for the device.

Signed-off-by: Tobias Hansen <Tobias.Hansen@physik.uni-hamburg.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Fix overflow of spec->init_verbs in patch_realtek.c
Takashi Iwai [Tue, 13 Oct 2009 06:06:55 +0000 (08:06 +0200)]
ALSA: hda - Fix overflow of spec->init_verbs in patch_realtek.c

ALC861-VD lenovo model causes overflow of spec->init_verbs entries due to
the recent changes.  Simply increase the array size to avoid the overflow.

Reported-by: Luca Tettamanti <kronos.it@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: SND_CS5535AUDIO: Remove the X86 platform dependency
Wu Zhangjin [Sat, 10 Oct 2009 15:53:49 +0000 (23:53 +0800)]
ALSA: SND_CS5535AUDIO: Remove the X86 platform dependency

SND_CS5535AUDIO is available on Loongson(MIPS compatible) family
machines, and checked it with ARCH=x86_64, no relative compiling
warnings & errors, so, remove the platform dependency directly.

Reported-by: rixed@happyleptic.org
Acked-by: Andres Salomon <dilinger@collabora.co.uk>
Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agosound: use semicolons to end statements
Stephen Rothwell [Mon, 12 Oct 2009 04:56:17 +0000 (15:56 +1100)]
sound: use semicolons to end statements

Fixes:

sound/pci/hda/patch_via.c: In function 'patch_vt1718S':
sound/pci/hda/patch_via.c:4951: error: expected expression before 'return'
sound/pci/hda/patch_via.c: In function 'patch_vt1716S':
sound/pci/hda/patch_via.c:5441: error: expected expression before 'return'
sound/pci/hda/patch_via.c: In function 'patch_vt2002P':
sound/pci/hda/patch_via.c:5794: error: expected expression before 'return'
sound/pci/hda/patch_via.c: In function 'patch_vt1812':
sound/pci/hda/patch_via.c:6148: error: expected expression before 'return'

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: ice1724 - Make call to set hw params succeed on ESI Juli@
David Henningsson [Sun, 11 Oct 2009 09:37:22 +0000 (11:37 +0200)]
ALSA: ice1724 - Make call to set hw params succeed on ESI Juli@

If two streams are started immediately after one another (such as a
playback and a recording stream), the call to set hw params fails with
EBUSY. This patch makes the call succeed, so playback and recording will
work properly.

Signed-off-by: David Henningsson <launchpad.web@epost.diwic.se>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: snd_dma_pointer workaround for chipsets with buggy DMA
Krzysztof Helt [Sun, 11 Oct 2009 10:48:00 +0000 (12:48 +0200)]
ALSA: snd_dma_pointer workaround for chipsets with buggy DMA

The chipsets with the isa_dma_bridge_buggy set do not stop DMA during
DMA counter reads. The DMA counter is read in two 8-bit read steps
on x86 platform. Sometimes, such reads happen during higher byte
change so the lower byte is already decremented (rolled over) but
the higher byte is not. It introduces an error that position is
moved 256 bytes ahead of the true position. Thus, the next DMA
position read can return a lower value then the previous read.
If the DMA position is decreased (reversed) the ALSA subsystem is
tricked into the playback underrun error and resets the playback.
It results in a "pop" during a playback.

Work around the issue by reading the counter twice and choosing a higher
value.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: wss: reuse CS4231 controls for AD1848
Krzysztof Helt [Sun, 11 Oct 2009 10:38:49 +0000 (12:38 +0200)]
ALSA: wss: reuse CS4231 controls for AD1848

The C4231 control set is a superset of the AD1848 control
set so reuse the CS4231 controls definitions for the AD1848.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: HDA VIA: Only cosmetic changes
Lydia Wang [Sat, 10 Oct 2009 11:08:55 +0000 (19:08 +0800)]
ALSA: HDA VIA: Only cosmetic changes

Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn>
Signed-off-by: Logan Li <loganli@viatech.com.cn>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: HDA VIA: comments: update copyright, changeset, etc.
Lydia Wang [Sat, 10 Oct 2009 11:08:52 +0000 (19:08 +0800)]
ALSA: HDA VIA: comments: update copyright, changeset, etc.

Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn>
Signed-off-by: Logan Li <loganli@viatech.com.cn>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: HDA VIA: Change PW4 connect select default to to MW0.
Lydia Wang [Sat, 10 Oct 2009 11:08:50 +0000 (19:08 +0800)]
ALSA: HDA VIA: Change PW4 connect select default to to MW0.

According to customer request, hp should be default to redirected mode,
i.e. PW4 connect select default to to MW0.

Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn>
Signed-off-by: Logan Li <loganli@viatech.com.cn>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: HDA VIA: rename vt1708_control_templates[].
Lydia Wang [Sat, 10 Oct 2009 11:08:49 +0000 (19:08 +0800)]
ALSA: HDA VIA: rename vt1708_control_templates[].

To via_control_templates[].

Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn>
Signed-off-by: Logan Li <loganli@viatech.com.cn>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: HDA VIA: Add VT1812 support.
Lydia Wang [Sat, 10 Oct 2009 11:08:46 +0000 (19:08 +0800)]
ALSA: HDA VIA: Add VT1812 support.

Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn>
Signed-off-by: Logan Li <loganli@viatech.com.cn>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: HDA VIA: Add VT2002P support.
Lydia Wang [Sat, 10 Oct 2009 11:08:43 +0000 (19:08 +0800)]
ALSA: HDA VIA: Add VT2002P support.

Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn>
Signed-off-by: Logan Li <loganli@viatech.com.cn>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: HDA VIA: Add VT1716S support.
Lydia Wang [Sat, 10 Oct 2009 11:08:41 +0000 (19:08 +0800)]
ALSA: HDA VIA: Add VT1716S support.

Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn>
Signed-off-by: Logan Li <loganli@viatech.com.cn>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: HDA VIA: Add VT1828S and VT2020 support.
Lydia Wang [Sat, 10 Oct 2009 11:08:39 +0000 (19:08 +0800)]
ALSA: HDA VIA: Add VT1828S and VT2020 support.

Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn>
Signed-off-by: Logan Li <loganli@viatech.com.cn>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: HDA VIA: Add VT1718S support.
Lydia Wang [Sat, 10 Oct 2009 11:08:34 +0000 (19:08 +0800)]
ALSA: HDA VIA: Add VT1718S support.

Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn>
Signed-off-by: Logan Li <loganli@viatech.com.cn>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: HDA VIA: Move backdoor verbs to vt17xx_volume_init_verb
Lydia Wang [Sat, 10 Oct 2009 11:08:32 +0000 (19:08 +0800)]
ALSA: HDA VIA: Move backdoor verbs to vt17xx_volume_init_verb

As init verbs, vt17xx_volume_init_verb is a better place to hold them.

Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn>
Signed-off-by: Logan Li <loganli@viatech.com.cn>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: HDA VIA: Replace MIC_BOOST_VOLUME.
Lydia Wang [Sat, 10 Oct 2009 11:08:31 +0000 (19:08 +0800)]
ALSA: HDA VIA: Replace MIC_BOOST_VOLUME.

With snd_hda_override_amp_caps.

Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn>
Signed-off-by: Logan Li <loganli@viatech.com.cn>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: HDA VIA: Modify vt1709_auto_create_multi_out_ctls.
Lydia Wang [Sat, 10 Oct 2009 11:08:29 +0000 (19:08 +0800)]
ALSA: HDA VIA: Modify vt1709_auto_create_multi_out_ctls.

Rewrite nid_vol/mute assignment for clearity, and check line connection
before adding control for it.

Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn>
Signed-off-by: Logan Li <loganli@viatech.com.cn>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: HDA VIA: Modify vt1708_auto_create_multi_out_ctls.
Lydia Wang [Sat, 10 Oct 2009 11:08:27 +0000 (19:08 +0800)]
ALSA: HDA VIA: Modify vt1708_auto_create_multi_out_ctls.

Rewrite nid_vol/mute assignment for clearity, and check line connection
before adding control for it.

Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn>
Signed-off-by: Logan Li <loganli@viatech.com.cn>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: HDA VIA: Replace via_playback_pcm_prepare/cleanup
Lydia Wang [Sat, 10 Oct 2009 11:08:21 +0000 (19:08 +0800)]
ALSA: HDA VIA: Replace via_playback_pcm_prepare/cleanup

Replaced with via_playback_multi_pcm_prepare/cleanup to support
multi-stream operations

Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn>
Signed-off-by: Logan Li <loganli@viatech.com.cn>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: HDA VIA: Modify vt1708_set_pinconfig_connect function.
Lydia Wang [Sat, 10 Oct 2009 11:08:19 +0000 (19:08 +0800)]
ALSA: HDA VIA: Modify vt1708_set_pinconfig_connect function.

like seqassoc 0xff, seqassoc 0xf0 of vt1708 should override Port
Connectivity field into 'AC_JACK_PORT_COMPLEX'

Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn>
Signed-off-by: Logan Li <loganli@viatech.com.cn>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: HDA VIA: Add Jack detect feature for VT1708.
Lydia Wang [Sat, 10 Oct 2009 11:08:17 +0000 (19:08 +0800)]
ALSA: HDA VIA: Add Jack detect feature for VT1708.

VT1708 does not support unsolicited response, but we need hp detect to
automute speaker. Implemented in workqueue.

Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn>
Signed-off-by: Logan Li <loganli@viatech.com.cn>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: HDA VIA: Refresh front playback mute in via_hp_automute.
Lydia Wang [Sat, 10 Oct 2009 11:08:15 +0000 (19:08 +0800)]
ALSA: HDA VIA: Refresh front playback mute in via_hp_automute.

Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn>
Signed-off-by: Logan Li <loganli@viatech.com.cn>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: HDA VIA: Add VIA_JACK_EVENT process in via_unsol_event.
Lydia Wang [Sat, 10 Oct 2009 11:08:01 +0000 (19:08 +0800)]
ALSA: HDA VIA: Add VIA_JACK_EVENT process in via_unsol_event.

Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn>
Signed-off-by: Logan Li <loganli@viatech.com.cn>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: HDA VIA: When changing input source, update power state.
Lydia Wang [Sat, 10 Oct 2009 11:07:55 +0000 (19:07 +0800)]
ALSA: HDA VIA: When changing input source, update power state.

Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn>
Signed-off-by: Logan Li <loganli@viatech.com.cn>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: HDA VIA: Add smart5.1 function.
Lydia Wang [Sat, 10 Oct 2009 11:07:52 +0000 (19:07 +0800)]
ALSA: HDA VIA: Add smart5.1 function.

Smart 5.1 is for 3-jacks model, to reuse input pins as outputs.
While off, they act as "line out" / "line in" / "mic in".
While on, they acts as "line out" / "back left/right" / "center/lfe".

Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn>
Signed-off-by: Logan Li <loganli@viatech.com.cn>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: HDA VIA: Rewrite via_independent_hp_put
Lydia Wang [Sat, 10 Oct 2009 11:07:47 +0000 (19:07 +0800)]
ALSA: HDA VIA: Rewrite via_independent_hp_put

Use hp_independent_mode_index to store hp index, and simplify function
via_independent_hp_put with it.

Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn>
Signed-off-by: Logan Li <loganli@viatech.com.cn>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: HDA VIA: Change VT1708S & VT1702 hp mode controls
Lydia Wang [Sat, 10 Oct 2009 11:07:43 +0000 (19:07 +0800)]
ALSA: HDA VIA: Change VT1708S & VT1702 hp mode controls

For VT1708S and VT1702, deactivate "Headphone Playback Volume" and
"Headphone Playback Mute" control if "Independent HP" mode is OFF.
and rename VT1702 "Independent HP" text.

Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn>
Signed-off-by: Logan Li <loganli@viatech.com.cn>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: HDA VIA: Remove unused argument of via_new_analog_input
Lydia Wang [Sat, 10 Oct 2009 11:07:39 +0000 (19:07 +0800)]
ALSA: HDA VIA: Remove unused argument of via_new_analog_input

Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn>
Signed-off-by: Logan Li <loganli@viatech.com.cn>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: HDA VIA: Add low current mode for power saving.
Lydia Wang [Sat, 10 Oct 2009 11:07:37 +0000 (19:07 +0800)]
ALSA: HDA VIA: Add low current mode for power saving.

For VT1708B, VT1708S and VT1702, enter low current mode if no analog
stream is opened and all aa path mute.

Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn>
Signed-off-by: Logan Li <loganli@viatech.com.cn>
Signed-off-by: Takashi Iwai <tiwai@suse.de>