safe/jmp/linux-2.6
14 years agoALSA: hda - Overwrite pin config on intel DG45ID board.
Alexey Fisher [Sat, 12 Dec 2009 09:16:41 +0000 (11:16 +0200)]
ALSA: hda - Overwrite pin config on intel DG45ID board.

The pin config provided by BIOS have some problems:
0x0221401f: [Jack] HP Out at Ext Front  <-- other association and sequence
0x02a19020: [Jack] Mic at Ext Front     <-- other association
0x01113014: [Jack] Speaker at Ext Rear  <-- line out (not speaker)
0x01114010: [Jack] Speaker at Ext Rear  <-- line out
0x01a19030: [Jack] Mic at Ext Rear      <-- other association
0x01111012: [Jack] Speaker at Ext Rear  <-- line out
0x01116011: [Jack] Speaker at Ext Rear  <-- line out
0x40f000f0: [N/A] Other at Ext N/A
0x40f000f0: [N/A] Other at Ext N/A
0x40f000f0: [N/A] Other at Ext N/A
0x40f000f0: [N/A] Other at Ext N/A
0x40f000f0: [N/A] Other at Ext N/A
0x01451140: [Jack] SPDIF Out at Ext Rear
0x40f000f0: [N/A] Other at Ext N/A

just overwrite it.

Signed-off-by: Alexey Fisher <bug-track@fisher-privat.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agointelhdmi - dont power off HDA link
Wu Fengguang [Fri, 11 Dec 2009 12:15:11 +0000 (20:15 +0800)]
intelhdmi - dont power off HDA link

For codecs without EPSS support (G45/IbexPeak), the hotplug event will
be lost if the HDA is powered off during the time. After that the pin
presence detection verb returns inaccurate info.

So always power-on HDA link for !EPSS codecs.

KarL offers the fact and Takashi recommends to flag hda_bus. Thanks!

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: intelhdmi - add channel mapping for typical configurations
Wu Fengguang [Fri, 11 Dec 2009 04:28:36 +0000 (12:28 +0800)]
ALSA: intelhdmi - add channel mapping for typical configurations

IbexPeak is the first Intel HDMI audio codec to support channel mapping.

Currently the outstanding problem is, the HDMI channel order do not
agree with that of ALSA.  This patch presents workaround for some
typical use cases. It gives priority to the typical ALSA surround
configurations, and defines channel mapping for them.

We may need better kernel+userspace interactive channel mapping scheme.
For example, in current scheme if user plays with the surround50 device,
the kernel is unaware of this and will still select the surround41
channel allocation and channel mapping..

Thanks to Marcin for offering good tips!

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: intelhdmi - channel mapping applies to Pin
Wu Fengguang [Fri, 11 Dec 2009 04:28:35 +0000 (12:28 +0800)]
ALSA: intelhdmi - channel mapping applies to Pin

HDA036-A specifies that the Audio Sample Packet (ASP) Channel Mapping
verbs apply to Digital Display Pin Complex instead of Converter.

With this fix, channel mapping is working as expected for IbexPeak.

Thanks to Marcin for pointing this out!

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: intelhdmi - accept DisplayPort pin
Wu Fengguang [Fri, 11 Dec 2009 04:28:34 +0000 (12:28 +0800)]
ALSA: intelhdmi - accept DisplayPort pin

HDA036 spec states:
  DP (Display Port) indicates whether the Pin Complex Widget supports
  connection to a Display Port sink.  Supported if set to 1. Note that
  it is possible for the pin widget to support more than one digital
  display connection type, e.g. HDMI and DP bit are both set to 1.

Also export the DP pin cap in procfs.

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - show HBR(High Bit Rate) pin cap in procfs
Wu Fengguang [Fri, 11 Dec 2009 04:28:33 +0000 (12:28 +0800)]
ALSA: hda - show HBR(High Bit Rate) pin cap in procfs

Note that the HBR capability only applies to HDMI pin.

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Fix LED GPIO setup for HP laptops with IDT codecs
Vitaliy Kulikov [Fri, 11 Dec 2009 06:51:54 +0000 (07:51 +0100)]
ALSA: hda - Fix LED GPIO setup for HP laptops with IDT codecs

This patch fixes an error in processing of the HP BIOS configuration to enable
GPIO based mute LED indicator control. That error causes driver to enable
such control on all HP systems with the 92HD75 IDT codecs and results in
unnecessary toggling of the GPIO on mute control manipulation.

It also adds support of the future HP BIOS configuration extension for the
named control. New configuration string has a format HP_Mute_LED_P_G
where P can be 0 or 1 and defines mute LED GPIO control state (low/high)
that corresponds to the NOT muted state of the master volume
and G is the index of the GPIO to use (0..9)

Lastly, it adds more systems to the support of the audio implementation
as found on HP B-series systems

Signed-off-by: Vitaliy Kulikov <Vitaliy.Kulikov@idt.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda/realtek: quirk for D945GCLF2 mainboard
David Santinoli [Wed, 9 Dec 2009 11:34:26 +0000 (12:34 +0100)]
ALSA: hda/realtek: quirk for D945GCLF2 mainboard

Quirk for the ALC662 found on the Intel D945GCLF2 (and possibly other)
mainboards.

Signed-off-by: David Santinoli <david@santinoli.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Terradici HDA controllers does not support 64-bit mode
Jaroslav Kysela [Wed, 9 Dec 2009 09:44:47 +0000 (10:44 +0100)]
ALSA: hda - Terradici HDA controllers does not support 64-bit mode

Confirmed from vendor and tests in RedHat bugzilla #536782 .

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: document: Add direct git link to grub hda-analyzer
Alexey Fisher [Wed, 9 Dec 2009 08:42:07 +0000 (09:42 +0100)]
ALSA: document: Add direct git link to grub hda-analyzer

Just to save some time, add direct git link to grub hda-analyzer

Signed-off-by: Alexey Fisher <bug-track@fisher-privat.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Generalize EAPD inversion check in patch_analog.c
Takashi Iwai [Tue, 8 Dec 2009 16:23:33 +0000 (17:23 +0100)]
ALSA: hda - Generalize EAPD inversion check in patch_analog.c

Add a flag to spec field so that the EAPD inversion can be checked
outside the relevant control callbacks.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Exclude unusable ADCs for ALC88x
Takashi Iwai [Tue, 8 Dec 2009 11:52:47 +0000 (12:52 +0100)]
ALSA: hda - Exclude unusable ADCs for ALC88x

On Realtek codecs, a digital mic pin is connected often only to a single
ADC.  But the parser tries to set up all ADCs no matter whether the
digital mic is available, and results in non-selectable input source.

This patch adds a check of input-source availability of each ADC, and
excludes ones that don't support all input sources.

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

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Add missing Line-Out and PCM switches as slave
Takashi Iwai [Tue, 8 Dec 2009 11:36:52 +0000 (12:36 +0100)]
ALSA: hda - Add missing Line-Out and PCM switches as slave

Realtek codecs may have "PCM" and "Line-Out" playback switches, and
they can be slaves for vmaster.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - iMac 9,1 sound patch.
Justin P. Mattock [Mon, 7 Dec 2009 23:07:46 +0000 (15:07 -0800)]
ALSA: hda - iMac 9,1 sound patch.

This is an updated patch for the Apple iMac 9,1 model to add sound.
Original patch posted here:
http://article.gmane.org/gmane.linux.alsa.devel/61361/match=

I have been using this patch for a while now
and have to say it works vary well, except for a few minor
things:

With the iMac 24-inch 3.06GHz Intel Core 2 Duo
everything seems to be working as it should,
        although I have not looked into the microphone
(never really use one, nor have any apps to test,
my guess is it doesn't work, or I never figured out how
to get it to work).

With the iMac 24-inch 2.66GHz Intel Core 2 Duo
everything is the same as with the above machine
except I'm hearing a light scratchy/distortion noise
come out of the speakers when using headphones(above machine
does not do this).

Other than that the sound level is great(especially with good Dj headphones).

Signed-off-by: Justin P. Mattock <justinmattock@gmail.com>
Tested-by: Justin P. Mattock <justinmattock@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Fix memory leaks in the previous patch
Takashi Iwai [Thu, 3 Dec 2009 09:14:10 +0000 (10:14 +0100)]
ALSA: hda - Fix memory leaks in the previous patch

The previous hack for replacing the codec name give memory leaks at
error paths.  This patch fixes them.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Add ALC661/259, ALC892/888VD support
Kailang Yang [Thu, 3 Dec 2009 09:07:50 +0000 (10:07 +0100)]
ALSA: hda - Add ALC661/259, ALC892/888VD support

Fixed List:
   1. Add alc_read_coef_idx function
   2. Add ALC661 ALC259
   3. Add ALC892 ALC888VD

Signed-off-by: Kailang Yang <kailang@realtek.com.tw>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoMerge branch 'topic/ice1724-quartet' into topic/hda
Takashi Iwai [Tue, 1 Dec 2009 14:57:01 +0000 (15:57 +0100)]
Merge branch 'topic/ice1724-quartet' into topic/hda

14 years agoMerge branch 'topic/oxygen' into topic/hda
Takashi Iwai [Tue, 1 Dec 2009 14:56:52 +0000 (15:56 +0100)]
Merge branch 'topic/oxygen' into topic/hda

14 years agoALSA: hda - Add position_fix quirk for HP dv3
Takashi Iwai [Tue, 1 Dec 2009 13:17:37 +0000 (14:17 +0100)]
ALSA: hda - Add position_fix quirk for HP dv3

HP dv3 requires position_fix=1.

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

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Add a pin-fix for FSC Amilo Pi1505
Takashi Iwai [Tue, 1 Dec 2009 11:19:37 +0000 (12:19 +0100)]
ALSA: hda - Add a pin-fix for FSC Amilo Pi1505

FSC Amilo Pi 1505 has a buggy BIOS and doesn't set up the HP and
speaker pins properly.  Add the pinfix entry for that.

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

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Fix Cxt5047 test mode
Takashi Iwai [Mon, 30 Nov 2009 17:22:04 +0000 (18:22 +0100)]
ALSA: hda - Fix Cxt5047 test mode

The NID 0x1a of Conexant 5047 chip is a mic boost volume only with
the output amp unlike 5045 chip.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Add a position_fix quirk for MSI Wind U115
Takashi Iwai [Mon, 30 Nov 2009 10:58:30 +0000 (11:58 +0100)]
ALSA: hda - Add a position_fix quirk for MSI Wind U115

MSI Wind U115 seems to require position_fix=1 explicitly.
Otherwise it screws up PulseAudio.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Don't trigger pin-sense for STAC/IDT codecs
Takashi Iwai [Fri, 27 Nov 2009 11:22:44 +0000 (12:22 +0100)]
ALSA: hda - Don't trigger pin-sense for STAC/IDT codecs

STAC/IDT codecs seem to behave weird when SET_PIN_SENSE verb is issued
before reading the jack-detection although the TRIG_REQ pin capability
is given by the hardware.

Since snd_hda_jack_detect() issues the SET_PIN_SENSE verb simply judging
from the pincap, we have to revert the change in the commit
  d56757abc11a21996d9839c0d4e3b2c3666cd318
    ALSA: hda - Replace the rest of jack-detections with snd_hda_jack_detect()
to plain GET_PIN_SENSE verb without triggering.

Reported-by: Jiri Slaby <jirislaby@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda: Fix max PCM level to 0 dB for Fujitsu-Siemens laptops using CX20549 (Venice)
Daniel T Chen [Wed, 25 Nov 2009 23:27:20 +0000 (18:27 -0500)]
ALSA: hda: Fix max PCM level to 0 dB for Fujitsu-Siemens laptops using CX20549 (Venice)

BugLink: https://bugtrack.alsa-project.org/alsa-bug/view.php?id=4792
Cristian reported that these models have really bad sound above 6 dB
and proposed the original patch. I've updated the comment to reflect
this change.

Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
Reported-by: Cristian Klein
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Make Dell Vostro 1015n mic and speaker switching work
Einar Rünkaru [Mon, 23 Nov 2009 20:23:49 +0000 (22:23 +0200)]
ALSA: hda - Make Dell Vostro 1015n mic and speaker switching work

Dell Vostro 1015n uses Conexant CX20583-10Z (0x14f1:5067). Patch is
based on "olpc-xo-1_5" branch. Dell uses digital mic.

Signed-off-by: Einar Rünkaru <einarry@smail.ee>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoRevert "ALSA: hda - Change quirk for Acer Aspire 5930G"
Takashi Iwai [Tue, 24 Nov 2009 07:57:53 +0000 (08:57 +0100)]
Revert "ALSA: hda - Change quirk for Acer Aspire 5930G"

This reverts commit f2624791a0c2a2d7664b12d75ca327917141fd3b.

Łukasz Wojniłowicz reported that the change causes both internal and
external mics not working any more.  The headphone jacking issue was
fixed by his previous patch, it's better to revert to acer-aspire-4930g
model.

Reported-by: Łukasz Wojniłowicz <lukasz.wojnilowicz@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Fix input and jack Kconfig depenencies
Takashi Iwai [Sat, 21 Nov 2009 18:57:11 +0000 (19:57 +0100)]
ALSA: hda - Fix input and jack Kconfig depenencies

CONFIG_SND_JACK needs to be selected explicitly only when INPUT=y or
INPUT_SND.  The current way, INPUT=SND_HDA_INTEL isn't strict enough.

Reported-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - 4930g mute lfe and side when pluging in headphones
Łukasz Wojniłowicz [Fri, 20 Nov 2009 11:14:35 +0000 (12:14 +0100)]
ALSA: hda - 4930g mute lfe and side when pluging in headphones

Fixes first issue from comment 0021423 in bug 0004317 for Acer Aspire 5930g

Signed-off-by: Łukasz Wojniłowicz <lukasz.wojnilowicz@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Change quirk for Acer Aspire 5930G
Takashi Iwai [Thu, 19 Nov 2009 10:48:44 +0000 (11:48 +0100)]
ALSA: hda - Change quirk for Acer Aspire 5930G

Change the quirk for Acer Aspire 5930G from model=acer-aspire-4930g to
model=acer-aspre-6530g.  The tuba bass gets muted along with the other
built-in speakers upon headphones insertion, the internal mic works
perfectly etc.

Reported-by: Claudio Viano <claudio.viano@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Fix mute-LED sync on HP laptops with IDT92HD83xxx codecs
Takashi Iwai [Wed, 18 Nov 2009 16:20:24 +0000 (17:20 +0100)]
ALSA: hda - Fix mute-LED sync on HP laptops with IDT92HD83xxx codecs

The mute-LED isn't synchronized with the actual mute state on some
HP laptops with IDT 92HD83xxx codecs.  A similar hack using
check_power_status callback is added for this codec, too.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Fix detection of dual headphones
Takashi Iwai [Wed, 18 Nov 2009 13:23:37 +0000 (14:23 +0100)]
ALSA: hda - Fix detection of dual headphones

The dual-headphone mode with STAC/IDT codecs is useful only for machines
that have two (or more) built-in headphones.

But, some HP laptops give multiple headphone pin configs, one for the
built-in and another for the separate (likely a docking station) one.
This results in a missing speaker volume control.

This patch adds more check for the dual-headphone mode to avoid this
problem.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Replace the rest of jack-detections with snd_hda_jack_detect()
Takashi Iwai [Wed, 18 Nov 2009 07:00:14 +0000 (08:00 +0100)]
ALSA: hda - Replace the rest of jack-detections with snd_hda_jack_detect()

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - show EPSS capability in proc
Wu Fengguang [Wed, 18 Nov 2009 04:38:08 +0000 (12:38 +0800)]
ALSA: hda - show EPSS capability in proc

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: intelhdmi - sticky channel count
Wu Fengguang [Wed, 18 Nov 2009 04:38:07 +0000 (12:38 +0800)]
ALSA: intelhdmi - sticky channel count

Don't change channel count if not necessary.

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: intelhdmi - sticky stream id and format
Wu Fengguang [Wed, 18 Nov 2009 04:38:06 +0000 (12:38 +0800)]
ALSA: intelhdmi - sticky stream id and format

We tracked down the first-0.5s-hdmi-audio-samples-lost problem to the
AC_VERB_SET_CHANNEL_STREAMID command. It is suspected that many HDMI
sinks need some time to adapt to the new state.

The workaround is to avoid changing stream id/format whenever possible.
Proposed by David.

Signed-off-by: David Härdeman <david@hardeman.nu>
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: intelhdmi - sticky infoframe
Wu Fengguang [Wed, 18 Nov 2009 04:38:05 +0000 (12:38 +0800)]
ALSA: intelhdmi - sticky infoframe

Remember the active infoframe, so as to avoid stop/restart infoframe
transmission when switching between audio clips of the same format.

Proposed by Shang and David.

CC: Shane W <shane-alsa@csy.ca>
CC: David Härdeman <david@hardeman.nu>
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: intelhdmi - separate out infoframe checksum routine
Wu Fengguang [Wed, 18 Nov 2009 04:38:04 +0000 (12:38 +0800)]
ALSA: intelhdmi - separate out infoframe checksum routine

And make it right when called for more than one times.

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: intelhdmi - probe for monitor/eld presence at module init time
Wu Fengguang [Wed, 18 Nov 2009 04:38:03 +0000 (12:38 +0800)]
ALSA: intelhdmi - probe for monitor/eld presence at module init time

This avoids lost of presence info on module reloading.
The presence info used to be only updated at the (rare) hotplug events.

Proposed by David, thanks!

CC: David Härdeman <david@hardeman.nu>
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - introduce snd_hda_jack_detect() and snd_hda_pin_sense()
Wu Fengguang [Wed, 18 Nov 2009 04:38:02 +0000 (12:38 +0800)]
ALSA: hda - introduce snd_hda_jack_detect() and snd_hda_pin_sense()

This helps merge duplicate code.

v2: add snd_hda_jack_detect() and comments recommended by Takashi.

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: intelhdmi - export monitor-presence and ELD-valid status
Wu Fengguang [Wed, 18 Nov 2009 04:38:01 +0000 (12:38 +0800)]
ALSA: intelhdmi - export monitor-presence and ELD-valid status

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: intelhdmi - fix channel mapping slot mask
Wu Fengguang [Wed, 18 Nov 2009 04:38:00 +0000 (12:38 +0800)]
ALSA: intelhdmi - fix channel mapping slot mask

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: intelhdmi - fix audio infoframe fill size
Wu Fengguang [Wed, 18 Nov 2009 04:37:59 +0000 (12:37 +0800)]
ALSA: intelhdmi - fix audio infoframe fill size

Reported-by: David Härdeman <david@hardeman.nu>
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Disable default quirk for Sony VAIO with ALC262 codec
Takashi Iwai [Tue, 17 Nov 2009 15:01:58 +0000 (16:01 +0100)]
ALSA: hda - Disable default quirk for Sony VAIO with ALC262 codec

The ALC262 has a quirk entry matching with all Sony Vaio laptops
to use model=sony-assamd as default.  But, model=auto works much better
for new models in the recent driver versions, thus it's safer to disable
that default quirk entry.

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

14 years agoALSA: hda - Fix quirk for VAIO type G
Takashi Iwai [Tue, 17 Nov 2009 14:58:35 +0000 (15:58 +0100)]
ALSA: hda - Fix quirk for VAIO type G

Vaio type G laptop doesn't work with the current quirk setup.
After some tests, it turned out that it should be model=auto as default.

Reported-by: Mattia Dongili <malattia@linux.it>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Fix build errors with CONFIG_SND_HDA_INPUT_BEEP=n
Takashi Iwai [Mon, 16 Nov 2009 14:35:59 +0000 (15:35 +0100)]
ALSA: hda - Fix build errors with CONFIG_SND_HDA_INPUT_BEEP=n

Disable beep-related codes when CONFIG_SND_HDA_INPUT_BEEP isn't set.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Fix beep_mode option value
Takashi Iwai [Mon, 16 Nov 2009 14:33:49 +0000 (15:33 +0100)]
ALSA: hda - Fix beep_mode option value

The beep_mode option value was wrongly defined: it must be 0 = off and
1 = on.

Also, evaluate the beep_mode value at snd_hda_attach_beep_device()
properly so that no device is created when beep_mode=0 is given.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Update / add kerneldoc comments to exported functions
Takashi Iwai [Mon, 16 Nov 2009 13:58:17 +0000 (14:58 +0100)]
ALSA: hda - Update / add kerneldoc comments to exported functions

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - move snd_hda_pcm_type_name from hda_codec.h to hda_local.h
Jaroslav Kysela [Wed, 11 Nov 2009 12:49:07 +0000 (13:49 +0100)]
ALSA: hda - move snd_hda_pcm_type_name from hda_codec.h to hda_local.h

The snd_hda_pcm_type_name array is local only.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Add description of beep_mode in ALSA-Configuration.txt
Takashi Iwai [Mon, 16 Nov 2009 11:03:49 +0000 (12:03 +0100)]
ALSA: hda - Add description of beep_mode in ALSA-Configuration.txt

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Get rid of magic digits for subdev hack
Takashi Iwai [Mon, 16 Nov 2009 10:25:33 +0000 (11:25 +0100)]
ALSA: hda - Get rid of magic digits for subdev hack

Define a proper const for a magic 31bit flag for subdev / NID setup
with a brief comment.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - proc - add support for dynamic controls to mixer<->NID mapping
Jaroslav Kysela [Thu, 12 Nov 2009 09:15:48 +0000 (10:15 +0100)]
ALSA: hda - proc - add support for dynamic controls to mixer<->NID mapping

This patch adds support for dynamically created controls to proc codec file
(Control: lines).

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - proc - introduce Control: lines to show mixer<->NID assignment
Jaroslav Kysela [Wed, 11 Nov 2009 12:43:01 +0000 (13:43 +0100)]
ALSA: hda - proc - introduce Control: lines to show mixer<->NID assignment

This is an initial patch to show universal control<->NID assigment in
proc codec file. The change helps to debug codec related problems.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
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>