1
Commit Graph

1599 Commits

Author SHA1 Message Date
Takashi Iwai
aa2936f5fe ALSA: hda - Support sync after writing a verb
This patch adds a debug mode to make the codec communication
synchronous.  Define SND_HDA_SUPPORT_SYNC_WRITE in hda_codec.c,
and the call of snd_hda_codec_write*() will become synchronous,
i.e. wait for the reply from the codec at each time issuing a verb.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-26 17:23:46 +02:00
Takashi Iwai
8174086167 ALSA: hda - Allow concurrent RIRB access in single_cmd mode
In the single_cmd mode, the current driver code doesn't do any update
for RIRB just for any safety reason.  But, actually the RIRB and
single_cmd mode don't conflict.  Unsolicited events can be delivered
even while using the single_cmd mode.

This patch allows the handling of unsolicited events with single_cmd
mode, just always checking RIRB independent from single_cmd flag.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-26 15:22:00 +02:00
Takashi Iwai
20e91c5750 Merge branch 'fix/hda' into topic/hda 2009-05-26 15:19:56 +02:00
Takashi Iwai
86d190e77c ALSA: hda - Minor clean up of patch_sigmatel.c
- Remove unneeded semicolons
- Introduce spec->gpio_led to specify the GPIO bit for LED control

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-26 15:18:58 +02:00
Takashi Iwai
4fcd39207f ALSA: hda - Reset CORB/RIRB at retrying the verb communication
When a codec communication error occurs, the CORB/RIRB counters should
be reset first before re-issuing the verb.  Simply call azx_free_cmd_io()
and azx_init_cmd_io() to achieve that.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-25 18:34:52 +02:00
Takashi Iwai
461c6c3a0a ALSA: hda - Add missing check of pin vref 50 and others in Realtek codecs
Some Realtek codecs like ALC861 seem to support only VREF50 while the
current driver assumes it's only VREF80.  Check other VREF bits to set
the correct value.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-25 08:06:02 +02:00
Takashi Iwai
679d92ed14 ALSA: hda - Add 5stack-no-fp model for STAC927x
The recent fix for the headphone volume control on IDT/STAC codecs
resulted in the removal of invalid "Side" volume eventually.  But,
if the front panel doesn't exist, this setup could be regarded as a
sort of regression, as reported in kernel bug #13250.

Now as a workaround, a new model 5stack-no-fp is added so that the user
without the front panel can choose this one explicitly.

Reference: bko#13250
	http://bugzilla.kernel.org/show_bug.cgi?id=13250

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-24 19:00:08 +02:00
Ozan Çağlayan
93574844bc ALSA: hda - Add forced codec-slots for ASUS W5Fm
ASUS W5Fm needs the fixed codec-slots to probe to override the BIOS
problem like W5F.

Tested-by: Alp Kılıç <kilic.alp@gmail.com>
Signed-off-by: Ozan Çağlayan <ozan@pardus.org.tr>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-24 18:45:28 +02:00
Adam Williamson
87488957a6 ALSA: hda - fix audio on HP TX25xx series notebooks
Fixes https://bugtrack.alsa-project.org/alsa-bug/view.php?id=4121

Taken from https://bugzilla.redhat.com/show_bug.cgi?id=498060

Signed-off-by: Adam Williamson <awilliam@redhat.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-22 08:22:23 +02:00
Takashi Iwai
fa79796631 ALSA: hda - Fix digital beep tone calculation
The digital beep tone is calculated in two different ways depending
on the codec chip.  The standard one is using a divider, and another
one is a linear tone for IDT/STAC codecs.  Currently, only the
latter type is used for all codecs, which resulted in a wrong tone
pitch.

This patch adds the calculation of the standard HD-audio type.
Also clean-up the fields in hda_beep struct.

Reference: bko#13162
	http://bugzilla.kernel.org/show_bug.cgi?id=13162

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-19 12:54:55 +02:00
Takashi Iwai
4abc1cc2f9 ALSA: hda - Add prefix to kernel messages
Add proper prefix to each kernel message in hda_intel.c.
Also, avoid the unneeded prefix when CONFIG_SND_VERBOSE_PRINTK is used
together with snd_print*().

Reference: bko#13207
	http://bugzilla.kernel.org/show_bug.cgi?id=13207

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-19 12:16:46 +02:00
Torben Schulz
eb4c41d30b ALSA: hda - Improved MacBook 3,1 support
This patch adds support for MacBook 3,1 sound by adding a model new
"mb31" with the appropriate init verbs, mixers and channel modes to
the ALC883 configuration. patch_alc882() and patch_alc883() are
modified to handle the MacBook 3,1 sound-chip (Realtek ALC889A)
correctly.

Signed-off-by: Torben Schulz <public@letorbi.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-18 15:13:02 +02:00
Takashi Iwai
313f6e2d40 ALSA: hda - Avoid conflicts with snd-ctxfi driver
The PCI entries of Creative with HD-audio class can be the devices
with emu20k1/emu20k2 chips.  These are supported better by snd-ctxfi
driver.  With that driver, the device will mutate from HD-audio to
its native class.

This patch adds a simple ifdef to avoid the conflict of device probe
between snd-hda-intel and snd-ctxfi drivers.  1102:0009 seems still
OK to be added as it has no emu20kx chip, and is a pure HD-audio
device.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-18 12:40:52 +02:00
Takashi Iwai
6c627f3978 ALSA: hda - Show the actual chip name in 'unkown model' messages
Show the actual chip name in 'unknown model..' info messages for
Realtek codecs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-18 12:33:36 +02:00
Takashi Iwai
812a2cca29 ALSA: hda - Split codec->name to vendor and chip name strings
Split the name string in hda_codec struct to vendor_name and chip_name
strings to be stored directly from the preset name.
Since mostly only the chip name is referred in many patch_*.c, this
results in the reduction of many codes in the end.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-16 10:00:49 +02:00
Nickolas Lloyd
2fc9989079 ALSA: hda - add controls to toggle DC bias on mic ports
This patch adds a mixer control for the STAC92XX boards to control the
DC bias of mic ports, allowing recording from both powered and
non-powered sources.  It replaces the "Mic Output Switch" with "Mic Jack
Mode" to switch between Mic, Line In, and Line Out.

Signed-off-by: Nickolas Lloyd <ultrageek.lloyd@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-15 15:34:10 +02:00
Takashi Iwai
7442f9dadb ALSA: hda - Add a quirk entry for Macbook Pro 5,1
Added the codec SSID for MacBook Pro 5,1 as compatible as MP51.
However, the headphone auto-muting function doesn't work.  So,
this is just a tentative solution.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-14 18:20:33 +02:00
Takashi Iwai
22b530e028 ALSA: hda - Disable fallback to model=acer for Acer laptops
The model=acer for ALC883/889 doesn't work well for the recent Acer
Aspire laptops.  Since model=auto works better nowadays, it's safer
to use the default fallback instead of the Acer specific one.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-13 11:32:52 +02:00
Chris Pockelé
9541ba1d66 ALSA: hda - Add support of Samsung NC10 mini notebook
Add specific configuration for Samsung NC10 mini notebook.  Internal
mic/speakers will be correctly muted when plugging in external ones.
Mixer controls are added for speakers, headphones and PC beep.
"Boost" is added for the microphones.

Signed-off-by: Chris Pockelé <chris.pockele.f1@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-12 08:08:53 +02:00
Takashi Iwai
fa1285b3d1 Merge branch 'topic/hda-vt-spdif' into topic/hda 2009-05-11 10:23:36 +02:00
Takashi Iwai
01f2bd48d0 ALSA: hda - Add missing models for Realtek codecs
Added the missing descriptions and the model names for Realtek codecs
to the documentation and the config table.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-11 08:12:43 +02:00
Takashi Iwai
22e336b776 Merge branch 'fix/hda' into topic/hda 2009-05-08 16:03:20 +02:00
Takashi Iwai
a9fd4f3fcd ALSA: hda - Clean up Realtek auto-mute unsol routines
Most of unsol handlers defined in patch_realtek.c can be classified to
two types, mute via amp of pins and mute via ctl bits of pins.
Thus there are a big room to generalize each implementation.

This patch creates two generic functions, alc_automute_amp() and
alc_automute_pin().  The latter is actually changed from the previous
alc_sku_automute().  Each caller needs to initialize hp_pins and
speaker_pins properly at own init_hook.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-08 15:57:59 +02:00
Takashi Iwai
b72519b518 ALSA: hda - Clean up for ALC262 HP model auto-mute functions
Just clean up, no functional changes.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-08 15:49:41 +02:00
Takashi Iwai
42171c17f2 ALSA: hda - Fix and clean up hippo-compat HP auto-muting
The speaker auto-muting per HP plugging for ALC262 HIPPO and compatible
devices is slightly buggy as the "Master" or "Front" mixer control can
still toggle the speaker output even if the headphone is plugged.

This patch fixes the issue, and clean up the hippo-related codes
together with fixes of some inconsistent mixer names.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-08 14:28:35 +02:00
Takashi Iwai
9da29271be ALSA: hda - Fix secondary SPDIF on VT1708S and VT1702 codecs
VIA VT1708S and VT1702 codecs can have two SPDIF outputs.  One of them
should have been handled as the extra digital out, but it's not
properly accessed.

This patch fixes the handling of the secondary SPDIF on these codecs
with the slave dig-out as found in patch_sigmatel.c.  This makes the
use of such a device easier (for normal users).

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-08 07:55:28 +02:00
Takashi Iwai
5dd17cb992 ALSA: hda - Fix line-in on Mac Mini Core2 Duo
BIOS on Mac Mini Core2 Duo sets both INPUT and OUTPUT pinctl bits to
the line-in jack, and it confuses the driver as if it's a valid input.
This patch adds the check of OUTPUT bit so that the driver fixes the
invalid pin setup.

Tested-by: Tino Keitel <tino.keitel@gmx.de>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-08 07:55:10 +02:00
Kacper Szczesniak
41d5545d23 ALSA: hda - Add support for MacBook 5.1 (Aluminium)
Signed-off-by: Kacper Szczesniak <kacper@qwe.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-07 12:52:59 +02:00
James Gardiner
514bf54cd8 ALSA: hda - Addition for HP dv4-1222nr laptop support
Signed-off-by: James Gardiner <renidragsemaj@yahoo.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-04 09:06:19 +02:00
Takashi Iwai
cb6605c1e4 ALSA: hda - Fix a typo in patch_realtek.c again
The commmit dfed0ef9b3 was reverted
accidentally by the merge of auto-detection fix patch.

Fixed again now.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-28 13:03:19 +02:00
Takashi Iwai
2a2ed0dfc9 ALSA: hda - Don't enable auto-mute but for speakers in patch_realtek.c
Enable auto-muting in model=auto only for devices with HP and speakers.
For devices with HP and line-outs, don't enable the auto-muting.

Also, add a debug print to show the auto-mute feature.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-28 13:01:26 +02:00
Takashi Iwai
299f293b34 Merge branch 'topic/hda-realtek-amp' into topic/hda 2009-04-28 09:51:57 +02:00
Takashi Iwai
1103f9b241 Merge branch 'fix/hda' into topic/hda 2009-04-28 09:51:49 +02:00
Takashi Iwai
4a79ba34ca ALSA: hda - Add amp initialization for realtek auto mode
In the realtek auto-probing mode, the initialization of amp with
some magic COEF or EAPD verbs is applied only when the codec SSID
has valid values to satisfy the realtek's definition.
However, many devices don't provide in that way, thus the device
doesn't work as is.

This patch allows the same initialization code even if the SSID
doesn't pass the bit test.  Also, alc_subsystem_id() is changed
just to check and define the type, so that it's called in the
parser, instead of the initializer.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-27 18:00:30 +02:00
Takashi Iwai
7315613f87 ALSA: hda - Fix init verbs of AD1884A mobile model
The current ad1884a-mobile model has a problem that the speaker output
doesn't work sometimes after boot or power-saving on some HP laptops.
It seems that the verbs accessing to the non-functional widgets cause
this problem.

This patch simplifies the init verbs for mobile model not to touch
unnecessary setups so that it avoids the speaker-mute problem.

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

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-23 08:24:48 +02:00
Takashi Iwai
3b1db01990 Merge branch 'fix/hda' into topic/hda 2009-04-21 18:37:53 +02:00
Takashi Iwai
5bd3729f68 ALSA: hda - Add quirk for Packard Bell RS65
Added a quirk (model=m51va) for Packard Bell RS65 with ALC663.

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

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-21 18:36:30 +02:00
Takashi Iwai
dfed0ef9b3 ALSA: hda - Fix a typo in debug print for realtek auto-detection
The NID and ASS numbers were swapped...

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-21 18:33:12 +02:00
Takashi Iwai
a3b48c88f2 ALSA: hda - minor optimization in hda_set_power_state()
Check the target power-state before checking EAPD exception to reduce
unneeded verb executions.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-21 13:38:30 +02:00
Takashi Iwai
b97bedcded Merge branch 'topic/hda-cache' into topic/hda 2009-04-21 11:11:54 +02:00
Takashi Iwai
586be3fcf9 ALSA: hda - Add debug prints for Realtek auto-init
Added a couple of debug prints to show the checked id numbers in
alc_subsystem_id().

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-21 11:10:45 +02:00
Takashi Iwai
b613291fb2 ALSA: hda - Retry codec-verbs at errors
The current error-recovery scheme for the codec communication errors
doesn't work always well.  Especially falling back to the
single-command mode causes the fatal problem on many systems.

In this patch, the problematic verb is re-issued again after the error
(even with polling mode) instead of the single-cmd mode.  The
single-cmd mode will be used only when specified via the command
option explicitly, mainly just for testing.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-21 11:10:44 +02:00
Takashi Iwai
92c7c8a7d6 ALSA: hda - Cache PCM and STREAM parameters queries
Cache quries for PCM and STREAM parameters as well as ampcap and
pincap sharing the hash table.  This will reduce the superfluous
access of the same codec verbs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-21 11:10:39 +02:00
Takashi Iwai
858940773a Merge branch 'fix/hda' into topic/hda 2009-04-21 07:41:12 +02:00
Kailang Yang
622e84cdff ALSA: hda - Add quirks for Realtek codecs
- Support ASUS F81Se F5Q P80 U20A U80 U50 UX50 for ALC269
- Support ASUS F70SL UX20 X58LE F50Z N80Vc N81Te N505Tp Vx3V N5051A
  for ALC663
- Support DELL ZM1 for ALC272

Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-21 07:39:04 +02:00
Kailang Yang
bb023080fe ALSA: hda - Fix alc662_init_verbs
Don't unmute unneeded amps for input mixers of ALC662 & co.
It caused possible recording noises.

Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-21 07:37:41 +02:00
Takashi Iwai
7670dc41b5 ALSA: hda - Use snd_hda_codec_get_pincfg() in patch_ca0110.c
Use the new function to reduce the access and allow the user setup
via sysfs, too.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-20 10:51:38 +02:00
Takashi Iwai
6766726367 ALSA: hda - Fix channels_max setting for CA0110
Added the missing definition of max channels for CA0110, which resulted
in an error at opening PCM devices.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-20 10:49:25 +02:00
Takashi Iwai
93e82ae781 ALSA: hda - Set function_id only on FG nodes
(Re)set function_id only from the value on FG nodes.
The current code overrides the value with the last widget.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-17 18:04:41 +02:00
Takashi Iwai
4dc1f87f07 ALSA: hda - Add upper-limit of mixer amp for AD1884A-laptop model, too
Add the upper-limit of mixer amp for AD1884A-laptop model just like
the mobile model for some HP laptops.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-16 14:20:23 +02:00
Takashi Iwai
ffd0e56c60 ALSA: hda - Fix headphone-detection on some machines with STAC/IDT codecs
When the headphone can have no unique DAC, the current code doesn't
check the HP-detection although it should.  Put the hp-detection check
before the DAC check to fix this bug.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-16 12:20:24 +02:00
Takashi Iwai
18cb7109d3 ALSA: hda - Check strcpy length
Check the length to copy via strlen() beforehand to avoid the stack
corruption, or use strlcpy() to be safe in HD-audio codes.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-16 10:22:24 +02:00
Takashi Iwai
4e01f54bfd ALSA: hda - Add Creative CA0110-IBG support
Added the support for Creative SB X-Fi boards with UAA (HD-audio) mode.
In the HD-audio mode, no multiple streams are supported by just it
behaves like a normal HD-audio device.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-16 08:54:53 +02:00
Joe Perches
d523b0c808 ALSA: hda_intel.c - Consolidate bitfields
Commit fa00e046b4
added a new bitfield not adjacent to other
bitfields in the same struct.  Moved the new one.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-16 08:24:02 +02:00
Takashi Iwai
9dd175f7d2 Merge branch 'topic/hda' into for-linus
* topic/hda:
  ALSA: hda - Fix the cmd cache keys for amp verbs
  ALSA: add missing definitions(letters) to HD-Audio.txt
2009-04-15 17:52:32 +02:00
Takashi Iwai
fcad94a4c7 ALSA: hda - Fix the cmd cache keys for amp verbs
Fix the key value generation for get/set amp verbs.  The upper bits of
the parameter have to be combined with the verb value to be unique for
each direction/index of amp access.

This fixes the resume problem on some hardwares like Macbook after
the channel mode is changed.

Tested-by: Johannes Berg <johannes@sipsolutions.net>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-15 17:51:56 +02:00
Takashi Iwai
2e8e59f437 Merge branch 'topic/hda' into for-linus
* topic/hda:
  ALSA: hda - Add quirk mask for Fujitsu Amilo laptops with ALC883
  ALSA: hda - Avoid call of snd_jack_report at release
  ALSA: add private_data to struct snd_jack
2009-04-15 11:24:09 +02:00
Takashi Iwai
ff0c68d03b Merge branch 'topic/jack-free-fix' into topic/hda
* topic/jack-free-fix:
  ALSA: hda - Avoid call of snd_jack_report at release
  ALSA: add private_data to struct snd_jack
2009-04-15 11:23:44 +02:00
Takashi Iwai
45c27fc8c8 Merge branch 'master' of git://git.alsa-project.org/alsa-kernel into for-linus
* 'master' of git://git.alsa-project.org/alsa-kernel:
  [ALSA] intel8x0: add one retry to the ac97_clock measurement routine
  [ALSA] intel8x0: fix wrong conditions in ac97_clock measure routine
  [ALSA] intel8x0: do not use zero value from PICB register
  [ALSA] intel8x0: an attempt to make ac97_clock measurement more reliable
  [ALSA] pcm-midlevel: Add more strict buffer position checks based on jiffies
  [ALSA] hda_intel: fix unexpected ring buffer positions
2009-04-15 11:21:13 +02:00
Takashi Iwai
bfb53037c6 ALSA: hda - Add quirk mask for Fujitsu Amilo laptops with ALC883
Added the models for quirk bitmask 1734:110x and 1734:113x of
Fujitsu laptops.

This will fix the model detection for Amilo Xa3540.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-15 11:13:21 +02:00
Takashi Iwai
95c0909961 ALSA: hda - Avoid call of snd_jack_report at release
Don't call snd_jack_report at release of sigmatel and conexnat codecs
which results in Oops at unloading the module.

The Oops is triggered by the power-up sequence during the free due to
the pincfg restoration.  Since the power-up sequence is involved with
the unsol handling, the jack reporting may be issued during that.
The Oops occurs with this jack reporting because the jack instances
have been already released but the codec doesn't do the proper
book-keeping.

This patch adds the book-keeping of jack instances to avoid the access
to bogus pointers.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-14 16:15:29 +02:00
Yang Hongyang
e930438c42 Replace all DMA_nBIT_MASK macro with DMA_BIT_MASK(n)
This is the second go through of the old DMA_nBIT_MASK macro,and there're not
so many of them left,so I put them into one patch.I hope this is the last round.
After this the definition of the old DMA_nBIT_MASK macro could be removed.

Signed-off-by: Yang Hongyang <yanghy@cn.fujitsu.com>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: Tony Lindgren <tony@atomide.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
Cc: Greg KH <greg@kroah.com>
Cc: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-04-13 15:04:33 -07:00
Jaroslav Kysela
fa00e046b4 [ALSA] hda_intel: fix unexpected ring buffer positions
I found two issues with ICH7-M (it should be related to other HDA chipsets
as well):

- the ring buffer position is not reset when stream restarts (after xrun) -
  solved by moving azx_stream_reset() call from open() to prepare() callback
  and reset posbuf to zero (it might be filled with hw later than position()
  callback is called)
- irq_ignore flag should be set also when ring buffer memory area is not
  changed in prepare() callback - this patch replaces irq_ignore with
  more universal check based on jiffies clock

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2009-04-10 12:20:45 +02:00
Takashi Iwai
d855ebec45 Merge branch 'topic/hda' into for-linus 2009-04-07 04:50:46 +02:00
Matthew Ranostay
fd60cc897a ALSA: hda - Add VREF powerdown sequence for another board
Add powerdown sequence for VREF using a shared jack when the headphone
is present and the microphone isn't on.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-07 04:26:04 +02:00
Akinobu Mita
bca68467b5 ALSA: hda - add missing comma in ad1884_slave_vols
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-07 04:20:04 +02:00
Takashi Iwai
8ac65de647 Merge branch 'topic/hda' into for-linus 2009-04-06 04:00:12 +02:00
Wu Fengguang
f3cd3f5d34 ALSA: hda - enable SPDIF output for Intel DX58SO board
ALC889 has two SPDIF outputs: 0x06, 0x10. Board vendors can use either or both.
DX58SO uses 0x10, but the driver assumes 0x06. The safe solution is to add
0x10 as slave output to the existing 0x06.

Reported-by: Jeroen Van Breedam <jeroen.vanbreedam@sgr5.be>
Tested-by: Jeroen Van Breedam <jeroen.vanbreedam@sgr5.be>
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-06 03:56:51 +02:00
Matthew Ranostay
ff2e7337b5 ALSA: Add 92HD81B1C device id
Added device id in struct for codec 92HD81B1C (0x111d76d5).

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-06 03:53:57 +02:00
Takashi Iwai
e7bfbb0215 Merge branch 'topic/hda' into for-linus 2009-03-24 00:36:09 +01:00
Takashi Iwai
dec14f8c0e Merge branch 'topic/snd_card_new-err' into for-linus 2009-03-24 00:35:35 +01:00
Takashi Iwai
9b6682ff4c ALSA: hda - Add quirk for Acer Ferrari 5000
Add a quirk model=acer-aspire for Acer Ferrari 5000 with ALC883 codec.
Note that model=auto doesn't work for this laptop because of broken BIOS
(that doesn't set the subsystem id properly).

Tested-by: Russ Dill <russ.dill@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-23 22:50:52 +01:00
Takashi Iwai
14bafe3278 ALSA: hda - Use cached calls to get widget caps and pin caps
Replace with the standard function calls to use caches for reading
the widget caps and pin caps.

hda_proc.c is still using the direct verbs to get raw values as
much as possible.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-23 16:36:55 +01:00
Takashi Iwai
a23b688f4d ALSA: hda - Don't create empty/single-item input source
In patch_realtek.c, don't create empty or single-item "Input Source"
control elements that are simply superfluous.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-23 15:24:15 +01:00
Takashi Iwai
e82c025b50 ALSA: hda - Fix the wrong pin-cap check in patch_realtek.c
The check for the amp-output must be done for widget-caps rather than
pin-caps as implemented in the recent change...  Simply a thinko.

Also, add the similar checks to all places that put output-amp mutes
in the initialization.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-23 15:20:53 +01:00
Takashi Iwai
1327a32b87 ALSA: hda - Cache pin-cap values
Added snd_hda_query_pin_caps() to read and cache pin-cap values
to avoid too frequently issuing the same verbs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-23 13:08:33 +01:00
Takashi Iwai
52ca15b7c0 ALSA: hda - Avoid output amp manipulation to digital mic pins
Don't set amp-out values to pins without PINCAP_OUT capability,
which are usually assigned for digital mics on ALC663/ALC272.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-23 12:51:55 +01:00
Pascal de Bruijn
234b4346a0 ALSA: hda - Add function id to proc output
This patch does two things:
 Output Intel HDA Function Id in /proc/asound/cardX/codec#X
 Align Vendor/Subsystem/Revision Ids to 8 characters, front-padded with zeros

Before:
 Vendor Id: 0x11d41884
 Subsystem Id: 0x103c281a
 Revision Id: 0x100100

After:
 Function Id: 0x1
 Vendor Id: 0x11d41884
 Subsystem Id: 0x103c281a
 Revision Id: 0x0100100

As report on the Kernel Bugzilla #12888

Signed-off-by: Pascal de Bruijn <pascal@unilogicnetworks.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-23 11:55:36 +01:00
Takashi Iwai
c9840cf4cf Merge branch 'topic/hda-optimize' into topic/hda 2009-03-20 16:33:30 +01:00
Takashi Iwai
2d864c499a ALSA: hda - Detect digital-mic inputs on ALC663 / ALC272
Fix the detection of digital-mic inputs on ALC663 / ALC272 codecs
in the auto-detection mode.  The automatic mic switch via plugging
isn't implemented yet, though.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-20 12:52:47 +01:00
Takashi Iwai
07a1e81355 ALSA: hda - Don't show the current connection for power widgets
The power-widgets have no connection selection, so skip the check
in proc output, too.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-19 17:08:19 +01:00
Takashi Iwai
1dddab400b ALSA: hda - Don't reset stream at each prepare callback
Don't reset the stream at each prepare callback but do it only once
after the open.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-19 12:54:23 +01:00
Takashi Iwai
97b71c94d6 ALSA: hda - Don't reset BDL unnecessarily
So far, the prepare callback is called multiple times, BDL entries
are reset and re-programmed at each time.

This patch adds the check to avoid the reset of BDL entries when the
same parameters are used.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-19 12:53:58 +01:00
Takashi Iwai
4a10079345 Merge branch 'fix/hda' into topic/hda 2009-03-18 07:50:56 +01:00
Jaroslav Kysela
ee5047102c ALSA: snd-hda-intel - add checks for invalid values to *query_supported_pcm()
If ratesp or formatsp values are zero, wrong values are passed to ALSA's
the PCM midlevel code. The bug is showed more later than expected.

Also, clean a bit the code.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-18 07:50:44 +01:00
Takashi Iwai
c673ba1c23 ALSA: hda - Workaround for buggy DMA position on ATI controllers
The position-buffer on ATI controllers are unreliable as well as
on VIA chips, thus the same workaround for DMA position reading as
VIA is useful for ATI.

Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-18 07:46:21 +01:00
Takashi Iwai
09240cf429 ALSA: hda - Fix DMA mask for ATI controllers
ATI controllers (at least some SB0600 models) appear buggy to handle
64bit DMA.  As a workaround, reset GCAP bit0 and let the driver to
use only 32bit DMA on these controllers.

Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-18 07:45:41 +01:00
Takashi Iwai
b9591448e5 ALSA: hda - Fix ALC662 beep again
The previous commit breaks the (digital-) beep on ALC662.
ALC662 has the connection index 0x05 while ALC662 and ALC272 have the
index 0x04 for the beep widget.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-16 15:26:01 +01:00
Jaroslav Kysela
b8dbed0f09 ALSA: snd-hda-intel: Fix ALC662/ALC663 Beep Amplifier Index
ALC662/663 codecs have Beep Amplifier Index 0x04 not 0x05 in 0x0b NID.
Confirmed by testing on real hardware.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-16 15:23:33 +01:00
Takashi Iwai
58d8395b74 ALSA: hda - Add another HP model with IDT92HD71bx codec
HP laptops require GPIO0 on as EAPD.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-13 17:04:34 +01:00
Takashi Iwai
bb6ac72fb1 ALSA: hda - power up before codec initialization
Change the power state of each widget before starting the initialization
work so that all verbs are executed properly.

Also, keep power-up during hwdep reconfiguration.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-13 09:06:31 +01:00
Takashi Iwai
307282c899 ALSA: hda - Add model=vaio for STAC9872
Add the default pin config for model=vaio (in case of broken BIOS).

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-12 18:17:58 +01:00
Takashi Iwai
9421f9543b ALSA: hda - Print multiple out-amp values of pin widgets on Conext codecs
Add a flag to work around the non-standard amp-value handling on
Conexant codecs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-12 17:06:07 +01:00
Takashi Iwai
3b7523fc82 ALSA: hda - Add comments for the previous fix for conexant codecs
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-12 16:45:01 +01:00
Gregorio Guidi
5d75bc5578 ALSA: hda - fix headphone settings and master volume (Conexant CX20551)
Update the places where the 0x1d widget is used for Conexant 5047, fixing
mismatch introduced after changing the connection.

Signed-off-by: Gregorio Guidi <gregorio.guidi@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-12 16:41:51 +01:00
Takashi Iwai
df481e41b9 ALSA: hda - Clean up Cxt5047 parser
Clean up Conexant 5047 pareser code:
 - Split mixer elements to separate arrays to reduce the duplicated
   entires
 - Fix mixer element names to the standard ones
 - Remove unneeded cxt5047_hp2_unsol_event; the normal unsol_event
   handler works fine.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-10 15:35:35 +01:00
Takashi Iwai
5b3a7440cb ALSA: hda - Fix / clean up init verbs for Cxt5047 codec
Fix the initial connections of output pins 0x13 and 0x1d for Conexant
5047 codec to point to the mixer amp properly.

Removed unneeded (doubly) verbs from arrays, also removed the unneeded
changing of widget 0x1c, which is now completely unused.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-10 15:13:25 +01:00
Takashi Iwai
3b628867f3 ALSA: hda - Remove superfluous verbs for Cxt5047 laptop-eapd model
Remove superfluous verbs from cxt5047_toshiba_init_verbs[].
Also fix comments and minor coding style issues.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-10 15:13:24 +01:00
Takashi Iwai
b880c74adf ALSA: hda - Create "Capture Source" control dynamically in patch_conexant.c
Create "Capture Source" control dynamically for Conexant codecs.
If only one capture item is available, don't create such a control
since it's just useless.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-10 15:13:23 +01:00
Takashi Iwai
dd5746a85c ALSA: hda - Create vmaster for conexant codecs
Instead of binding volumes, create a virtual master volume for Conexant
codecs.  This allows separate HP and speaker volume controls.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-10 15:13:17 +01:00
Takashi Iwai
6fce61aeaf ALSA: hda - Fix coding style issues in last two patches
Also re-ordered the quirk entries per SSID.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-10 07:49:50 +01:00
Christoph Plattner
443e26d014 ALSA: hda - Rework on patch_sigmatel.c for HP HDX16/HDX18
Code rework, comments of mail tiwai@suse.de (2009-03-09) incorporated.
Code tested on HP HDX16 (not tested on HDX18 yet).

Signed-off-by: Christoph Plattner <christoph.plattner@gmx.at>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-10 07:36:19 +01:00
Christoph Plattner
ae6241fbf5 ALSA: hda - Added HP HDX16/HDX18 notebook support for HDA codecs (82HD71)
Added codec recognition of HP HDX platforms and added support of the
MUTE LED (orange/white). For this feature the CONFIG_SND_HDA_POWER_SAVE
is needed to use event handling for mute control.

Signed-off-by: Christoph Plattner <christoph.plattner@gmx.at>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-10 07:35:20 +01:00
Takashi Iwai
139e071b0f ALSA: hda - Assign HP and speaker DACs before mic/line-in
Assign DACs to HP and speaker before mic-in/line-in shared outputs.
This improves the usability as it results in more intuitive mixer
names.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-06 12:10:41 +01:00
Takashi Iwai
ee58a7ca21 ALSA: hda - Connect to primary DAC if no individual DAC is available
In stac92xx_auto_fill_dac_nids[], connect to the primary DAC if no
individual DAC is available for each pin.  This ensures that the pin
works somehow at least.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-06 12:00:24 +01:00
Takashi Iwai
668b9652be ALSA: hda - Create multiple HP / speaker controls with index
Create multiple "Headphone" and "Speaker" controls with non-zero index
numbers instead of "Headphone2", etc.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-06 10:13:24 +01:00
Takashi Iwai
7a411ee01b ALSA: hda - Allow slave controls with non-zero indices
Fix snd_hda_add_vmaster() to check the non-zero indices of slave controls.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-06 10:08:14 +01:00
Takashi Iwai
dc04d1b4d2 ALSA: hda - Create output controls according to pin types for IDT/STAC
Improve the parser to pick up more intuitive control names for the
outputs judging from the pin type, instead of fixed names assigned
to channels.

Also, revive the multi-HP workaround since this change fixes the
problem with the multi-HP detection.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-06 10:04:24 +01:00
Takashi Iwai
b3225190c1 Merge branch 'fix/hda' into topic/hda 2009-03-06 09:52:36 +01:00
Takashi Iwai
c50ff7c042 ALSA: hda - Fix headphone-detect regression with multiple HP jacks
The recent changes over the DAC detection mechanism in patch_sigmatel.c
breaks the HP detection on the machines with multiple HP jacks.
It's basically because of the workaround to support the multi-channel
output.  Since the HP detection is more important feature, disable
the HP-swap workaroud temporarily.

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

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-06 09:47:22 +01:00
Takashi Iwai
14b97595e0 ALSA: hda - Fix typos in slave controls in patch_sigmatel.c
"Headphone Playback ..." appears twice in slave_vols[] and slave_sws[].
They should be "Headphone Playback2 ..."

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-06 09:42:07 +01:00
Takashi Iwai
f03d3115a6 ALSA: Fix sample rate of Lenovo Ideapad to 44.1kHz
Noises can be heard on analog outputs of (some model of) Lenovo
Ideapad due to the hardware problem, and the only workaround right now
is to fix the sample rate to 44.1kHz.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-05 14:18:26 +01:00
Takashi Iwai
37db623ae2 ALSA: hda - Fix check of ALC888S-VC in alc888_coef_init()
Fixed the wrong bits check to identify ALC888S-VC model in
alc888_coef_init().

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-05 09:40:16 +01:00
Herton Ronaldo Krzesinski
7ec30f0e77 ALSA: hda - Map 3stack-hp model (ALC888) for HP Educ.ar
Added model=3stack-hp for HP Educ.ar desktop machine (103c:2a72).

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-04 21:05:40 +01:00
Herton Ronaldo Krzesinski
8718b700cc ALSA: hda - Add headphone automute support for 3stack-hp model (ALC888)
Mute speaker outputs on headphone insertion for machines that use
3stack-hp model.

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-04 21:05:25 +01:00
Herton Ronaldo Krzesinski
3ea0d7cf47 ALSA: hda - Add 4 channel mode for 3stack-hp model (ALC888)
Add additional 4 channel mode for 3stack-hp models.

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-04 21:05:11 +01:00
Takashi Iwai
bd6afe3f34 ALSA: hda - Fix conflict of mixer controls on Sony VAIO VGN-AR71S
The recent update enabled the model=sony-assamd for all ALC262 with
PCI SSID 104d:90xx.  But this includes the VAIO VGN-AR* that has the
primary codec of STAC92xx and the secondary ALC262 as a slave
digital-only codec.  For this device, the model=auto must be chosen
to work properly.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-04 11:30:25 +01:00
Takashi Iwai
79d7d5333b ALSA: hda - Fix HP dv6736 mic input
Fix the mic input of HP dv6736 with Conexant 5051 codec chip.
This laptop seems have no mic-switching per jack connection.
A new model hp-dv6736 is introduced to match with the h/w implementation.

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

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-04 09:03:50 +01:00
Takashi Iwai
82ad39f939 ALSA: hda - Fix gcc compile warning
It's false positive, but annoying.
  sound/pci/hda/hda_codec.c: In function ‘get_empty_pcm_device’:
  sound/pci/hda/hda_codec.c:2772: warning: ‘dev’ may be used uninitialized in this function

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-03 15:00:35 +01:00
Takashi Iwai
6565e4faca ALSA: hda - Add more hint options for IDT/Sigmatel codecs
Allow more options to be set/reset via hwdep hint entry.
hp_detect, gpio_mask, gpio_dir, gpio_data, eapd_mask and eapd_switch
can be checked.

For example, to disable hp_detect on the fly,
	# echo "hp_detect=0" > /sys/class/sound/hwC0D0/hints

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-02 17:30:00 +01:00
Takashi Iwai
d78d7a90ad ALSA: hda - Create "Analog Loopback" controls optionally
Don't create "Analog Loopback" controls as default since these controls
are usually more harmful than useful for normal users.
Only created when "loopback = yes" hint is given.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-02 17:30:00 +01:00
Takashi Iwai
ab1726f920 ALSA: hda - Add show for init_verbs and hints sysfs entries
Added the show method for init_verbs and hints hwdep sysfs entries.
They show the current values.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-02 17:29:53 +01:00
Takashi Iwai
43b62713f6 ALSA: hda - Add hint string helper functions
Added snd_hda_get_hint() and snd_hda_get_bool_hint() helper functions
to retrieve a hint value.

Internally, the hint is stored in a pair of two strings, key and val.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-02 17:28:54 +01:00
Takashi Iwai
6e655bf216 ALSA: hda - Don't return a fatal error at PCM-creation errors
Don't return a fatal error to the driver but continue to probe when
any error occurs at creating PCM streams for each codec.
It's often non-fatal and keeping it would help debugging.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-02 10:46:30 +01:00
Takashi Iwai
f93d461bcd ALSA: hda - Revert the codec probe at control-creation errors
Revert the codec probe instead of returning the error to the driver
when any error occurs at creating the control elements.
The control element conflict can be non-fatal in many cases,
especially if it comes from the digital-only codec.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-02 10:44:15 +01:00
Takashi Iwai
d1f1af2dbf ALSA: hda - Intialize more codec fields in snd_hda_codec_reset()
Initiailize forgotten fields in snd_hda_codec_reset().

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-02 10:35:29 +01:00
Takashi Iwai
4c4531d64d ALSA: hda - Remove Toshiba probe_mask quirk
Revert the Toshiba probe_mask quirk for 2.6.29 kernel
(commit 38f1df27e3).
In the current tree, the digital-only codec is handled properly so
no codec conflict should occur.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-02 08:06:11 +01:00
Takashi Iwai
892981ffbe ALSA: hda - Don't create a beep control for digital-only ALC268
When an ALC268 codec is set up as the digital-only (as found in Toshiba
laptops), it shouldn't contain any beep control that conflict with the
primary codec.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-02 08:04:35 +01:00
Takashi Iwai
b31b43e9fb Merge branch 'fix/hda' into topic/hda
Conflicts:
	sound/pci/hda/hda_intel.c
2009-03-02 08:04:10 +01:00
Takashi Iwai
38f1df27e3 ALSA: hda - Add probe_mask default for Toshiba laptop with ALC268
Some Toshiba laptops have another ALC268 codec on slot#3 that conflicts
with the primary codec.  The codec#3 is for the digital I/O, and should
be fixed by the driver, but it'd need a bunch of changes.

So, let's fix the probe problem temporarily by setting the default
probe_mask value.

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

Tested-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-02 07:55:52 +01:00
Takashi Iwai
c82c8abdee ALSA: hda - Fix an "unused variable" compile warning
Forgot to remove an unused variable.
  sound/pci/hda/patch_realtek.c: In function ‘alc882_auto_init_analog_input’:
  sound/pci/hda/patch_realtek.c:7018: warning: unused variable ‘vref’

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-27 17:52:22 +01:00
Takashi Iwai
53eff7e1e0 ALSA: hda - Match all 103c:17xx devices for HP BPC model
Use SND_PCI_QUIRK_MASK() to match all devices with 103c:17xx for
HP BPC model.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-27 17:49:44 +01:00
Takashi Iwai
f897497673 Merge branch 'fix/hda' into topic/hda
Conflicts:
	sound/pci/hda/patch_realtek.c
2009-02-27 17:47:31 +01:00
Takashi Iwai
bb543c9694 ALSA: hda - Add quirk for new HP xw series
Added model=hp-bpc for new HP xw series (103c:170b).

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-27 17:44:07 +01:00
Takashi Iwai
ea18aa4644 ALSA: hda - Fix digital mic on dell-m4-1 and dell-m4-3
Fix num_dmuxes initialization for dell-m4-1 and dell-m4-3 models
of IDT 92HD71bxx codec, which was wrongly set to zero.

Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-27 17:36:33 +01:00
peerchen
bedfcebb4f ALSA: hda - Add the Device IDs for MCP89 and remove IDs of MCP7B
Added the Device IDs for MCP89 HD audio controller.
Removed the IDs of MCP7B cause this chipset had been cancelled.

Signed-off-by: Peer Chen <peerchen@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-27 10:22:55 +01:00
Takashi Iwai
1607b8ea0a ALSA: hda - Add model=auto for STAC/IDT codecs
Added the model=auto to STAC/IDT codecs to use the BIOS default setup
explicitly.  It can be used to disable the device-specific model quirk
in the driver.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-26 16:50:43 +01:00
Takashi Iwai
23f0c048ba ALSA: hda - Clean up the input pin setup in automatic mode
Clean up the input-pin setup in automatic mode in patch_realtek.c.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-26 13:03:58 +01:00
Hannes Eder
5d9b6c0783 ALSA: sound/pci/hda: fix sparse warning: different signedness
Fix this sparse warning:
  sound/pci/hda/hda_codec.c:1544:19: warning: incorrect type in assignment (different signedness)
  sound/pci/hda/hda_codec.c:1544:19:    expected unsigned long *vals
  sound/pci/hda/hda_codec.c:1544:19:    got long *<noident>

Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-26 09:59:04 +01:00
Takashi Iwai
f872a9194c ALSA: hda - Clean up / fix quirk for Sony laptops with ALC262
Clean up / fix quirk entries for Sony laptops with ALC262 codec
using NSD_PCI_QUIRK_MASK().

This also fixes the kernel bug #12780
	http://bugme.linux-foundation.org/show_bug.cgi?id=12780

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-26 00:57:01 +01:00
Takashi Iwai
873dc78a86 ALSA: hda - Clean up / fix quirks for HP laptops with AD1984A
Use SND_PCI_QUIRK_MASK() to clean up / support better HP laptops with
AD1984A codec.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-25 18:12:13 +01:00
Takashi Iwai
a65d629ceb ALSA: hda - Add pseudo device-locking for clear/reconfig
Added the pseudo device-locking using card->shutdown flag to avoid
the crash via clear/reconfig during operations.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-23 16:57:04 +01:00
Takashi Iwai
209b140336 Merge branch 'test/hda-pincfg' into topic/hda 2009-02-23 14:15:47 +01:00
Takashi Iwai
13c989beba ALSA: hda - Don't give over 0dB volume for AD1984A HP laptops
Set the upper limit 0dB to the volume of mixer amp 0x20 for
AD1984A HP laptops.  The overloaded volume may damage the internal
speaker.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-23 11:33:34 +01:00
Takashi Iwai
5e7b8e0d87 ALSA: hda - Make user_pin overriding the driver setup
Make user_pin overriding even the driver pincfg, e.g. the static / fixed
pin config table in patch_sigmatel.c.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-23 09:45:59 +01:00
Takashi Iwai
346ff70fdb ALSA: hda - Rename {override,cur}_pin with {user,driver}_pin
Rename from override_pin and cur_pin with user_pin and driver_pin,
respectively, to be a bit more intuitive.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-23 09:42:57 +01:00
Takashi Iwai
c17a1abae2 ALSA: hda - Use snd_hda_codec_get_pincfg() in the rest places
Replace with snd_hda_codec_get_pincfg() in the places where available.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-23 09:28:12 +01:00
Takashi Iwai
1618a3281b Merge branch 'fix/hda' into topic/hda
Conflicts:
	sound/pci/hda/patch_realtek.c
2009-02-23 08:14:41 +01:00
Juan Jesus Garcia de Soria
cc374c477c ALSA: hda - Quirk for Acer Aspire 6530G
The Acer Aspire 6530G needs the 4930G "model" for the front mic to
work properly.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-23 08:13:53 +01:00
Luke Yelavich
2d46638160 ALSA: hda - add another MacBook Pro 3,1 SSID
Reference: Ubuntu bug #33245
    https://bugs.launchpad.net/bugs/332456

Signed-off-by: Luke Yelavich <themuso@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-23 07:54:26 +01:00
Michael Schwingen
cc95948972 ALSA: hda - add support for "Maxdata Favorit 100XS" (Intel HDA/ALC260)
Signed-off-by: Michael Schwingen <michael@schwingen.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-23 07:39:34 +01:00
Takashi Iwai
2f334f92cf ALSA: hda - Remove codec-specific pin save/restore functions
Replace the accessor to pin defaults with the common code for caching.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-20 16:48:40 +01:00
Takashi Iwai
330ee99579 ALSA: hda - Remove IDT codec-specific pin save/restore functions
Removed its own save/restore functions and replaced with the common code.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-20 16:48:39 +01:00
Takashi Iwai
0e8a21b59d ALSA: hda - Remove realtek codec-specific pin save/restore functions
Now it's done in the common code.
Also use the common access functions for pin defaults.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-20 16:48:38 +01:00
Takashi Iwai
3be141494a ALSA: hda - Add generic pincfg initialization
Added the generic pincfg cache and save/restore functions.
Also introduced the pin-overriding via hwdep sysfs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-20 16:48:26 +01:00
Takashi Iwai
d2f57cd54a Merge branch 'fix/hda' into topic/hda 2009-02-20 16:06:47 +01:00
Takashi Iwai
55290e1932 ALSA: hda - Fix parse of init_verbs sysfs entry
Fixed the parse of init_verbs hwdep sysfs entry.
Simplieied using sscanf.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-20 16:06:30 +01:00
Takashi Iwai
7e0e44d430 ALSA: hda - Add digital-only mode for ALC268
ALC268 can be configured as digital-only, e.g. for HDMI, on some
machines.  Allow the parser to set up the digital-only mode.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-19 08:15:49 +01:00
Takashi Iwai
ab9fec099b ALSA: hda - Avoid doubly beep attachment in patch_alc268()
Remove the doubly attachment in patch_alc268().
The input beep is attached conditionally only when needed.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-19 08:13:26 +01:00
Takashi Iwai
07eba61dd6 ALSA: hda - Don't enable beep for digital-only ALC262
When ALC262 codec is configured as digital-only, it's meaningless to
add the digital beep input.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-19 08:06:35 +01:00
Takashi Iwai
b3bdb30b6d ALSA: hda - Add quirk for Acer X3200
Acer X3200 needs model=auto, otherwise model=acer is pre-selected.

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

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-18 13:16:26 +01:00
Takashi Iwai
c23127566c ALSA: hda - Clean up quirks for HP laptops with AD1984A
Clean up quirks for HP laptops with AD1984A using SND_PCI_QUIRK_MASK()

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-16 15:20:41 +01:00
Takashi Iwai
2ae466f8cc ALSA: hda - Cleanup IDT92HD7x HP quirks
Clean up IDT92HD7x quirks for HP laptops with SND_PCI_QUIRK_MASK().

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-16 14:16:36 +01:00
Takashi Iwai
e23573d7e3 Merge branch 'fix/hda' into topic/hda 2009-02-16 10:23:35 +01:00
Herton Ronaldo Krzesinski
e2ea57a8df ALSA: hda - Fix speaker output on HP DV4 1155-SE
Force speaker pin config with model=hp-dv5 model for cases when bios
doesn't set it up properly. All reported hp laptops using model=hp-dv5
model have speaker at pin 0x0d with same config, so it's safe to add
this within hp-dv5 model.

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

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-16 10:23:00 +01:00
Takashi Iwai
d14a7e0bfc Revert "Sound: hda - Restore PCI configuration space with interrupts off"
This reverts commit 32e176c14d.

That commit caused a regression with suspend on Thinkpad SL300.

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

Tested-by:  Alexandre Rostovtsev <tetromino@gmail.com>
Acked-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-16 10:16:27 +01:00
Takashi Iwai
6a05ac4afa ALSA: hda - Support multiple digital outs with auto-probing
Added the support of multiple digital outputs via auto-probing for
Realtek ALC88x codecs.  The multiple outputs are handled as slave
streams, so only one PCM stream (and the corresponding IEC958*
elements) is provided to control both digital outputs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-13 11:59:33 +01:00
Takashi Iwai
9b5f12e5a4 ALSA: hda - Add proper cleanup for multiout-dig for ALC codecs
The recent patch_realtek.c contains the slave digital-out support
as well.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-13 11:59:31 +01:00
Takashi Iwai
c8a1a8985d Merge branch 'fix/hda' into topic/hda 2009-02-13 11:59:26 +01:00
Takashi Iwai
9411e21cd0 ALSA: hda - Add snd_hda_multi_out_dig_cleanup()
Added the helper function snd_hda_multi_out_dig_cleanup() to clean up
the digital outputs with multi setup.  This call is needed in cases
the codec supports multiple digital outputs as slaves.  Otherwise the
slave widgets aren't properly cleaned up.

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

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-13 11:59:13 +01:00
Takashi Iwai
3a08e30de2 ALSA: hda - Add missing terminator in slave dig-out array
Added the missing terminator for ad1989b_slave_dig_outs[].

Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-13 11:53:27 +01:00
Takashi Iwai
946835074e ALSA: hda - Add quirk for Acer AX1700-U3700A
Force model=auto for Acer AX1700-U3700A with ALC888 codec.
Since Acer devices are handlded as model=acer as default, the auto
parsing has to be specified explicitly.
(Maybe it's better rather to remove this default model=acer handling,
 though.)

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-13 09:31:20 +01:00
Takashi Iwai
344384494e Merge branch 'fix/hda' into topic/hda 2009-02-13 08:41:44 +01:00
Herton Ronaldo Krzesinski
92258a3ed2 ALSA: hda - Change HP dv7 (103c:30f4) quirk from hp-m4 to hp-dv5 model
Change HP dv7 quirk: although reported to work with hp-m4 model
(https://bugzilla.novell.com/show_bug.cgi?id=445321), the original
report doesn't contain info about testing of internal microphone.

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

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-13 08:41:00 +01:00
Aristeu Sergio Rozanski Filho
27e089888f ALSA: hda: add quirk for Lenovo X200 laptop dock
Currently the HP connector on X200 dock doesn't detect when a HP is connected
nor allows sound to be played using it. This patch fixes the problem by adding
a quirk for this specific model. It's possible that others have the same NID
(0x19) to report when dock HP is connected, but I don't have access to any.
Please Cc me in the reply since I'm not subscribed to alsa-devel@.

Signed-off-by: Aristeu Rozanski <aris@redhat.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-13 08:40:20 +01:00
Matthew Ranostay
8bb0ac5573 ALSA: hda: Add STAC_DELL_S14 quirk
Add STAC_DELL_S14 quirk for new laptop series. Removed un-needed pins
in pin_nids for stac92hd83xxx. Also reorganized connection selection
code for the respective ports per quirk define.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-13 08:35:08 +01:00
Takashi Iwai
20db7cb0ac ALSA: hda - Add forced codec-slots for ASUS W5F
ASUS W5F needs the fixed codec-slots to probe to override the BIOS
problem.

Tested-by: Giovanni Moser Frainer <giovanni@redix.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-13 08:19:30 +01:00
Takashi Iwai
f1eaaeec11 ALSA: hda - Allow fixed codec-probe mask
Some devices have broken BIOS and they don't set the codec probe-bit
properly after cleared by the driver.  This makes the driver skipping
the necessary codec slots.

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

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

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-13 08:16:55 +01:00
Herton Ronaldo Krzesinski
c98041f7d7 ALSA: hda - Cleanup setting of pin_configs in patch_stac927x
After commit "ALSA: hda - Fix restore of pin configs at resume for
STAC/IDT codecs", the introduced stac_save_pin_cfgs function checks
already for pins == NULL case, saving then default pin configs from
machine with stac92xx_save_bios_config_regs. So we can remove the
extra checks when stac927x_brd_tbl[spec->board_config] == NULL.

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-12 00:17:31 +01:00
Takashi Iwai
a1152e3570 Merge branch 'fix/hda' into topic/hda 2009-02-12 00:14:34 +01:00
Takashi Iwai
26a74f1f61 ALSA: hda - Register (new) devices at reconfig
The devices that have been newly added during reconfig must be
registered.  Otherwise they won't be visible to user-space.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-12 00:13:19 +01:00
Takashi Iwai
0852d7a654 ALSA: hda - Detect multiple digital-out pins
Detect multiple digital-out pins in snd_hda_parse_pin_defconfig().
The dig_out_pin and dig_out_type fields become arrays.

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

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-12 00:04:19 +01:00
Takashi Iwai
32d2c7fa13 ALSA: hda - Fix a wrong pin check in snd_hda_parse_pin_def_config()
Fixed a wrong pin check (a typo) for debug print of digital input pin.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-11 11:33:13 +01:00
Takashi Iwai
df22313637 Merge branch 'fix/hda' into topic/hda 2009-02-11 09:09:29 +01:00
Wu Fengguang
a57c0eb655 ALSA: hda - add id for Intel IbexPeak integrated HDMI codec
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-11 09:09:15 +01:00
Wu Fengguang
9a957a24e3 ALSA: hda - compute checksum in HDMI audio infoframe
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-11 09:09:07 +01:00
Wu Fengguang
606c0cee69 ALSA: hda - enable HDMI audio pin out at module loading time
We found that enabling/disabling HDMI audio pin out at stream start/stop
time will kill the leading 500ms or so sound samples. Avoid this by enabling
pin out once and for ever at module loading time.

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

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-11 09:08:59 +01:00
Wu Fengguang
a1667e4eea ALSA: hda - allow multi-channel HDMI audio playback when ELD is not present
The YAMAHA AV-X1800 requires audio infoframe to include speaker-channel
mapping to play >2 channel HDMI audio. In theory that mapping should be
derived from its speaker configurations contained in its ELD. However we
currently cannot get ELD in console before the KMS functionalities are ready.
This is a more or less general issue at least in the near future. As a
workaround, we propose to allow playback of mult-channel audio when ELD
is not available.

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-11 09:08:47 +01:00
Takashi Iwai
501ca25629 Merge branch 'fix/hda' into topic/hda 2009-02-10 17:17:17 +01:00
Mackenzie Morgan
44a678d04b ALSA: hda - Add quirk for Asus z37e (1043:8284)
Added a quirk for Asus Z37E for fixing suspend/hibernation problem.

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

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-10 17:13:43 +01:00
Takashi Iwai
22971e3a77 ALSA: hda - add digital beep support for ALC268
Added the digital beep support for ALC268.  It was missing in the
last patches.

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

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-10 11:56:44 +01:00
Takashi Iwai
dea0a5095b ALSA: hda - Clean up quirk lists
Clean up quirk lists with bit masks.
Also, sorted in numerical order for alc662_cfg_tbl[].

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-09 17:19:32 +01:00
Herton Ronaldo Krzesinski
23c7b521c2 ALSA: hda - Don't touch non-existent port f on 4-port 92hd71bxx codecs
When checking for input amps on pins 0x0a, 0x0d and 0x0f, and
initializing them for 92hd71xxx codec models, we must skip nid 0x0f
for 4-port models too like with 5-port models, as it is unused
(nid 0x0f is vendor reserved in 4-port models).

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-09 08:25:23 +01:00
Herton Ronaldo Krzesinski
8663ae55f3 ALSA: hda - Bind new ecs mobo id (1019:2950) to model=ecs202
This adds a new sound quirk entry (model=ecs202) for an ecs motherboard
with IDT STAC9221 codec (1019:2950).

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-09 08:25:08 +01:00
Takashi Iwai
cfb9fb5517 ALSA: hda - Fix unused variable compile warning
sound/pci/hda/patch_realtek.c:12693: warning: unused variable ‘i’

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-06 17:34:03 +01:00
Takashi Iwai
c5a4bcd0ca ALSA: hda - Use digital beep for AD codecs
Use digital beep instead of analog pc-beep for AD codecs.
Create the beep mixer controls dynamically on demand.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-06 17:22:05 +01:00
Takashi Iwai
a4ddeba9c8 ALSA: hda - Remove superfluous code in patch_realtek.c
codec->spec is reset in the caller side.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-06 17:21:09 +01:00
Takashi Iwai
c44765b8c8 ALSA: hda - Clear codec->beep at release
Clear codec->beep field in snd_hda_detach_beep_device() to be sure.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-06 16:48:10 +01:00
Takashi Iwai
c8dcdf829c ALSA: hda - Add missing NULL check in snd_hda_create_spdif_in_ctls()
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-06 16:21:20 +01:00
Takashi Iwai
d95ad4a9c0 Merge branch 'fix/hda' into topic/hda 2009-02-06 16:13:34 +01:00
Takashi Iwai
45bdd1c1bb ALSA: hda - Create beep mixer controls dynamically for Realtek codecs
Create beep mixer controls dynamically for Realtek codecs instead of
static arrays.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-06 16:13:29 +01:00
Takashi Iwai
4a5a4c56b4 ALSA: hda - Add missing COEF initialization for ALC887
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-06 12:46:59 +01:00
Takashi Iwai
c6e8f2daad ALSA: hda - Add missing initialization for ALC272
ALC272 needs EAPD for speaker outputs as well as other similar ALC
codecs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-06 12:45:52 +01:00
Wu Fengguang
b25c9da198 ALSA: enable concurrent digital outputs for ALC1200
Add the SPDIF pin as slave digital out to enable concurrent
HDMI/SPDIF outputs for ASUS M3A-H/HDMI with ALC1200 codec.

Tested-by: Thomas Schneider <nailstudio@gmx.net>
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-06 08:45:25 +01:00
Takashi Iwai
939778aedd ALSA: hda - Add missing KERN_* prefix to printk
... and disable the annoying debug message.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-05 15:58:32 +01:00
Takashi Iwai
632da7321b ALSA: hda - Add quirk for another HP laptop
Add model=laptop entry for another HP laptop (103c:3077) with AD1984A.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-05 15:02:40 +01:00
Takashi Iwai
67f7857ab1 ALSA: hda - Add quirk for HP zenith laptop
Added model=laptop for another HP laptop (103c:3072) with AD1984A codec.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-05 12:14:52 +01:00
Matthew Ranostay
45c1d85bcc ALSA: hda: Added stac378x digital slave out struct
Added the ADATOut nid to a slave digital outs struct to allow output
via the DigOut pin.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-05 08:01:01 +01:00
Herton Ronaldo Krzesinski
29d4ab4d6e ALSA: hda - Don't call stac92xx_parse_auto_config with wrong dig_in
Don't use uneeded/wrong third parameter for stac92xx_parse_auto_config
in patch_stac92hd71bxx (no SPDIF in).

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-05 07:56:35 +01:00
Herton Ronaldo Krzesinski
6df703aefc ALSA: hda - Dynamic detection of dmics/dmuxes/smuxes in stac92hd71bxx
Detect the number of connected ports and number of smuxes dynamically,
looking at pin configs, using new introduced functions
stac92hd71bxx_connected_ports and stac92hd71bxx_connected_smuxes. Also
use proper input mux configuration for 4port and 5port models.

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-05 07:54:34 +01:00
Herton Ronaldo Krzesinski
616f89e74c ALSA: hda - Additional pin nids for STAC92HD71Bx and STAC92HD75Bx codecs
Current code for STAC92HD71Bx and STAC92HD75Bx doesn't consider pin
complexes 0x20 and 0x27. Also for 4 port models, nids 0x0e and 0x0f
are vendor reserved. This commit changes code so it'll consider the
additional pin complexes for models that have it, and avoid reserved
nids to be touched on 4 port models.

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-05 07:54:32 +01:00
Takashi Iwai
306f47bd63 Merge branch 'fix/hda' into topic/hda 2009-02-05 07:42:28 +01:00
Takashi Iwai
e8c0ee5d77 ALSA: hda - Fix misc workqueue issues
Some fixes regarding snd-hda-intel workqueue:
- Use create_singlethread_workqueue() instead of create_workqueue()
  as per-CPU work isn't required.
- Allocate workq name string properly
- Renamed the workq name to "hd-audio*" to be more obvious.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-05 07:41:04 +01:00
Takashi Iwai
8f95c102c5 Merge branch 'fix/hda' into topic/hda 2009-02-04 23:32:03 +01:00
Takashi Iwai
f67d8176ba ALSA: hda - Add quirk for FSC Amilo Xi2550
Added model=fujisu-pi2515 for FSC Amilo Xi2550 with ALC883 codec.

Refernece: Novell bnc#450979
	https://bugzilla.novell.com/show_bug.cgi?id=450979

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-04 23:31:50 +01:00
Kusanagi Kouichi
680cd53652 ALSA: hda: Add digital beep generator support for Realtek codecs.
A digital beep generator can be used via input layer.

Signed-off-by: Kusanagi Kouichi <slash@ma.neweb.ne.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-04 16:17:42 +01:00
Tony Vroon
ba340e825f ALSA: hda - Add tyan model for Realtek ALC262
The Realtek ALC262 on the Tyan Thunder n6650W (S2915-E) mainboard has a
rather odd configuration template. As a result, the white AUX connector
can not be used. This rewrites the default config to more accurately
reflect the connector layout, colour and function.
Unfortunately the black CD_IN connector, which is suspected to be widget
0x1c refuses to switch into input (0x20), instead opting to remain on 0x0.
As such, no mixer controls are exposed for it. Autoswitching is implemented
between the front headphone output and back line output.

Signed-off-by: Tony Vroon <tony@linx.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-03 12:00:17 +01:00
Takashi Iwai
51408e8a32 Merge branch 'fix/hda' into topic/hda 2009-02-02 11:43:36 +01:00
Takashi Iwai
516a1ced45 ALSA: hda - No widget selection for volume knob widgets in proc output
Volume-knob widgets have no widget selection although they have widget
connections.  Thus, the connection list in the proc output shouldn't
contain the selection (*).

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-02 11:42:08 +01:00
Mark Eggleston
3077e44c48 ALSA: hda - Add support of iMac 24 Aluminium
Added the support for 24" Aluminium iMac (106b:3e00)

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-31 17:57:54 +01:00
Takashi Iwai
42de55cb3b ALSA: hda - Add quirk for another HP dv5 model
Added model=hp-dv5 for another HP dv5 model with AMD chip (103c:3600)

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

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-30 15:49:58 +01:00
Herton Ronaldo Krzesinski
b98b7b347e ALSA: hda - make alc882_auto_init_input_src aware of selectors
In the case of having a selector instead of mixer while initing input
sources, the case that happens with ALC889, we must select instead
of muting input. Problem was found while testing with hda-emu.

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-29 16:33:02 +01:00
Herton Ronaldo Krzesinski
61b9b9b109 ALSA: hda - Consider additional capture source/selector in ALC889
Currently code for capture source support in ALC889 only considers
capture mixers. This change adds additional support for ADC+selector
present in ALC889, taking into account also the presence of an
additional DMIC connection item in the selector.

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-28 16:25:39 +01:00
Luke Yelavich
2a88464ceb ALSA: hda - add another MacBook Pro 4, 1 subsystem ID
Add another MacBook Pro 4,1 SSID (106b:3800). It seems that latter revisions,
(at least mine), have different IDs to earlier revisions.

Signed-off-by: Luke Yelavich <themuso@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-28 08:10:22 +01:00
Takashi Iwai
5801f99227 ALSA: hda - Fix compile warning with CONFIG_SND_JACK=n
sound/pci/hda/patch_conexant.c:352: warning: 'conexant_add_jack' defined but not used

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-27 12:54:10 +01:00
Joerg Schirottke
aa9d823bb3 ALSA: hda - Add quirk for HP DV6700 laptop
Added the matching model=laptop for HP DV6700 laptop.

Signed-off-by: Joerg Schirottke <master@kanotix.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-27 11:01:34 +01:00
Matthew Ranostay
ca8d33fc9f ALSA: hda: 92hd71xxx disable unmute support for codecs that don't have input amps
Some revisions of the 92hd71xxx codec families don't have input amps
on ports 0xa, 0xd and 0xf, so probe the widget caps on port 0xa and
check for support, if found run snd_hda_sequence_write_cache() on the
stac92hd71xxx_unmute_core_init verb list.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-26 16:50:26 +01:00
Takashi Iwai
70040c0740 ALSA: hda - Fix wrong initial verb for AD1984 thinkpad model
The docking mic-boost (0x25) has no mute bit.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-23 14:18:11 +01:00
Takashi Iwai
4cfb91c6d7 ALSA: hda - Fix invalid amp init for ALC268 codec
Fix some invalid AMP initializations for ALC268 codecs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-23 12:53:09 +01:00
Takashi Iwai
60e388e89c ALSA: hda - Fix invalid verbs for mic-boosts on AD1884*
The mic-boosts (0x14 and 0x15) on AD1884* codecs are input-amps,
not output-amps.  Fix the invalid initialization verbs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-23 12:37:09 +01:00
Takashi Iwai
19a2d3e9b9 ALSA: hda - Remove invalid amp initializations for AD1988* codecs
The ADC widgets on AD1988* codecs have no amp controls.
Remove invalid initialization verbs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-23 12:35:25 +01:00
Takashi Iwai
6d6e17de4f ALSA: hda - Fix initial verbs for mic-boosts on AD1981HD
The mic boosts (NID 0x08 and 0x18) are input-amps, not output-amps.
Fix the initial verbs for them.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-23 12:33:54 +01:00
Takashi Iwai
e3c7596466 ALSA: hda - Create "Input Source" control dynamically for STAC/IDT
Instead of fixed kcontrol_new element, build "Input Source" controls
dynamically.  If the number of input-source items is 0 or 1, we don't
need to create such a control.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-23 11:57:22 +01:00
Takashi Iwai
028b9445b4 Merge branch 'fix/hda' into topic/hda 2009-01-23 11:55:52 +01:00
Takashi Iwai
00a602db1c ALSA: hda - Fix PCM reference NID for STAC/IDT analog outputs
The reference NID for the analog outputs of STAC/IDT codecs is set
to a fixed number 0x02.  But this isn't always correct and in many
codecs it points to a non-existing NID.

This patch fixes the initialization of the PCM reference NID taken
from the actually probed DAC list.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-23 11:55:42 +01:00
Takashi Iwai
8056d47e77 ALSA: hda - Add model=ref for Intel board with STAC9221
An intel board (8086:0204) works only with model=ref.

Reference: Novell bug #406529
	https://bugzilla.novell.com/show_bug.cgi?id=406529

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-23 09:09:43 +01:00
Matthew Ranostay
577aa2c195 ALSA: hda: add reference board SND_PCI_QUIRK
Add another LanParty reference board SND_PCI_QUIRK to quirk lists of
all codec families.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-23 08:11:43 +01:00
Takashi Iwai
7907f6a411 Merge branch 'fix/hda' into topic/hda 2009-01-23 08:07:51 +01:00
Matthew Ranostay
32ed3f4640 ALSA: hda: Add STAC92HD83XXX_PWR_REF quirk
Some revisions of the 92hd8xxx codec's not supporting port power
downs in which the using of it causes capture and also randomly
playback streams to not function at all. Thus by disabling it by
default and adding a option to enable it manually will fix all issue
on current and future revisions.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-23 08:06:57 +01:00
Matthew Ranostay
87e88a746d ALSA: hda: revert change to 92hd83xxx power mapping
Port 0xe power mapping was incorrect set to 0x80 changed to the correct
value 0x40.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-23 08:05:02 +01:00
Takashi Iwai
d9a4268ee9 ALSA: hda - Add quirk for Gateway %1616 laptop
Gateway T1616 laptop needs EAPD always on while the current STAC9205
code turns off per HP plug.  Added a new model "eapd" to keep it on.

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

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-22 17:41:14 +01:00
Takashi Iwai
eda6829394 Merge branch 'fix/hda' into topic/hda 2009-01-22 17:10:22 +01:00
Takashi Iwai
8ce8419829 ALSA: hda - Avoid to set the pin control again if already set
Check the present pin control bit and avoid the write if it's already
set in patch_sigmatel.c.  This will reduce the number of verb execs at
jack plugging.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-22 16:59:20 +01:00
Takashi Iwai
e0c0e943af ALSA: hda - Add model entry for HP dv4
Added model=hp-dv5 for HP dv4 (103c:30f7).

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

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-22 12:58:11 +01:00
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