Commit Graph

959 Commits

Author SHA1 Message Date
Matthew Ranostay
f7c5dda23a ALSA: hda: 92hd71bxx PC Beep
Added volume controls for the analog PC Beep on 92hd71bxx codecs.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-07-14 09:00:26 +02:00
Jaroslav Kysela
34ec8a0ae1 ALSA: HDA - HP dc7600 with pci sub IDs 0x103c/0x3011 belongs to hp-3013 model
As reported and tested by an RedHat customer, HP dc7600 with pci sub IDs
0x103c/0x3011 works with the hp-3013 model and not with the hp only model.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-07-10 14:49:19 +02:00
Matthew Ranostay
7e2574050e ALSA: hda - removed redundant gpio_mask
An gpio_mask value was defined twice needlessly.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-07-10 09:32:49 +02:00
Takashi Iwai
be321a890c ALSA: hda - Add support for Lenovo 3000 N200
Added the model entry (model=lenovo) for Lenovo N3000 N200 laptop
with ALC861-VD.  Reference below:
	https://bugzilla.novell.com/show_bug.cgi?id=406425

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-07-10 09:32:26 +02:00
Takashi Iwai
6a9dccd612 ALSA: ALSA: hda - Fix speaker output on Toshiba P105
Toshiba Satellite P105 with cx5045 has no HP pin but only a
speaker pin and does the speaker-muting on hardware.
Thus the matching model is laptop-micsense.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-07-10 09:32:03 +02:00
Takashi Iwai
470eaf6be7 ALSA: hda - Add missing Thinkpad Z60m support
Added the missing SSID of Thinkpad Z60m for model=thinkpad with
AD1981HD.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-07-10 09:31:58 +02:00
Takashi Iwai
0701e0640f ALSA: ALSA: hda - Fix ALC883 medion model
ALC883 medion model doesn't unmute the proper amps so no output can be heard.
Replaced the mute switches to behave just like other models.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-07-10 09:31:54 +02:00
Takashi Iwai
031005f78c ALSA: hda - disable amp override on non-HP machines
Some machines with Cx5045 seem to have no problem with the volume
over 0dB on NID 0x17.  Disable amp overrides for other devices but HP.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-06-27 08:51:21 +02:00
Takashi Iwai
c7e0757a46 ALSA: hda - Add MacBook 3.1 support
MacBook 3.1 is compatible with model=mbp3.
Added the codec SSID 10b6:3600.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-06-27 08:51:05 +02:00
Travis Place
1d11604eeb ALSA: hda - Added SSID for 'Fujitsu Siemens Amilo M1451G' laptop
Add the SSID for the "Fujitsu Siemens Amilo M1451G" laptop to
patch_realtek.c , so that it uses ALC880_FUJITSU by default.

Signed-off-by: Travis Place <wishie@wishie.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-06-26 09:01:26 +02:00
Travis Place
3e0e469fa2 ALSA: hda - Added model selection for iMac 24"
Added the SSID of a known iMac 24" to automatically use
ALC885_IMAC24 quirk.

Signed-off-by: Travis Place <wishie@wishie.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-06-26 09:01:18 +02:00
Takashi Iwai
a1855d802f ALSA: hda - Fix digital converter proc output
AC_VERB_GET_DIGI_CONVERT_2 isn't actually implemented but reserved.
The whole SIC bits are returned from DIGI_CONVERT_1.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-06-20 14:16:01 +02:00
Takashi Iwai
43785eaeb1 ALSA: hda - Fix wrong volumes in AD1988 auto-probe mode
Don't create mixer volume elements for Headphone and Speaker if they
use the same DAC as normal line-outs on AD1988.  Otherwise the amp
value gets screwed up, e.g.
	https://bugzilla.novell.com/show_bug.cgi?id=398255

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-06-18 09:24:36 +02:00
Takashi Iwai
766979e09d ALSA: hda - use upper_32_bits()
Use the standard upper_32_bits() instead of own macro.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-06-16 09:32:36 +02:00
Takashi Iwai
0c6341ace5 ALSA: hda - bdl_pos_adj=32 as default
Use bdl_pos_adj=32 as default except for Intel hardwares confirmed
to work with bdl_pos_adj=1.  Looks like ATI and NVidia require this
higher value.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-06-16 09:32:34 +02:00
Matthew Ranostay
aafc4412be ALSA: hda: Add support for 92HD73xxx codecs
Added support for new family of IDT codecs.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-06-16 09:32:22 +02:00
Takashi Iwai
149b154452 ALSA: hda - Remove unused mutex
Removed unused mutex from patch_*.c.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-06-13 16:48:38 +02:00
Takashi Iwai
4549915cdf ALSA: hda - Fix stac9205_cfg_tbl
Sort stac9205_cfg_table in the order of id numbers, and removed the
duplicated (obsoleted) entries for 0x01fc and 0x01fd.  This doesn't
change the driver behavior since the old entries are all secondary.

The duplication occured due to commit dfe495d0, and the old entries
were introduced by commit ae0a8ed8.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-06-13 16:48:34 +02:00
Takashi Iwai
a6a950a8a8 ALSA: hda - Add a warning if pending IRQ is found
The pending IRQ handling is a very hackish workaround and should be
avoided as much as possible via a larger bdl_pos_adj option value.
Put a warning message if this situation occurs so that the user may have
a chance to notice that something is wrong.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-06-13 16:47:23 +02:00
Takashi Iwai
5c0d7bc103 ALSA: hda - Fix bdl_pos_adj value for ATI SB chipsets
ATI SB controllers seem to report the DMA ahead in the amount of FIFO.
Thus bdl_pos_adj should be 32 for them as default.

Also, the default value is set to -1, which means to make the driver
to choose the appropriate value.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-06-13 16:34:25 +02:00
Takashi Iwai
555e219ffa ALSA: hda - bdl_pos_adj option to each instance
The option bdl_pos_adj should be provided for each card instance instead of
a global one because the value depends rather on each controller-chip.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-06-13 16:34:19 +02:00
Takashi Iwai
d2e1c97331 ALSA: hda - remove position_fix=3
position_fix=3 is the option to correct the DMA position with the
FIFO size.  But, it never worked correctly, and we have now more other
workarounds for the DMA position fixes.  Thus better to remove it.

Also, change POS_FIX_NONE to POS_FIX_LPIB to represent its real role
better.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-06-13 16:30:43 +02:00
Takashi Iwai
675f25d4d3 ALSA: hda - Add bdl_pos_adj option
Added a new option, bdl_pos_adj, to adjust the delay of IRQ-wakeup
timing.

Most HD-audio hardwares have a problem that a BDL IRQ is issued before
actually the data and the DMA pointer are updated.
We have already a mechanism to force to delay snd_pcm_period_elapsed()
calls via workq, but this costs much CPU, and typically the delay is
within one sample.  Thus, it's more clever to adjust the BDL entries
instead.

The new option adds the size of the delay in frames.  As default,
it's set to 1 -- that is, one sample delay.  Even the hardware is
really correct, one sample delay is relatively harmless in comparison
with reporting wrong positions.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-06-13 16:30:20 +02:00
Akio Idehara
36ca6e133a [ALSA] hda - Add Toshiba dynabook SS RX1 support
I have Toshiba dynabook SS RX1 and this patch adds that support.

Signed-off-by: Akio Idehara <zbe64533@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-06-13 16:29:33 +02:00
Takashi Iwai
607d982bbe [ALSA] hda - increase max_codecs of ICH to 4
It turned out that some ICH9-based boards use SD3 for the audio codec
where the current driver code doesn't probe.  Since we have a better
codec slot check now, it must be safe to increase this to 4.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-06-06 11:54:13 +02:00
Takashi Iwai
2c3bf9abb1 [ALSA] hda - Fix PLL gating control on Realtek codecs
On some Realtek codecs, the analog PLL gating control bit must be set
off while the default value is 1.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-06-06 11:54:07 +02:00
Jiang zhe
17bba1b72d [ALSA] hda - support intel DG33 motherboards
These two motherboards's pin configuration are not covered by driver.
I wrote a new model to support them.

Signed-off-by: Jiang zhe <zhe.jiang@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-06-06 11:53:59 +02:00
Kailang Yang
f9423e7a94 [ALSA] hda - Fix EAPD and COEF setups for realtek codecs
Fixed EAPD and COEF setups for Realtek ALC662/663, 660-VD and 888 codecs.

Signed-off-by: Kailang Yang <kailang@realtek.com.tw>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-05-27 15:56:22 +02:00
Kailang Yang
2f8932863d [ALSA] hda - show correct codec chip in PCM stream names
Show more exact codec chip name in the PCM stream name strings.

Signed-off-by: Kailang Yang <kailang@realtek.com.tw>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-05-27 15:56:22 +02:00
Kailang Yang
531240ff52 [ALSA] hda - Fix vref pincap check in alc882 auto-detection
Signed-off-by: Kailang Yang <kailang@realtek.com.tw>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-05-27 15:56:21 +02:00
Kailang Yang
6dda9f4a95 [ALSA] hda - Add ALC663 support
Added the support of ALC663 codec, including specific models for
ASUS M51VA, ASUS G71V, ASUS H13 and ASUS G50V.

Signed-off-by: Kailang Yang <kailang@realtek.com.tw>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-05-27 15:56:21 +02:00
Kailang Yang
abbc9d1b25 [ALSA] hda - Add ICH9 controller support (8086:2911)
Added the missing PCI ID for ICH9 controller (8086:2911)

Signed-off-by: Kailang Yang <kailang@realtek.com.tw>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-05-27 15:56:21 +02:00
Kailang Yang
f269002e61 [ALSA] hda - Add support of Teradici controller
Add the new PCI ID 0x6549 0x1200 Teradici controller.

Signed-off-by: Kailang Yang <kailang@realtek.com.tw>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-05-27 15:56:21 +02:00
Takashi Iwai
62cf872a8e [ALSA] Replace CONFIG_SND_DEBUG_DETECT with CONFIG_SND_DEBUG_VERBOSE
Replace CONFIG_SND_DEBUG_DETECT with CONFIG_SND_DEBUG_VERBOSE to
represent its meaning more better.  This config isn't provided only
for the detection but for more verbose debug prints in general.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-05-27 15:56:21 +02:00
Takashi Iwai
9ad593f6d3 [ALSA] hda - Fix DMA position inaccuracy
Many HD-audio controllers seem inaccurate about the IRQ timing of
PCM period updates.  This has caused problems on audio quality; e.g.
JACK doesn't work with two periods.

This patch fixes the problem by checking the current DMA position
at IRQ handler and delays the period-update via a workq if it's
inaccurate.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-05-19 13:19:19 +02:00
Akio Idehara
7b1e8795eb [ALSA] hda - Fix "alc262_sony_unsol[]" hda_verb array
I think that hda_verb array must have "terminator (empty array)".
But alc262_sony_unsol[] does not have it.
And it causes gcc-4.3's buggy behavior
with snd_hda_sequence_write().

Signed-off-by: Akio Idehara <zbe64533@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-06-09 16:21:42 +02:00
Tony Vroon
378bd6a521 [ALSA] hda - COMPAL IFL90/JFL-92 laptop quirk
Use quirk table to assign ALC268_TOSHIBA to COMPAL IFL90/JFL-92 laptops.
No analog output on autoprobe.

Signed-off-by: Tony Vroon <tony@linx.net>
Tested-by: Guri <gurashka@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-06-04 12:12:35 +02:00
Takashi Iwai
07bc76dfa1 [ALSA] hda - Fix resume of auto-config mode with Realtek codecs
The auto-config mode of Realtek ALC codecs has a bug since 2.6.25
that it cannot resume properly.  The problem was the wrong assignment
of init_hook that overrides the whole initialization.

Relevant bug reports:
	http://bugzilla.kernel.org/show_bug.cgi?id=10662
	https://bugzilla.novell.com/show_bug.cgi?id=385473

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-06-03 14:56:53 +02:00
Takashi Iwai
79d06432a2 [ALSA] hda - Fix model for LG LS75 laptop
Set the proper model for LG LS75 with CM9880 codec.
See ALSA bug#2105:
	https://bugtrack.alsa-project.org/alsa-bug/view.php?id=2105

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-05-30 16:56:00 +02:00
Takashi Iwai
269ef19caa [ALSA] hda - Fix mic input on HP2133
The mic pins are wrongly assigned on AD1884A mobile model.
The mic handling is fixed for the automatic mic selection, too.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-05-30 16:22:10 +02:00
Mauro Carvalho Chehab
587755f1f6 [ALSA] hda - Fix capture mute Widget for stac9250/9251
Fix capture mute widget for STAC9250/9251 codecs.  The widget 0x09
has no mute but 0x14 does actually.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-05-25 18:21:18 +02:00
Travis Place
97ec710cab [ALSA] hda - Added support for Foxconn P35AX-S mainboard
Added IDs for the Foxconn P35AX-S mainboard to patch_realtek.c, so
that ALC883_6ST_DIG is used by default.

Signed-off-by: Travis Place <wishie@wishie.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-05-24 18:23:57 +02:00
Takashi Iwai
20a3a05dd6 [ALSA] hda - Fix COEF and EAPD in ALC889 auto-configuration mode
Fix the missing COEF and EAPD initialization in ALC889 auto-configuration
mode.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-05-24 18:23:49 +02:00
Takashi Iwai
bc9b56238e [ALSA] hda - Fix noise on VT1708 codec
We get quite noisy output on the right channel on VT1708 codec
when 24bit samples are used.  Suppress the 24bit support until any
real fix is found.
	https://bugzilla.novell.com/show_bug.cgi?id=390473

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-05-24 18:23:35 +02:00
Travis Place
b9e16bc548 [ALSA] hda - Add model for ASUS P5K-E/WIFI-AP
Added a config table entry for the ASUS P5K-E/WIFI-AP mainboard (ID
1043:8227) to use AD1988_6STACK_DIG

Signed-off-by: Travis Place <wishie@wishie.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-05-24 18:23:26 +02:00
Travis Place
186c3117f8 [ALSA] hda - Fix ASUS P5GD1 model
Corrected the model assignment for the ASUS P5GD1 w/SPDIF after reports of
surround sound not being possible.

Signed-off-by: Travis Place <wishie@wishie.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-05-20 11:56:40 +02:00
Takashi Iwai
ebc7a40663 [ALSA] hda - Fix ALC262 fujitsu model
Fixed the speaker auto-mute with two laptop and docking headphones.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Acked-by: Tony Vroon <tony@linx.net>
2008-05-20 11:56:33 +02:00
Jacek Luczak
564c5bead4 [ALSA] Revert migration to alc_set_pin_output() in alc861_auto_set_output_and_unmute()
Change done by:
        commit f6c7e5461e
        [ALSA] hda-codec - Fix auto-configuration of Realtek codecs
broke sound on ALC861 Analog.

Signed-off-by: Jacek Luczak <luczak.jacek@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-05-05 14:12:08 +02:00
Takashi Iwai
7bd3c0f73c [ALSA] hda - Support IDT 92HD206 codec
Added the support for IDT 92HD206 codec chip.
It's compatible with STAC927x.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-05-05 14:12:07 +02:00
Takashi Iwai
df99cd334e [ALSA] hda - Add support of Medion RIM 2150
Added the support of Medion RIM 2150 laptop with ALC880 codec.
ALSA bug#3708:
	https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3708

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-29 19:01:57 +02:00
Takashi Iwai
05808ecc45 [ALSA] hda - Fix Thinkpad X300 digital mic
TP X300 digital mic requires additional init verbs with magic COEFs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:42 +02:00
Takashi Iwai
a0b8f7d89b [ALSA] hda - Fix model for Acer Aspire 5720z
Set the proper model=acer for Acer Aspire 5720z with ALC268 codec.
ALSA bug#3550:
	https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3550

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:42 +02:00
Jeff Garzik
f000fd8093 [ALSA] Fix synchronize_irq() bugs, redundancies
free_irq() calls synchronize_irq() for you, so there is no need for
drivers to manually do the same thing (again).  Thus, calls where
sync-irq immediately precedes free-irq can be simplified.

However, during this audit several bugs were noticed, where free-irq is
preceded by a "irq >= 0" check... but the sync-irq call is not covered
by the same check.

So, where sync-irq could not be eliminated completely, the missing check
was added.

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:40 +02:00
Takashi Iwai
7943a8aba9 [ALSA] hda - Avoid unexpected breakage with ALC889A hack
The last ALC889A hack may break on some devices with certain model presets
since patch_alc*() have different model tables.  So, now it's handled in
the original patch_alc882() but fly to patch_alc883() in model=auto
appropriately.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:37 +02:00
Takashi Iwai
cb308f97ae [ALSA] hda - Fix ALC889A codec support
ALC889A is recognized ALC885/ALC882 but it's actually closer to
ALC888/ALC883.

Cc: Kasper Sandberg <lkml@metanurb.dk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:37 +02:00
Matthew Ranostay
7c2ba97b8a [ALSA] hda: Add 5.1 support for second headphone jack
Several 92hd7xxx and STAC9228 laptops have multiple headphone jacks,
the second headphone jack should be used for the 5.1 surround sound.
Add support for 'Headphone as Line Out' switch, which allows it be used
in 5.1 surround sound.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:37 +02:00
Takashi Iwai
3adb8abc70 [ALSA] hda - Add support of AD1989A/AD1989B
Added the support of AD1989A and AD1989B codecs.
These codecs can have multiple SPDIF devices, but currently we handle
only one SPDIF.  If any real devices with two SPDIF interfaces (likely
one for SPDIF and one for HDMI), we'll fix this rightly.

Otherwise, these codecs are pretty similar with AD1988.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:36 +02:00
Herton Ronaldo Krzesinski
eb5a662166 [ALSA] hda-intel: Add Quanta IL1 ALC267 model
This adds support for Quanta IL1 mini-notebook to alsa, defining a new model
for it. It comes with an ALC267 codec chip. Some notes about this model:

* In headphone automute, I use AC_VERB_SET_PIN_WIDGET_CONTROL instead of common
  amp mute, to avoid conflict with mixer switch (mixer and automute use the
  same nid).
* The only connected capture sources in the hardware are the internal mic and
  external mic jack. So instead of using an input source selector like on other
  ALC268 models, the mic automute automatically switch between captures.

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:35 +02:00
Matthew Ranostay
0fc9dec46f [ALSA] hda: EAPD power management
Power management support for EAPD enabled laptops, when headphones
are sensed it pulls the EAPD GPIO line low to power it down.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:35 +02:00
Matthew Ranostay
780c8be4ab [ALSA] hda: Correct SPDIF out default config
Several laptops have have the SPDIF out defined as 'Digital other out'
when it should be 'SPDIF out' in the default config.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:34 +02:00
Tony Vroon
06a9c30cdd [ALSA] hda - Fujitsu Lifebook PC speaker signal
The legacy PC speaker signal was not routed to outputs. The codec is not
prevented from powering down in this patch, although I suppose one could
argue that perhaps it should be. Let me know if anyone feels strongly one
way or the other.

Signed-off-by: Tony Vroon <tony@linx.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:34 +02:00
Jiang zhe
5b030389e4 [ALSA] hda - PCI quirk for laptop LG which use CMI9880
Please refer to [0003874] on the alsa mantis.
This patch added the pci quirk.

Signed-off-by: Jiang zhe <zhe.jiang@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:34 +02:00
Jiang zhe
64654c2f9e [ALSA] hda - Should use HDA_OUTPUT instead of HDA_INPUT to mute pin 15 of ALC880
To mute the output of Pin widget 15 in ALC880, we should use the
HDA_OUTPUT. However, current code looks like :
snd_hda_codec_amp_stereo(codec, 0x15, HDA_INPUT, 0, HDA_AMP_MUTE, bits);
It may be a misspelling.

Signed-off-by: Jiang zhe <zhe.jiang@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:34 +02:00
Frederik Deweerdt
eaa9985b4e [ALSA] hda-codec - Fix unbalanced mutex
On Wed, Apr 02, 2008 at 08:19:29AM -0400, Miles Lane wrote:
> [   48.765906] [ BUG: bad unlock balance detected! ]
> [   48.765912] -------------------------------------
> [   48.765918] pulseaudio/4277 is trying to release lock
> (&codec->spdif_mutex) at:
> [   48.765930] [<c03031b7>] mutex_unlock+0x8/0xa
> [   48.765945] but there are no more locks to release!
> [   48.765950]
> [   48.765952] other info that might help us debug this:
> [   48.765959] 2 locks held by pulseaudio/4277:
> [   48.765965]  #0:  (&pcm->open_mutex){--..}, at: [<f89f134b>]
> snd_pcm_open+0xc1/0x1ba [snd_pcm]
> [   48.766003]  #1:  (&chip->open_mutex){--..}, at: [<f8b4f13d>]
> azx_pcm_open+0x36/0x184 [snd_hda_intel]
> [   48.766057]
> [   48.766059] stack backtrace:
> [   48.766066] Pid: 4277, comm: pulseaudio Not tainted 2.6.25-rc8-mm1 #12
> [   48.766086]  [<c013afc6>] print_unlock_inbalance_bug+0xce/0xd8
> [   48.766107]  [<c0109e1c>] ? save_stack_trace+0x1d/0x3b
> [   48.766130]  [<c012f54e>] ? __kernel_text_address+0x1b/0x27
> [   48.766146]  [<c0104533>] ? dump_trace+0xcd/0xd9
> [   48.766160]  [<c0109d9e>] ? save_stack_address+0x0/0x2c
> [   48.766176]  [<c013b80a>] ? find_usage_backwards+0xa4/0xc3
> [   48.766193]  [<c013cfb5>] lock_release_non_nested+0x84/0x120
> [   48.766209]  [<c03031b7>] ? mutex_unlock+0x8/0xa
> [   48.766222]  [<c013d1bb>] lock_release+0x16a/0x199
> [   48.766238]  [<c0303137>] __mutex_unlock_slowpath+0xa9/0x121
> [   48.766252]  [<c03031b7>] mutex_unlock+0x8/0xa
> [   48.766263]  [<f8b4ffd8>] snd_hda_multi_out_analog_open+0xd3/0xef
> [snd_hda_intel]

The following patch should fix it.

Cc: "Miles Lane" <miles.lane@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:33 +02:00
Jiang zhe
4383fae0ec [ALSA] hda-codec - PCI quirk for MSI laptop
Please refer to [0003848] on the alsa mantis.
This patch adds the pci quirk and Mic-Int controller.

Signed-off-by: Jiang zhe <zhe.jiang@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:33 +02:00
Herton Ronaldo Krzesinski
0c4cc4430f [ALSA] hda-codec - Support mic automute for Clevo M720R/SR
Add support for mic automute in clevo-m720r ALC883 model, and rename it
to more generic clevo-m720. Also change model entry in ALSA-Configuration.txt
accordingly.

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:30 +02:00
Herton Ronaldo Krzesinski
213f0bfe90 [ALSA] hda-codec - Map clevo-m720r ALC883 model for Clevo M720SR
Map clevo-m720r ALC883 model for Clevo M720SR.

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:30 +02:00
Herton Ronaldo Krzesinski
eea6419ea1 [ALSA] hda-codec - Use common 3stack-6ch mixer for 3stack-hp model
Forgot one more: 3stack-hp model also have now the same mixer as
3stack-6ch (after DAC assignment fix in ALC883), so use it avoiding
duplicating the same mixer definition.

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:29 +02:00
Herton Ronaldo Krzesinski
f24dbdc61d [ALSA] hda-codec - Use base ALC883 mixer for 6stack-dell model
After DAC assignment fix in ALC883, alc888_6st_dell_mixer is now the
same as alc883_base_mixer. Avoid duplicated code and use
alc883_base_mixer in 6stack-dell model, removing alc888_6st_dell_mixer
definition.

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:29 +02:00
Herton Ronaldo Krzesinski
5d85f8d02a [ALSA] hda-codec - Remove now uneeded 6stack-hp model from ALC883
After DAC assignment fix in ALC883, the 6stack-hp model is now the same
as 6stack-dig. So just remove 6stack-hp model and replace its use with
6stack-dig.

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:29 +02:00
Jiang zhe
0e31daf7d6 [ALSA] hda-codec - model for alc262 to support Lenovo 3000
This model is to support the Lenovo 3000 y410.
ALSA bug#3856:
	https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3856

Signed-off-by: Jiang zhe <zhe.jiang@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:29 +02:00
Matthew Ranostay
07bcb316cf [ALSA] hda: 92hd71bxxx DMIC nid
Added missing DMIC verb to dell_4_1_pin_configs[].

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:29 +02:00
Takashi Iwai
850f0e5212 [ALSA] hda-intel - Add sync support
Addded the support of sync streams to hda-intel driver.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:27 +02:00
Takashi Iwai
f081374b60 [ALSA] hda-codec - Support of Lenovo Thinkpad X300
Added the model thinkpad for Lenovo Thinkpad X300 with AD1984A codec.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:27 +02:00
Takashi Iwai
888afa1541 [ALSA] hda-codec - keep the format verb at closing PCM streams
Keep the format verb at closing PCM streams.
Introduced snd_hda_codec_cleanup_stream() for the parcicular purpose.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:26 +02:00
Takashi Iwai
117f257d7a [ALSA] hda-codec - Fix spekaer output of Panasonic CF-74
Add a new model "panasonic" for Panasonic CF-74 with STAC9200 codec
to fix the speaker output.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:26 +02:00
Takashi Iwai
2add9b9253 [ALSA] hda-intel - Add barrier
Add proper barriers in the RIRB communication code.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:26 +02:00
Herton Ronaldo Krzesinski
86d34b7ec8 [ALSA] hda-codec - Map 3stack-6ch-dig ALC883 model for MSI 945GCM5 V2 (MSI-7267)
Map 3stack-6ch-dig ALC883 model for MSI 945GCM5 V2 (MSI-7267).

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:26 +02:00
Herton Ronaldo Krzesinski
f32a19e3e7 [ALSA] hda-codec - Fix DAC assignment order in ALC883
Actually clfe and surround DACs are inverted in alc883_dac_nids array
(see ALC883 datasheet). I discovered this while testing multi-channel
setup (using 3stack-6ch-dig model) on MSI 945GCM5 V2 motherboard that
has an ALC883 codec. Simply Rear Left/Right and Center/LFE were swapped
in 6 channel mode (also in 4 channel mode you didn't get rear left/right
output). Other models also were affected by this bug, as can be seen by
the mixer layouts that "workaround" this (the real bug was not noticed,
and some other models simply played with mixer and initial verbs). Thus
along with fixing the order of dac nids, also change the models that
relied on previous dac ordering properly.

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:26 +02:00
Tony Vroon
5d9fab2d84 [ALSA] hda-codec - Fujitsu Lifebook port replicator/dock headphone jack sense
The docking station headphone output had no audio and jack sense
was not considered.

Jack information from the laptop itself and the dock are combined, as
the dock does not obscure the connector.

Signed-off-by: Tony Vroon <tony@linx.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:24 +02:00
Takashi Iwai
ee9d6b9a30 [ALSA] hda-intel - Fix power-off hang on ASUS P5AD2
The hda-intel driver has a problem at power-off on ASUS P5AD2.
It's caused when the position-buffer is enabled -- most likely a
hardware-specific problem.

This patch adds a quirk to avoid the unnecessary enablement of
position-buffer.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:24 +02:00
Herton Ronaldo Krzesinski
3da23cac3d [ALSA] hda-codec - Map 3stack-6ch-dig ALC662 model for Asus P5GC-MX
Map 3stack-6ch-dig ALC662 model for Asus P5GC-MX.

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:24 +02:00
Herton Ronaldo Krzesinski
7055ad8a99 [ALSA] hda-codec - Fix ALC662 DAC mixer mutes
Currently ALC662 doesn't suport amp mute for AmpOut in nids 0x02, 0x03,
0x04 (see block diagram in ALC662 datasheet page 3, does M correspond to
mute?). The result is that currently mute for "Front Playback Switch",
"Surround Playback Switch", "Center Playback Switch" and "LFE Playback
Switch" mixer items doesn't work (tested on Asus P5GC-MX motherboard
with 3stack-6ch model).

The solution I found for this is to mute the proper inputs in 0x0c,
0x0d, 0x0e audio mixers.

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:24 +02:00
Takashi Iwai
2626a263ff [ALSA] hda-codec - Fix orphan Headphone controls in STAC codecs
Currently, the headphone controls are created as Master wrongly in
some cases, and this prevents the virtual master controls.
The patch fixes the problem by simply using "Headphone" always for
headphone controls.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:24 +02:00
Matthew Ranostay
d654a66035 [ALSA] hda: 92HD73xxx distortion fix
Fixed issue on some laptops that if the Master mixer and DAC mixers are
turned all the way up that will cause distortion. This is fixed by limiting
the max volume with the volume knob nid.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:24 +02:00
Takashi Iwai
bb9f76cd59 [ALSA] hda-codec - Improve ALC262 ultra model
Improved ALC262 ultra model for Samsung Q1 Ultra series.

- clean up mixers
- support of input from HP jack as a mic
- add quirk for Q1 EL

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:23 +02:00
Michael Gruber
ee7a9c7c2e [ALSA] hda-intel - Fix microphone capture with ALC880 F1734 model
The default capture source should be the mic which is 0x01 on this model.
In addition to that the change to VREF50 allows for higher capture volume.

Signed-off-by: Michael Gruber <lists.mg@googlemail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:23 +02:00
Matthew Ranostay
7747ecceb5 [ALSA] hda: Reorganized DAC outputs
Changed so that internal speakers point to the Front mixer instead of Surround.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:23 +02:00
Tobin Davis
b419f34699 [ALSA] HDA Codecs: add support for Toshiba Equium L30
This patch adds support for the Toshiba Equium L30 laptop and renames the mixer
controls to match Laptop usages.

Signed-off-by: Tobin Davis <tdavis@dsl-only.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:22 +02:00
Takashi Iwai
0ccb541c96 [ALSA] hda-codec - Add internal mic item for ALC268 acer model
Added the internal mic as a capture source item for ALC268 acer model.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:22 +02:00
Takashi Iwai
7194cae62e [ALSA] hda-codec - Fix dmics on ALC268 in auto configuration
Fixed the handling of dmics on ALC268 in the auto-configuration mode.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:22 +02:00
Peer Chen
487145a198 [ALSA] hda_intel: Add the DIDs of nvidia MCP79 HD audio controller to hda_intel.c
Add the Device IDs of nvidia MCP79 HD audio controller to hda_intel.c

Signed-off-by: Peer Chen <peerchen@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:22 +02:00
Jiang zhe
2de3c232a0 [ALSA] hda-codec - model for cx20549 to support laptop HP530
Currently the model laptop-hpsense use the 0x12 as ExtMic,
and use 0x14 as Internal IntMic.
But the hp530 only have one ExtMic, the Pin widget is 0x14.

In this patch, I changed the mixer item for them.
I still reserved the IntMic item, it will be helpful if
other machine may use this model.

ALSA bug#3821.

Signed-off-by: Jiang zhe <zhe.jiang@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:21 +02:00
Jiang zhe
fb97dc6739 [ALSA] hda-codec - model for alc883 to support FUJITSU Pi2515
There is no suitable model for Pi2515.
This model is to support it.  ALSA bug#3800.

Signed-off-by: Jiang zhe <zhe.jiang@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:21 +02:00
Pascal Terjan
8280823668 [ALSA] ALC288 - Add NEC S970 to the quirk table
NEC S970 has no sound in the internal speakers when autodetection is
used.
With targa-dig model, there is sound in the speakers and it gets
correctly muted when pluging headphones.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:21 +02:00
Jiang zhe
368c7a95ea [ALSA] hda-codec - model for alc883 to support M720R
There is no suitable model for M720R (ALSA bug#3781).
This patch is to support HP jack-sensing and mixer.

Signed-off-by: Jiang zhe <zhe.jiang@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:20 +02:00
Andrew Morton
24982c5f7f [ALSA] hda_intel needs dma-mapping.h
sparc32:

sound/pci/hda/hda_intel.c: In function 'azx_create':
sound/pci/hda/hda_intel.c:1838: error: 'DMA_64BIT_MASK' undeclared (first use in this function)
sound/pci/hda/hda_intel.c:1838: error: (Each undeclared identifier is reported only once
sound/pci/hda/hda_intel.c:1838: error: for each function it appears in.)

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:20 +02:00
Takashi Iwai
40ac8c4f20 [ALSA] hda-codec - Fix the array over-range access with stac92hd71bxx codec
Add the check of the array range for dac_nids to prevent the over-range
access.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:20 +02:00
Matthew Ranostay
52fe0f9d59 [ALSA] hda: add verbs for 92hd73xxx laptops
Added core_init[] for several 92hd73xxx laptops.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:19 +02:00
Matthew Ranostay
bce6c2b5b4 [ALSA] hda: disable power management on fixed ports
Power management can't be enabled on fixed ports, since the presence
will always return false and prevent output.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:19 +02:00
Harvey Harrison
3c9a3203ff [ALSA] sound: hda: missing includes of hda_patch.h
Move the array declaration to hda_codec.c where it is used and add includes
where the individual presets are declared.

Fixes the following sparse warnings:
sound/pci/hda/patch_realtek.c:13744:25: warning: symbol 'snd_hda_preset_realtek' was not declared. Should it be static?
sound/pci/hda/patch_cmedia.c:729:25: warning: symbol 'snd_hda_preset_cmedia' was not declared. Should it be static?
sound/pci/hda/patch_analog.c:3656:25: warning: symbol 'snd_hda_preset_analog' was not declared. Should it be static?
sound/pci/hda/patch_sigmatel.c:3995:25: warning: symbol 'snd_hda_preset_sigmatel' was not declared. Should it be static?
sound/pci/hda/patch_si3054.c:286:25: warning: symbol 'snd_hda_preset_si3054' was not declared. Should it be static?
sound/pci/hda/patch_atihdmi.c:156:25: warning: symbol 'snd_hda_preset_atihdmi' was not declared. Should it be static?
sound/pci/hda/patch_conexant.c:1721:25: warning: symbol 'snd_hda_preset_conexant' was not declared. Should it be static?
sound/pci/hda/patch_via.c:1962:25: warning: symbol 'snd_hda_preset_via' was not declared. Should it be static?

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:19 +02:00
Takashi Iwai
64ed0dfd1f [ALSA] hda-codec - Use int instead of long in patch_sigmatel.c
The HD-audio parameters are at most 32bit int.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:19 +02:00
Harvey Harrison
8b55178515 [ALSA] sound: patch_sigmatel.c fix shadowed variable warning
Temp variable in the loop shadows the second argument (which is otherwise
unused in this function).  Change this to defcfg as it is used to hold
the default config.
sound/pci/hda/patch_sigmatel.c:2759:18: warning: symbol 'cfg' shadows an earlier one
sound/pci/hda/patch_sigmatel.c:2734:26: originally declared here

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:19 +02:00
Takashi Iwai
b26451c059 [ALSA] hda-codec - Add docking-station mic input for Thinkpad X61
Added the docking-stationc mic input to the capture source list
for Thinkpad X61.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:15 +02:00
Takashi Iwai
aea7bb0a6f [ALSA] hda-codec - Fix initial DAC numbers of 92HD71bxx codecs
Fix the initial num_dacs of 92HD71bxx codecs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:15 +02:00
Matthew Ranostay
ae0afd81b3 [ALSA] hda: Mic as output fix
Added logic to check if AUTO_PIN_FRONT_MIC is available for output
switch, if AUTO_PIN_MIC isn't.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:15 +02:00
Takashi Iwai
87218e9c6e [ALSA] hda-intel - Use PCI_DEVICE() macro
Clean up the pci id table using PCI_DEVICE() macro.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:14 +02:00
Matthew Ranostay
03d7ca177f [ALSA] hda: STAC927x analog mic
Some laptops have a internal analog microphone that is not setup by the BIOS.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:14 +02:00
Matthew Ranostay
a766264010 [ALSA] hda: 92HDxxxx PCI Quirks
Added PCI_QUIRKS for laptop that have the 92HDxxx family of codecs.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:14 +02:00
Matthew Ranostay
7989fba979 [ALSA] hda: STAC927x invalid association value
STAC_DELL_BIOS quirks were setting the association value wrong
for port 0x0f, which prevented it from being included in hp_outs[].

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:14 +02:00
Matthew Ranostay
4451089e2a [ALSA] hda: fix STAC927x power management
Fix issue on STAC927x codecs that first DAC was getting powered down
even if was being used.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:13 +02:00
Takashi Iwai
67ebcb0311 [ALSA] hda-codec - Don't create multiple capture streams for single inputs
When the device has only one input source, it makes no sense to have
multiple capture streams.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:13 +02:00
Takashi Iwai
85860c06ab [ALSA] hda-codec - Fix ALC268 capture source
Initialize the capture source properly for auto model.
It's especially important for cases that only mic is detected.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:13 +02:00
Takashi Iwai
aef9d318b1 [ALSA] hda-codec - Add beep volume control to ALC268
Added the beep volume control to ALC268 codec support code.
Since the codec doesn't return the correct AMP caps, we need to override
the value.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:12 +02:00
Kailang Yang
77a261b755 [ALSA] hda-codec - Fix ALC662 recording
Fixed ALC662 recording issue.

Signed-off-by: Kailang Yang <kailang@realtek.com.tw>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:12 +02:00
Takashi Iwai
8b6ed8e70d [ALSA] hda-intel - Clean up stream definitions
Clean up the code to define playback/capture streams.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:12 +02:00
Takashi Iwai
1c82ed1bc5 [ALSA] Keep private TLV entry in vmaster itself
Use a private array for TLV entries of virtual master controls instead
of (supposed) static array.  This cleans up the existing codes.

Also, now vmaster assumes the simple dB-range TLV that is the only type
it can handle.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:12 +02:00
Takashi Iwai
e922b0028f [ALSA] Move vmaster code to sound core
Move the codes for virtual master controls to sound core part so that
not only hda-intel drivers can use it.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:12 +02:00
Takashi Iwai
b40b04ad38 [ALSA] hda-codec - Add model=mobile for AD1884A & co
Added the new model mobile for AD1884A and compatible codecs.
It's a reduced version of model=laptop.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:11 +02:00
Takashi Iwai
c505925968 [ALSA] hda-codec - Add support of AD1883/1884A/1984A/1984B
Added the support of new AD codecs: AD1883, AD1884A, AD1984A and AD1984B.
These are almost compatible except for additional digital pins, etc.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:11 +02:00
Takashi Iwai
88c71a9974 [ALSA] hda-codec - Fix missing capsrc_nids for ALC262
ALC262 must have capsrc_nids defined as well as in ALC882.
Also, add a NULL check in alc882_mux_enum_put to avoid Oops.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:10 +02:00
Libin Yang
814b1a5ce6 [ALSA] HDA-Intel - Patch to support RV7xx HDMI Audio
This patch is to add R7xx HDMI audio support.

Signed-off-by: Libin Yang <Libin.yang@amd.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:10 +02:00
Takashi Iwai
d260cdf656 [ALSA] hda-codec - Fix breakage of resume in auto-config of realtek codecs
The last patch for fixing the auto-config pin setting breaks the resume
due to a wrong use of snd_hda_codec_amp_stereo().  The code in the init
hook shouldn't touch the amp cache.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:10 +02:00
Takashi Iwai
c8cd128117 [ALSA] hda-codec - Add more names to vendor list
Added more known names to the vendor id list.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:10 +02:00
Takashi Iwai
9a08160bdb [ALSA] hda-codec - Add "IEC958 Default PCM" switch
Added a new mixer switch to enable/disable the sharing of the default
PCM stream with analog and SPDIF outputs.  When "IEC958 Default PCM"
switch is on, the PCM stream is routed both to analog and SPDIF outputs.
This is the behavior in the earlier version.

Turning this switch off has a merit for some codecs, though.  Some codec
chips don't support 24bit formats for SPDIF but only for analog outputs.
In this case, you can use 24bit format by disabling this switch.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:10 +02:00
Takashi Iwai
f6c7e5461e [ALSA] hda-codec - Fix auto-configuration of Realtek codecs
This patch fixes some bugs in the auto-configurator of Realtek codecs:
- add missing pin set-up for speaker pins
- fix the speaker auto-mute function not to conflict with the existing
  "Speaker" mixer switch

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:10 +02:00
Takashi Iwai
5832fcf8b5 [ALSA] hda-codec - More fix-up for auto-configuration
In some cases, the BIOS sets up only the HP pins with different assoc
and sequence numbers, e.g. on FSC Esprimo with ALC262.

This patch adds a fix-up for such a case.  When multiple HPs are defined
and no line-outs is found, the configurator tries to re-assign some pins
from HP list to line-out, judging from the sequence number.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:10 +02:00
Takashi Iwai
5d5d5f43f1 [ALSA] hda-codec - Implement auto-mic jack sensing on Samsung laptops
Implemented the auto-mic jack sensing for Samsung laptops with AD1986A
codec chip (model=laptop-eapd).

The hardware uses pin 0x1d and 0x1f for the internal and external
mics, respectively.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:09 +02:00
Takashi Iwai
e140634812 [ALSA] hda-codec - Clean up capture source selection of Realtek codecs
Clean up the codes of the capture source selection for Realtek codecs.
Now using common helper functions with the new capsrc_nids field.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:09 +02:00
Takashi Iwai
f0824812af [ALSA] hda-codec - Fix automute of AD1981HD hp model
Reprogram the speaker-pin setting at each HP pin plug to make sure
the spekaer auto-muting on AD1981HD hp model.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:09 +02:00
Takashi Iwai
937b416027 [ALSA] hda-codec - Fix ALC880 F1734 model
Fixed some issues with ALC880 F1734 model
 - fix capture via mic
 - enable volume-wheel control

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:09 +02:00
Jonathan Woithe
aa27a44395 [ALSA] hda-codec - remove duplicate controls in alc268 test mixer
I've just noticed that there are a handful of duplicate controls in the
ALC268 test model mixer.  This patch (against alsa-driver 1.0.16) removes
them.

Signed-off-by: Jonathan Woithe <jwoithe@physics.adelaide.edu.au>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:09 +02:00
Takashi Iwai
cc4d13873a [ALSA] hda-codec - Correct HDMI transmitter names
Give better names to the new HDMI transmitter chips.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:08 +02:00
Takashi Iwai
21c7b0819f [ALSA] hda-intel - Fix a compile error with CONFIG_SND_DEBUG_DETECT=y
Forgot to get rid of the obsolete fragsize field from a debug print.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:08 +02:00
Takashi Iwai
cf7aaca8ba [ALSA] hda-intel - Support 64bit buffer allocation
The HD-audio hardware usually supports 64bit address for DMA and other
buffers.  The patch enables the feature if supported.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:08 +02:00
Takashi Iwai
4ce107b990 [ALSA] hda-intel - Use SG buffer
Use SG buffers for the HD-audio instead of linear buffers.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:08 +02:00
Matthew Ranostay
b76c850fbc [ALSA] hda: STAC927x power down inactive DACs
On several laptops that have STAC9228 codecs have unused DACs,
this powers them down to a D3 state.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:08 +02:00
Takashi Iwai
7d664ed58f [ALSA] hda-codec - Add ID for an unknown HDMI codec chip
Added the ID for an unknown HDMI codec chip on Jetway J9F2.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:07 +02:00
Takashi Iwai
7ba72ba1fe [ALSA] hda-intel - Fix PCM device number assignment
In the current scheme, PCM device numbers are assigned incrementally
in the order of codecs.  This causes problems when the codec number
is irregular, e.g. codec #0 for HDMI and codec #1 for analog.  Then
the HDMI becomes the first PCM, which is picked up as the default
output device.  Unfortuantely this doesn't work well with normal
setups.

This patch introduced the fixed device numbers for the PCM types,
namely, analog, SPDIF, HDMI and modem.  The PCM devices are assigned
according to the corresponding PCM type.  After this patch, HDMI will
be always assigned to PCM #3, SPDIF to PCM #1, and the first analog
to PCM #0, etc.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:07 +02:00
Mirco Tischler
f12462c522 [ALSA] hda-codec - Add support of Zepto laptops
Adds support for zepto laptops with alc268 intel_hda codec.

Signed-off-by: Mirco Tischler <mt-ml@gmx.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:07 +02:00
Takashi Iwai
12a733e56c [ALSA] hda-codec - Add SI HDMI codec support
Added the support of SI HDMI codec, found in ASUS machines.
ALSA bug#3654
        https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3654

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:06 +02:00
Takashi Iwai
09f9970139 [ALSA] hda-codec - Allow multiple SPDIF devices
The current code doesn't allow multiple SPDIF devices, and causes
errors when multiple SPDIF devices are found (e.g. SPDIF out and HDMI).
This patch allows multiple SPDIF devices by incrementing the index
automatically.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:06 +02:00
Tobin Davis
bf277785d6 [ALSA] HDA - Add support for the OQO Model 2
This patch adds support for the OQO Model 2 Ultra Mobile PC.

Signed-off-by: Tobin Davis <tdavis@dsl-only.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:06 +02:00
Herton Ronaldo Krzesinski
b4818494ed [ALSA] hda-codec - Adapt eeepc p701 mixer for virtual master control
Fix the line-out volume control of eeepc p701 to be a proper slave of
the virtual master control.

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-02-29 15:20:08 +01:00
Takashi Iwai
31bffaa943 [ALSA] hda-codec - Fix mixer names of realtek codecs to adapt mater controls
Some models like eeepc ep20 have invalid mixer names that aren't
handled properly by virtual master controls.  Rename them to the
proper names.

Also fixed some typos in the mixer names but they are not compiled
in right now.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-02-29 11:28:17 +01:00
Andrew Paprocki
0b167bf456 [ALSA] hda_intel - Add model quirk for Albatron KI690-AM2 motherboard
This adds a quirk to the Realtek ALC883 table for the Albatron KI690-AM2
motherboard to use the 6stack-dig model.

Signed-off-by: Andrew Paprocki <andrew@ishiboo.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-02-29 11:28:16 +01:00
Tony Vroon
3f1eeaed2c [ALSA] hda-codec - Add Fujitsu Lifebook E8410 to quirk table
Add the proper model entry for Fujitsu Lifebook E8410 with ALC262 codec.

From: Tony Vroon <tony@linx.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-02-29 11:28:16 +01:00
Takashi Iwai
fb304ce53a [ALSA] hda-codec - Fix AD1988 capture elements
The some indices of capture elements of AD1988 are wrongly assigned.
This patch fixes it.  See ALSA bug#3795
	https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3795

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-02-29 11:28:15 +01:00
Takashi Iwai
b84f08d491 [ALSA] hda-codec - Fix Master volume on HP dv8000
HP dv8000 laptop has a problem with Master volume.  It's due to the
connection of the widget 0x13.  When it's connected from the analog
amp mixer (0x19), it works as expected mysteriously (ALSA bug#3775):
	https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3775

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-02-29 11:28:14 +01:00
Takashi Iwai
c6cd7d7efe [ALSA] hda-intel - Fix Oops with ATI HDMI devices
The driver gets Oops with ATI HDMI devices due to the wrong calculation
of index for playback streams.  This patch fixes it.  Reference:
	https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3746

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-22 14:20:09 -08:00
Takashi Iwai
9e03ad7907 [ALSA] hda-codec - Fix amp-in values for pin widgets
Pin widgets have always one amp-input value regardless of number of
connections.  The proc file showed values wrongly.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-22 14:20:09 -08:00
Takashi Iwai
cced83b62c [ALSA] hda-codec - Fix ALC882 capture source selection
The capture source selection for ADC list with two elements is buggy
becaues of a wrong capture mux list.  This patch fixes the starting
index based on spec->num_adc_nids.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-22 14:20:09 -08:00
Takashi Iwai
614ca92b51 [ALSA] hda-codec - Fix wrong capture source selection for ALC883 codec
The widget list of capture source selection for ALC883 contains the
wrong NIDs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-22 14:20:09 -08:00
Takashi Iwai
2f08554977 [ALSA] hda-codec - Don't create vmaster if no slaves found
Don't create vmaster controls if no slaves are found in the given list.
This prevents the error due to an empty vmaster control.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-22 14:20:09 -08:00
Serge A. Suchkov
14c65f98bf [ALSA] hda-codec - Fix race condition in generic bound volume/swtich controls
Attached patch fix race condition in hd_codec generic bound volume/swtich
controls

oops on this bug can be easy reproduced by two mixer apps on SMP system with
PREEMPT kernel

dmesg:

 ALSA /home/ss/ALSA/alsa-driver-1.0.16/pci/hda/../../alsa-kernel/pci/hda/hda_intel.c:596:
 hda_intel: azx_get_response timeout, switching to polling mode: las
 t cmd=0x014f0900
 BUG: unable to handle kernel paging request at virtual address 00070006
 printing eip: f8f43e95 *pde = 00000000
 Oops: 0000 [#1] PREEMPT SMP
 Modules linked in: i915 drm snd_seq_dummy snd_seq_oss snd_seq_midi_event
 snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss bnep rfcomm hidp l2cap
 bluetooth w
 lan_wep acpi_cpufreq coretemp hwmon mmc_block pcspkr psmouse wlan_scan_sta
 ath_rate_sample snd_hda_intel ath_pci serio_raw wlan tg3 sdhci snd_pcm
 firewire_o
 hci mmc_core i2c_i801 snd_timer firewire_core snd_page_alloc ath_hal(P)
 snd_hwdep snd iTCO_wdt crc_itu_t iTCO_vendor_support shpchp video output
 acer_acpi b
 acklight led_class wmi_acer

 Pid: 3969, comm: gkrellm Tainted: P        (2.6.24-jm #4)
 EIP: 0060:[<f8f43e95>] EFLAGS: 00010292 CPU: 0
 EIP is at snd_hda_mixer_bind_ctls_info+0x20/0x43 [snd_hda_intel]
 EAX: 00000000 EBX: f7478e00 ECX: f763e000 EDX: f764f788
 ESI: 00070002 EDI: edce5e00 EBP: edc3fe64 ESP: edc3fe54
  DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
 Process gkrellm (pid: 3969, ti=edc3e000 task=f1e4e000 task.ti=edc3e000)
 Stack: f764f77c f7478e00 edce5e00 f6dd6000 edc3fe84 f8e590e8 edc7a239 f6d14034
       f764f34c f6c0f7e0 edc3ff30 f6d14034 edc3fea8 f8e591b7 edc3ff30 edc3ff2c
       00000000 f70aa668 f6d14034 f8e59165 bfbfadb0 edc3ff40 f8e587aa edc3ff2c
 Call Trace:
 [<c0104fbb>] show_trace_log_lvl+0x1a/0x2f
 [<c010506d>] show_stack_log_lvl+0x9d/0xa5
 [<c0105119>] show_registers+0xa4/0x1bd
 [<c0105354>] die+0x122/0x206
 [<c03daccc>] do_page_fault+0x535/0x623
 [<c03d940a>] error_code+0x72/0x78
 [<f8e590e8>] snd_mixer_oss_get_volume1_vol+0x74/0xf1 [snd_mixer_oss]
 [<f8e591b7>] snd_mixer_oss_get_volume1+0x52/0xa5 [snd_mixer_oss]
 [<f8e587aa>] snd_mixer_oss_ioctl1+0x673/0x71e [snd_mixer_oss]
 [<f8e588af>] snd_mixer_oss_ioctl+0xb/0xd [snd_mixer_oss]
 [<c017af0a>] do_ioctl+0x22/0x67
 [<c017b186>] vfs_ioctl+0x237/0x24a
 [<c017b1ca>] sys_ioctl+0x31/0x4b
 [<c010402e>] syscall_call+0x7/0xb
 =======================
 Code: 3f 49 c7 89 f8 59 5b 5e 5f 5d c3 55 89 e5 57 89 d7 56 53 89 c3 83 ec 04
 8b 70 5c 8b 40 60 05 7c 01 00 00 89 45 f0 e8 c0 3f 49 c7 <8b> 46 04 89 fa 89
 4
 3 5c 89 d8 8b 0e ff 11 89 73 5c 89 c7 8b 45
 EIP: [<f8f43e95>] snd_hda_mixer_bind_ctls_info+0x20/0x43 [snd_hda_intel]
 SS:ESP 0068:edc3fe54
 ---[ end trace 0a20bc209e9397cc ]---

similar issue report present in ALSA bugtracking system
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3652

Signed-off-by: Serge A. Suchkov <Serge.A.S@tochka.ru>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-22 14:20:09 -08:00
Takashi Iwai
cbef97892e [ALSA] hda-codec - Fix SPDIF output on Conexant 5045 codec
Fixed the SPDIF output on Conexant Cx5045 codec.  Added the missing
pin output setting and fixed the wrong NID for digital audio-out widget.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-22 14:20:08 -08:00
Takashi Iwai
90a5ad52bf [ALSA] HDA - enable snoop on SCH
This patch enables snoop on Intel SCH chipset, eliminating static during
playback.

Signed-off-by: Tobin Davis <tdavis@dsl-only.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-22 14:20:08 -08:00
Matthew Ranostay
cace16f174 [ALSA] hda: fix Mic in as output
Some laptop has an internal analog microphone that is 'fixed'.
This patch prevents creating a 'Mic In as Output' switch for
ports that can't be outputs.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:33:37 +01:00
Tobin Davis
4979bca9dc [ALSA] HDA-Intel - Add support for Intel SCH
This patch adds support for Intel's SCH mobile chipset.

Signed-off-by: Tobin Davis <tdavis@dsl-only.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:23 +01:00
Matthew Ranostay
4fe5195c46 [ALSA] hda: Add GPIO mute support to STAC9205
Support added for detecting HP jack presence via GPIO on several laptop docks.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:22 +01:00
Douglas Kosovic
0aaa22e554 [ALSA] hda-codec - Add Dell T3400 support
Added the support for Dell T3400 with AD1984 codec chip.
ALSA bug#3699:
	https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3699

Signed-off-by: Douglas Kosovic <douglask@itee.uq.edu.au>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:22 +01:00
Takashi Iwai
0f6a5156de [ALSA] hda-codec - Add model for HP DV9553EG laptop
Added the proper model for HP DV9553EG laptop with Cxt5045.
ALSA bug#3534
	https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3534

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:21 +01:00
Takashi Iwai
edb54a55d2 [ALSA] hda-codec - Control SPDIF as slave
Add SPDIF playback switch to the slave element list so that it
can be toggled via the master control as well.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:21 +01:00
Jason Gaston
c34f5a0469 [ALSA] hda_intel: ALSA HD Audio patch for Intel ICH10 DeviceID's
This patch adds the Intel ICH10 HD Audio Controller DeviceID's.

Signed-off-by: Jason Gaston <jason.d.gaston@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:21 +01:00
Takashi Iwai
ce875f079e [ALSA] hda-codec - Add speaker automute to ALC262 HP models
Added the speaker-automute function to ALC262 HP models.
Also, 'Mono' mixer elements are renamed as more intuitive 'Speaker'.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:20 +01:00
Takashi Iwai
bec15c3a5a [ALSA] hda-codec - Add speaker automute to ALC260 HP models
Added the speaker-automute function to ALC260 HP models.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:20 +01:00
Takashi Iwai
f2f48e1859 [ALSA] hda-codec - Fix ALC262 HP-RP5700 model
Removed the PCM mixer elements conflicting with others.
Also renamed Master control to Headphone, which isn't a real master.
(The Master control is still created as a virtual master even after
 this rename.)

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:20 +01:00
Takashi Iwai
4bb261302b [ALSA] hda-codec - Fix mixer controls with ALC262 HP T5735 model
The PCM mixer elements in HP T5735 model of ALC262 codec conflict
with Speaker and Headphone volumes.  They should be removed.
Ditto for LineOut that is identical with Speaker.
Also, fixed/cleaned up the auto-mute callback to use the amp cache
correctly.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:20 +01:00
Takashi Iwai
86cd92983a [ALSA] hda-codec - Rename non-standard 'iSpeaker'
Renamed the non-standard mixer elements 'iSpeaker' to 'Speaker'
in Realtek codecs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:19 +01:00
Takashi Iwai
8c0d9649ba [ALSA] hda-codec - Add SPDIF output support to AD1986a laptop-eapd model
The SPDIF output on AD1986A laptop-eapd model is disabled although
some Samsung laptops have SPDIF output.  Enable it after checking the
pin default config.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:19 +01:00
Jiang zhe
4444704cdc [ALSA] hda-codec - Add model for Gigabyte P35 DS3R
Signed-off-by: Jiang zhe <zhe.jiang@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:19 +01:00
Takashi Iwai
4806ef0cf4 [ALSA] hda-codec - Add SPDIF controls as slave on AD codecs
The AD codecs have hardware SPDIF volume/switch controls but they
are not assigned to the slave list for virtual master controls.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:16 +01:00
Matthew Ranostay
b5895dc8b4 [ALSA] hda: STAC92xx Line In/Mic as output check
This patch checks to see the Line In/Mic port have the ability
to do output before creating the the control switches.
The 92hd71bxx series of codecs has this issue with the port 0xe,
which only allows input.

Signed-off-by: Matthew Ranostay <mranostay@embededalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:16 +01:00
Takashi Iwai
628ed1333a [ALSA] hda-codec - Add missing slave for AD1884 master switch
The Speaker switch is missing in the slave list.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:16 +01:00
Andy Shevchenko
dafc83578d [ALSA] hda-codec - Add model for Acer Aspire 5310
Simplify usage of the Acer Aspire 5310 laptop with the ALC268 based codec
sound card via add correct PCI SSID.

Signed-off-by: Andy Shevchenko <andy@smile.org.ua>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:16 +01:00
Takashi Iwai
461e2c78b1 [ALSA] hda-codec - Add Conexant 5051 codec support
Added the support for Conexant 5051 audio codec.
Right now there are two preset models, laptop and hp.
The whole patch is based on the information from the base patch by
Linuxant.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:16 +01:00
Andy Shevchenko
29a52c242d [ALSA] hda-codec - Add model for Acer Aspire 5315
Simplify usage of the Acer Aspire 5315 laptop with the ALC268 based codec
sound card via add correct PCI SSID.

Signed-off-by: Andy Shevchenko <andy@smile.org.ua>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:14 +01:00
Matthew Ranostay
e2e7d624ad [ALSA] hda: STAC9205 GPIO line fix
Fixed issue that the incorrect GPIO line was being pulled high
for some STAC9205 based laptops.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:14 +01:00
Takashi Iwai
6330079fc6 [ALSA] hda-codec - Fix handling of multiple capture streams
Fixed the bug that multiple capture streams conflict on Realtek codec
routines.
Also, this adds a framework to enable the alternative playback stream,
e.g. for VoIP.  It's not fully implemented yet, though.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:13 +01:00
Matthew Ranostay
09a9995918 [ALSA] hda: Add dynamic mono mixer support for STAC92xx codecs
Allows for dynamically creating mono out mixer controls and well
as mono mux controls.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:13 +01:00
Matthew Ranostay
90da78bf6a [ALSA] hda: Added mono_out_pin to autoconfig
Added a mono_out_pin field to autocfg struct, and code to parse
for the mono_out_line.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:13 +01:00
Takashi Iwai
dca008f367 [ALSA] hda-codec - Don't query widget parameter for invalid NID
Don't query a widget parameter for an invalid NID in get_wcaps() but
rather returns zero (i.e. no attribute).
The read to an non-existing widget may result in a fatal codec
communication error.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:10 +01:00
Takashi Iwai
0ef6ce7b6a [ALSA] hda-codec - Optimize snd_hda_pser_pin_def_config()
Don't read the widget list again as we already have it at the beginning.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:10 +01:00
Marc Boucher
ca7cfae9eb [ALSA] hda-codec - Add afg and mfg preset mask
Added afg and mfg preset masks for more finer codec-preset selection.

Signed-off-by: Marc Boucher <marc@linuxant.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:10 +01:00
Marc Boucher
1cfd52bc1a [ALSA] hda-intel - Add ratelimit to timeout messages
Signed-off-by: Marc Boucher <marc@linuxant.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:10 +01:00
Marc Boucher
d2595d86e5 [ALSA] hda-codec - Add a delay after power state change
Added a delay after the power state change as a partial workaround
for 'hda_intel: azx_get_response timeout' problem on Cxt codecs.

Signed-off-by: Marc Boucher <marc@linuxant.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:10 +01:00
Marc Boucher
9f113e0ef4 [ALSA] hda-codec - Add missing input controls for Cxt5047 test model
The input volume/switch elements are missing in Cxt5047 test model.
Also the patch includes some code clean ups.

Signed-off-by: Marc Boucher <marc@linuxant.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:10 +01:00
Marc Boucher
15908c36aa [ALSA] hda-codec - Fix laptop models for Cxt5045
Change laptop models to three different models, laptop-hpsense,
laptop-micsense and laptop-hpmicsense.  The first two correspond to
the old 'laptop' and 'fujitsu' models.
Reassigned the quirk table for the new models.

Signed-off-by: Marc Boucher <marc@linuxant.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:09 +01:00
Matthew Ranostay
b22b48214f [ALSA] hda: Mono mux mixer support
Add support for the mono mux on several 92HD7xxx codecs.
Creates a dynamic mixer for the mux selection.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:09 +01:00
Takashi Iwai
28a0d9df07 [ALSA] hda-intel - Make azx_get_response() a bit more robust
In azx_[rirb_]get_response(), the timeout is checked at the end of the loop.
It's better to be checked just after the check of the RIRB index to avoid
a bogus error with a too long msleep().

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:05 +01:00
Andrew Paprocki
797760ab14 [ALSA] hda_proc - Add a number of new settings to proc codec output
This patch adds additional output to the /proc codec#X info.
The following pieces of information are added to the output:
-  Balanced, L/R swap, trigger, impedance sense pin capabilities
-  Vref pin capabilities
-  Current Vref pin widget control setting
-  Default configuration association, sequence, and misc bit test
-  EAPD/BTL bits conveying balanced mode, EAPD, and L/R swap
-  Power state modified to show state name as well as setting vs actual value
-  GPIO parameter output on Audio Function Group, including enumeration of IO
   pins which are indicated present (Any I and O pins are not output at this
   time)
-  Stripe and L/R swap widget capabilities
-  All digital converter bits: enable, validity, validity config, preemphasis,
   copyright, non-audio, professional, generation level, and content category
-  Converter stream and channel values for in/out widgets
-  SDI select value for in widgets
-  Unsolicited response widget capability tag and enabled bit
-  Delay widget capability value
-  Processing widget capability benign bit and number of coefficients
-  Realtek Define Registers: processing coefficient, coefficient index
[Also, fixed space/tab issues and make codes a bit more readable
  -- Takashi]

Signed-off-by: Andrew Paprocki <andrew@ishiboo.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:04 +01:00
Jiang zhe
f4beee9420 [ALSA] hda-codec - Fix capture source for Cx5045 codec
For codec conexant 5045, I found that the name of 'Capture Source Items'
is different from the name of mixer.
The mixer is:
HDA_CODEC_VOLUME('Ext Mic Playback Volume', 0x17, 0x2, HDA_INPUT),
HDA_CODEC_MUTE('Ext Mic Playback Switch', 0x17, 0x2, HDA_INPUT),
But the capture source item is :
static struct hda_input_mux cxt5045_capture_source = {
	.num_items = 2,
	.items = {
		{ 'IntMic', 0x1 },
		{ 'LineIn', 0x2 },
	}
};
I think that it's better to change the name of capture_source to avoid
misunderstanding.

Signed-off-by: Jiang zhe <zhe.jiang@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:04 +01:00
Jiang Zhe
5218c89265 [ALSA] hda-codec - New model for conexant 5045 codec to support benq r55e
The benq r55e laptop have 3 jacks on the front panel.
One for HP, one for Line In and one for Mic In.
This patch implemented a new model to support it.

Signed-off-by: Jiang Zhe <zhe.jiang@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:04 +01:00
Vasily Khoruzhick
da65fd3bf1 [ALSA] hda-codec - remove 11c1:1040 from patch_si3054.c id list
Codec with id 11c1:1040 sitting on hda bus isn't si3054-compatible.
It should be removed from patch_si3054.c id list.
The detailed information
	http://archives.linmodems.org/26457
From: Vasily Khoruzhick <anarsoul@gmail.com>

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:02 +01:00
Takashi Iwai
52987656fb [ALSA] hda-intel - Add workarounds for STAC codecs
Some machines with STAC codecs seem to have problems (e.g. no audible
playback) when the delay in codec-read routine is too short.
I still don't figure out which command sequence causes this problem
(due to lack of test hardware), but it's known that increasing the
delay fixes.  So, added a stupid workaround here temporarily...

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:30:02 +01:00
Takashi Iwai
12b74c80cc [ALSA] hda-codec - Enable VIA SPDIF input pin
Enable the SPDIF input-pin on VIA codecs when SPDIF-input is enabled
by BIOS.  Also, including a bit code clean up.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:29:59 +01:00
Takashi Iwai
3866f0b0c2 [ALSA] hda-codec - Add the support of Dell OEM laptops with ALC268
Added the support of Dell OEM laptops (Vostro 1200) with ALC268 codec.
The new model=dell is provided.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:29:59 +01:00
Takashi Iwai
f0747ee6c1 [ALSA] hda-codec - Disable PCBEEP mixer element in test model
It turned out that the PCBEEP element (0x1d) is disabled on some hardwares
although it's defined in the datasheet.  Because of the error at info of
this element, the mixer gets totally unusable.
Since the PCBEEP isn't that important feature, it's safer to disable this.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:29:58 +01:00
Takashi Iwai
76e1ddfbda [ALSA] hda-code - Clean up STAC GPIO enablement code
There are two similar GPIO-enablement codes in patch_sigmatel.c.
Let's clean up.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:29:58 +01:00
Tobin Davis
bcd7200394 [ALSA] HDA: Enable chipset gcap usage
This patch removes hardcoded values for the number of streams supported
by the southbridge in most chipsets, and reads these values from the
chipset directly.  Most systems are hardwired for 4 streams in each
direction, but newer chipsets change that capability.

Signed-off-by: Tobin Davis <tdavis@dsl-only.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:29:58 +01:00