Commit Graph

1154 Commits

Author SHA1 Message Date
Takashi Iwai
1eaf5c0716 Merge branch 'test/hda-vol-ofs' into next/hda 2009-01-22 08:33:04 +01:00
Takashi Iwai
1e137f929b ALSA: hda - Clean up old VAIO hack codes for STAC9872
Get rid of old VAIO static hack codes for STAC9872 and use the BIOS
auto-parser for all models.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-21 07:42:02 +01:00
Takashi Iwai
d30e6caac2 Merge branch 'topic/hda' into next/hda 2009-01-21 07:34:08 +01:00
Matthew Ranostay
65557f3507 ALSA: hda: 83xxx port 0xe DAC selection
On the 92hd8xxx codecs port 0xe needs the connection selected to be the
last DAC in the list.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-21 01:10:37 +01:00
Takashi Iwai
e64f14f4e5 ALSA: hda - Allow digital-only I/O on ALC262 codec
Some laptops like VAIO have multiple codecs and uses ALC262 only for
the SPIDF output without analog I/O.  So far, the codec-parser assumes
the presence of analog I/O and returned an error for such a case.

This patch adds some hacks to allow the digital-only configuration for
ALC262.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-20 18:32:55 +01:00
Takashi Iwai
8c441982fd ALSA: hda - Assign proper digital I/O type for STAC/IDT
Assign the proper PCM digital I/O type (HDA_PCM_TYPE_*) for the digital
I/O on STAC/IDT codecs.  HDA_PCM_TYPE_HDMI is assigned for the HDMI I/O.

A similar framework is implemented to patch_realtek.c, but it's not
set up and still using only HDA_PCM_TYPE_SPDIF yet.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-20 18:30:20 +01:00
Takashi Iwai
2297bd6e52 ALSA: hda - Check HDMI jack types in the auto configuration
Add dig_out_type and dig_in_type fields to autocfg struct.
A proper HDA_PCM_TYPE_* value is assigned to these fields according
to the pin-jack location type value.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-20 18:24:13 +01:00
Takashi Iwai
41b5b01afb ALSA: hda - Don't break the PCM creation loop
Don't break the loop in snd_hda_codec_build_pcms() even if the item
has no substreams.

It's possible that it's an empty item and the next item containing
the valid substreams (e.g. realtek codecs may create the analog
and alt-analog but no digitl streams).

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-20 18:21:23 +01:00
Takashi Iwai
caa10b6e80 ALSA: hda - Improve auto-probing of STAC9872 codec
Use the standard STAC/IDT auto-probing routine for non-static
STAC9872 codec probing.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-20 17:19:01 +01:00
Takashi Iwai
1b52ae701f ALSA: hda - Detect non-SPDIF digital I/O
Accept non-SPDIF digital I/O pins as the digital pins.
These are usually corresponding to HDMI I/O.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-20 17:18:41 +01:00
Takashi Iwai
89ce9e8708 ALSA: hda - Add debug prints for digital I/O pin detections
Add the debug prints for digital I/O pin detections in
snd_hda_parse_pin_def_config() function.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-20 17:15:57 +01:00
Takashi Iwai
7c7767ebe2 ALSA: hda - Halve too large volume scales for STAC/IDT codecs
STAC/IDT codecs have often too large volume scales such as -96dB,
and exposing this as is results in too large scale in percentage
representation.

This patch adds the check of the volume scale and halves the
volume range if it's too large automatically.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-20 15:31:14 +01:00
Takashi Iwai
29fdbec2dc ALSA: hda - Add extra volume offset to standard volume amp macros
Added the volume offset to base for the standard volume controls
to handle elements with too big volume scales like -96dB..0dB.
For such elements, you can set the base volume to reduce the range.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-20 15:16:47 +01:00
Matthew Ranostay
989738c4f8 ALSA: hda: fix invalid power mapping masks
Fixed invalid power mappings for ports 0xd and 0xe on 93hd83xxx codecs.
They were shifted right one too many bits.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-18 11:03:51 +01:00
Luke Yelavich
2de686d227 ALSA: hda - add quirks for some 82801H variants to use ALC883_MITAC
Add the 82801H variants 1071:8227 and 8086:2503 to use ALC883_MITAC

Reference: Ubuntu bug 210865
    https://bugs.launchpad.net/bugs/210865

Signed-off-by: Luke Yelavich <themuso@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-16 10:29:37 +01:00
Takashi Iwai
c9280d681c ALSA: hda - Fix (yet more) STAC925x issues
The codec-parsing of STAC925x was utterly broken due to its unique
design unlike other STAC codecs.  It has a volume control only in NID
0x0e (similar as STAC9200), but the parser assumes that the amp is
available on each DAC widget.

The patch fixes the whole wrong stories: fix the initial volume,
assign the fixed "Master" volume, and avoid to create wrong volume
controls.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-15 17:33:47 +01:00
Takashi Iwai
428549f574 ALSA: hda - Fix invalid amp value for STAC925x
The value set in the commit 2465fb6605
is actually wrong.  The value range is from 0 to 0x1f while the patch
sets to 0x7f.  Let's fix it.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-15 17:02:49 +01:00
Takashi Iwai
1b0652eb58 ALSA: hda - Fix HP dv5 mic input
Fix HP dv5 (103c:3603) built-in mic input.

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

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Cc: stable@kernel.org
2009-01-14 23:28:13 +01:00
Takashi Iwai
2465fb6605 ALSA: hda - Fix missing initialization of NID 0x0e for STAC925x
The selector widget 0x0e isn't initialized properly in the whole probe
process, thus it can be a wrong value depending on the BIOS setup.

This patch adds the init verb to set it to the max & unmuted.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-14 15:58:55 +01:00
Takashi Iwai
9248f26939 ALSA: hda - Fix stac92hd83xxx_amp_nids[]
Fix the bug introduced in commit c15c5060fc:
  sound/pci/hda/patch_sigmatel.c: In function ‘patch_stac92hd83xxx’:
  sound/pci/hda/patch_sigmatel.c:4765: warning: assignment from incompatible pointer type

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-14 09:40:25 +01:00
Luke Yelavich
3e420e78ec ALSA: hda - Add automatic model setting for Samsung Q45
Have the Samsung Q45 (144d:c510) select ALC262_HIPPO by default

Reference: Ubuntu bug 200210
	http://launchpad.net/bugs/200210

Signed-off-by: Luke Yelavich <themuso@ubuntu.com>
Cc: stable@kernel.org
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-14 08:08:49 +01:00
Takashi Iwai
8317e0b0c2 ALSA: hda - Don't reset HP pinctl in patch_sigmatel.c
Resetting HP pinctl at the unplugged state may cause a sort of regression
on some devices because of their wrong pin configuration.

A simple workaround is to disable the pin reset.  This is ugly and may be
not good from the power-saving POV (if any), but damn simple.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Cc: stable@kernel.org
2009-01-14 08:00:49 +01:00
Matthew Ranostay
c15c5060fc ALSA: hda: stac92hd8xxx amp mixers
Added amp nid for stac92hd8xxx families of codecs so the input amp
mixer is created.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-14 07:49:35 +01:00
Takashi Iwai
2acc9dcb60 ALSA: hda - Fix silent headphone output on Panasonic CF-74
CF-74 does the headphone/speaker switching on hardware, thus the driver
shouldn't do any software-toggling of pins.  Otherwise it results in a
silent headphone output.

This patch simply resets the hp_detect flag to fix the problem.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-14 07:48:50 +01:00
Takashi Iwai
14ed74fbe2 Merge branch 'topic/hda-gateway' into topic/hda 2009-01-13 17:50:46 +01:00
Takashi Iwai
c107b41c48 ALSA: hda - Use queue_delayed_work()
Replaced the old schedule_work() with queue_delayed_work() where
overlooked in the previous patches.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-13 17:46:37 +01:00
Giuseppe Bilotta
dafb70ce10 ALSA: hda - Add quirk for another HP dv5
Add the model=hp-m4 quirk for another HP dv5 (103c:3603)
Reference: kernel bug#12440
	http://bugzilla.kernel.org/show_bug.cgi?id=12440

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Cc: stable@kernel.org
2009-01-13 15:14:12 +01:00
Takashi Iwai
f84e3e915e ALSA: hda - Add support of NVidia MCP78 HDMI
Added the new id for NVidia MCP HDMI (10de:0007).

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-13 12:32:21 +01:00
Takashi Iwai
f9d088b208 ALSA: hda - Fix a typo
Fix a typo in stac92hd83xxx_cfg_tbl[].  The actual number is identical
thus there is no behavior change.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-13 11:54:49 +01:00
Takashi Iwai
6acaed38a3 ALSA: hda - Use own workqueue
snd-hda-intel driver used schedule_work() fot the delayed DMA pointer
updates, but this has several potential problems:
- it may block other eventsd works longer
- it may deadlock when probing fails and flush_scheduled_work() is
  called during probe callback (as probe callback itself could be
  invoked from eventd)

This patch adds an own workq for each driver instance to solve these
problems.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-12 10:33:56 +01:00
Wu Fengguang
4b55899104 ALSA: hda - add support for Intel DX58SO board
The Intel DX58SO board works fine with model ALC883_3ST_6ch_INTEL.

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-12 09:41:01 +01:00
Wu Fengguang
5a9e02e949 ALSA: hda - create hda_codec.control_mutex for kcontrol->private_value
Fix the following lockdep warning by not reusing the hda_codec.spdif_mutex.

    ALSA sound/pci/hda/hda_codec.c:882: hda_codec_cleanup_stream: NID=0x2

    =======================================================
    [ INFO: possible circular locking dependency detected ]
    2.6.28-next-20090102 #33
    -------------------------------------------------------
    mplayer/3151 is trying to acquire lock:
     (&pcm->open_mutex){--..}, at: [<ffffffffa004ced3>] snd_pcm_release+0x43/0xd0 [snd_pcm]

    but task is already holding lock:
     (&mm->mmap_sem){----}, at: [<ffffffff810c0252>] sys_munmap+0x42/0x80

    which lock already depends on the new lock.

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-09 09:58:47 +01:00
Takashi Iwai
57d139278e ALSA: hda - Add quirk for Dell Inspiron Mini9
Added a quirk, model=dell, for Dell Inspiron Mini9 with ALC268 codec.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-08 15:52:09 +01:00
Lukasz Wojnilowicz
a8e4f9ddea ALSA: hda - Add quirks for Acer Aspire 5930G and 6930G
This is a patch which adds correct auto detection of model for
snd-hda-intel for Acer Aspire 5930G and 6930G. Tested on my 5930G. It
finally adds hp jack sense and 5.1 speaker system sliders.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-08 12:02:35 +01:00
Brian Hinz
e3d6ce6ff6 ALSA: hda - Add codec ID for MCP73 HDMI
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-07 11:49:56 +01:00
Clemens Fruhwirth
c247ed6f52 ALSA: hda - Fix typos for AD1882 codecs
Fixed typos of codec-id checks for AD1882/AD1882A.

Cc: stable@kernel.org
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-07 11:43:48 +01:00
Takashi Iwai
d5337debac ALSA: hda - Add quirk for HP 2230s
Added a quirk for HP 2230s, model=laptop, with AD1984A codec.
Reference: Novell bnc#461660
	https://bugzilla.novell.com/show_bug.cgi?id=461660

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-07 11:41:57 +01:00
Ulrich Dangel
acf26c0cad ALSA: hda - cxt5051 report jack state
Signed-off-by: Ulrich Dangel <uli@spamt.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-03 11:26:05 +01:00
Ulrich Dangel
bc7a166dd1 ALSA: hda - add basic jack reporting functions to patch_conexant.c
Added functions to report jack sense.
As CXT5051_PORTB_EVENT has the same value as CONEXANT_MIC_EVENT two input
devices for the microphone will be created if using CXT5051.

Signed-off-by: Ulrich Dangel <uli@spamt.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-03 11:25:44 +01:00
Chris Bagwell
06bf3e15f6 LSA: hda - Add HP Acacia detection
Add automatic mapping of HP Acacia motherboards to 3stack-hp.  Allows
for greater then 2 channel audio by enabling Channel Mode option in mixer.

Motherboard specs:
http://h10025.www1.hp.com/ewfrf/wc/document?docname=c01321559&lc=en&dlc=en&cc=us&product=3829353&os=2093&lang=en#

Signed-off-by: Chris Bagwell <chris at cnpbagwell dot com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-01 10:32:08 +01:00
Wu Fengguang
3fea2cb045 ALSA: hda - fix name for ALC1200
Move the more specific preset for ALC1200 above the general one for
ALC888, so that it will have the chance to get matched and selected.

Reported-by: Thomas Schneider <nailstudio@gmx.net>
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-01 10:28:59 +01:00
Takashi Iwai
7645c4bfbb Merge branch 'fix/hda' into topic/hda 2008-12-24 11:04:08 +01:00
Herton Ronaldo Krzesinski
574f3c4f5c ALSA: hda - Add missing terminators in patch_sigmatel.c
Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Cc: stable@kernel.org
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-24 11:03:56 +01:00
Matthew Ranostay
74b7ff48a9 ALSA: hda: fix incorrect mixer index values for 92hd83xx
Fixed incorrect mixer index values for 92hd83xx codec's audio
input mixer.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-20 23:49:45 +01:00
Matthew Ranostay
f8ccbf65af ALSA: hda: dinput_mux check
Add check to determine if dinput_mux is set by any of patch_stac*() functions,
otherwise a invalid pointer my be referenced causing gibberish to mixer values.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-20 23:48:44 +01:00
Takashi Iwai
8326e32c1e Merge branch 'topic/hda-resume-fix' into topic/hda 2008-12-20 23:41:18 +01:00
Takashi Iwai
69dfaefee4 ALSA: hda - Add quirk for another HP dv7
Added the model=hp-m4 quirk for another HP dv7 (103c:30fc) with IDT
92HD71b* codec.

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

Cc: stable@kernel.org
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-20 16:57:50 +01:00
Takashi Iwai
eb63212868 ALSA: hda - Power up always when no jack detection is available
When no jack detection is available, the pins should be always
turned on since it can't be turned on/off dynamically via unsol
events.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-19 16:41:06 +01:00
Takashi Iwai
9158923228 ALSA: hda - Fix unused variable warnings in patch_sigmatel.c
Fixed "unused varible" warnings in patch_sigmatel.c that have been
introduced by the last changes.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-19 15:59:40 +01:00
Takashi Iwai
6030634ac3 Merge branch 'topic/hda-stac-fix' into topic/hda 2008-12-19 15:43:24 +01:00