Commit Graph

1038 Commits

Author SHA1 Message Date
Takashi Iwai
5695ff4416 ALSA: hda - Add another HP model for AD1884A
Added a quirk entry for another HP mobile device with AD1884A codec.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-28 15:39:26 +01:00
Takashi Iwai
163d4c53e3 Merge branch 'topic/fix/hda' into topic/hda 2008-10-28 11:44:45 +01:00
Takashi Iwai
34c25350ac ALSA: hda - Remove old codec-probe limitation
Removed the old workaround to avoid the non-existing codec slot.
The current code should work without that workaround.  If any,
we can add a quirk table.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-28 11:44:34 +01:00
Takashi Iwai
e044c39ae2 ALSA: hda - Restore default pin configs for realtek codecs
Some machines have broken BIOS resume that doesn't restore the default
pin configuration properly, which results in a wrong detection of HP
pin.  This causes a silent speaker output due to missing HP detection.
Related bug: Novell bug#406101
	https://bugzilla.novell.com/show_bug.cgi?id=406101

This patch fixes the issue by saving/restoring the default pin configs
by the driver itself.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-27 16:56:24 +01:00
Takashi Iwai
42dc2378b5 Merge branch 'topic/hda-next' into topic/hda 2008-10-27 08:36:48 +01:00
Matthew Ranostay
74aeaabc3e ALSA: hda: add support for jack detection on IDT codecs.
This patch adds support to the IDT codec families to report jack status
to the jack abstraction layer. This required some reorganization in the
stac92xx_unsol_event function in which the index value is changed to
reporting the nid with the event.

Also adds an sigmatel_jack struct to keep track of the nid relation
to the jack abstraction layer instance. Also adds functions to set and
retrieve data values for each nid, this is used in stac92xx_unsol_event
to retrieve the GPIO mask for STAC_VREF_EVENT.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-27 08:15:15 +01:00
Matthew Ranostay
50a9f7905f ALSA: hda: add snd_hda_get_jack* functions
This patch adds snd_hda_get_jack* functions for reporting jack location,
device, and connectivity type.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-27 08:15:15 +01:00
Harvey Harrison
da74ae3e32 ALSA: hda - correct bracketing in spdif test in patch_sigmatel.c
Noticed by sparse:
sound/pci/hda/patch_sigmatel.c:1285:43: warning: dubious: !x & y

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Acked-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-22 08:00:46 +02:00
Takashi Iwai
863b45180e ALSA: hda - Fix conflicting volume controls on ALC260
ALC260 auto-parsing mode may create multiple controls for the same volume
widget (0x08 and 0x09) depending on the pin.  For example, Front and
Headphone volumes may control the same volume, just the latter one wins.

This patch adds a proper check of the existing of the volume control
and avoid the doulbed creation of the same volume controls.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-21 17:01:47 +02:00
Takashi Iwai
ebaa047058 ALSA: hda - Release jack instance for dynamic reconfigure
The jack instance has to be release manually in free callback
in patch_sigmatel.c for dynamic reconfiguration.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-16 16:39:56 +02:00
Takashi Iwai
dd125b28c1 Merge branch 'topic/hda-reconfig' into topic/hda-next 2008-10-16 16:39:46 +02:00
Matthew Ranostay
45a6ac16c2 ALSA: hda: add support for jack detection on IDT/Sigmatel
Added support for jack detection reporting to userspace for
IDT/Sigmatel codecs.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-16 08:43:24 +02:00
Takashi Iwai
ec4e86ba06 ALSA: hda - Fix PCM type of Nvidia HDMI devices
Added the missing PCM type for Nvidia HDMI devices so that they point
the right device number.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-16 08:02:41 +02:00
Kailang Yang
80ffe86925 ALSA: hda - Fix quirk lists for realtek codecs
- Fix Toshiba S06 SSID to 1179:ff7b
- Fix ASUS G50V quirk name
- Add ASUS N20 quirk

Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-15 11:24:55 +02:00
Kailang Yang
01afd41f55 ALSA: hda - Add support of ALC272
Added the support of ALC272 codec.  It's almost compatible with ALC663.

Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-15 11:23:10 +02:00
Kailang Yang
a385a52925 ALSA: hda - Add ALC887 support
Added ALC887 support.  It's almost compatible with ALC883/888.

Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-15 11:21:08 +02:00
Kailang Yang
4442608d4b ALSA: hda - Add ALC1200 support
Add ALC1200 codec support.  Almost compatible with ALC888.

Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-15 11:18:05 +02:00
Kailang Yang
a01c30cb77 ALSA: hda - Fix PCI SSID of ASUS M90V
ASUS M90V has PCI SSID 1043:1873.  Corrected in the quirk list.

Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-15 11:14:58 +02:00
Kailang Yang
7fb0d78fb1 ALSA: hda - Add auto mic switch in realtek auto-probe mode
Add the automatic mic switch via jack sensing in auto-probe mode
for Realtek codecs.

Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-15 11:12:35 +02:00
Matthew Ranostay
d21995e3e3 ALSA: hda: fix nid variable warning
Fixed compiler warning with possible uninitialized variable 'nid'.

  CC [M]  /home/mranostay/git/alsa-driver/pci/hda/patch_sigmatel.o
/home/mranostay/git/alsa-driver/pci/hda/../../alsa-kernel/pci/hda/patch_sigmatel.c: In function
‘stac92xx_parse_auto_config’:
/home/mranostay/git/alsa-driver/pci/hda/../../alsa-kernel/pci/hda/patch_sigmatel.c:2815: warning: ‘nid’ may be used
uninitialized in this function

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-14 07:42:55 +02:00
Takashi Iwai
1e1be4329f ALSA: hda - Add hints for reconfig
This patch adds the "hints" for reconfiguring codecs.  The hints
are simply string arrays and can be freely used/parsed by the codec
patch.  The hints can be input via hwdep sysfs files.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-13 02:43:04 +02:00
Takashi Iwai
11aeff082a ALSA: hda - Add init_verbs entries
This patch enables the additional init verbs for each codec.  The verbs
can be entered via hwdep sysfs file.  These verbs are executed at
reconfiguring the codec for non-standard setups like overriding
the pin-defcfg.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-13 02:43:03 +02:00
Takashi Iwai
d7ffba19ce ALSA: hda - Add sysfs entries to hwdep devices
Added the sysfs entries to hwdep devices so that the new features
like reconfiguration can be done via sysfs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-13 02:43:02 +02:00
Takashi Iwai
6c1f45ea89 ALSA: hda - Add codec reconfiguration feature
Added the reconfiguration feature of any individual codec.
Via the reconfiguration, the old resources are released and
the patch is called again to recreate the PCM and mixers in
addition to the re-initialization.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-13 02:43:02 +02:00
Takashi Iwai
d13bd412dc ALSA: hda - Manage kcontrol lists
Manage all kcontrol elements created in the hda-intel driver.
This makes it possible to remove and reconfigure the controls
of each codec.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-13 02:43:01 +02:00
Takashi Iwai
f44ac8378d ALSA: hda - Allocate name string of each codec
Allocate dynamically the name string of each codec instead of
pointing to a static string.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-13 02:43:00 +02:00
Takashi Iwai
603c401992 ALSA: hda - Use generic array helpers
Use generic array helpers to simplify array handling in snd-hda-intel.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-13 02:42:59 +02:00
Takashi Iwai
b2e1859745 ALSA: hda - Add generic arrays
Added helper functions to handle generic arrays.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-13 02:42:58 +02:00
Takashi Iwai
176d5335fe ALSA: hda - Add infrastructure for dynamic stream allocation
Added the infrastructure for dynamic stream allocation on HD-audio.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-13 02:42:58 +02:00
Matthew Ranostay
687cb98e89 ALSA: hda: corrected invalid mixer values
Corrected invalid mixer index values on the 92hd71bxxx codec branch.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-13 02:22:08 +02:00
Matthew Ranostay
4b33c7675d ALSA: hda: add mixers for analog mixer on 92hd75xx codecs
Add support for mixers on the analog mixer on some 92hd75xx codecs,
along with adding a 'Mixer' entry for it's connection on the dmux.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-13 02:19:42 +02:00
Matthew Ranostay
72474be62d ALSA: hda: VREF powerdown for headphones
Add support for powering down VREF on standard headphone insertion, also
powers up the VREF on a headset insertion.

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-10-10 13:42:00 +02:00
Matthew Ranostay
b9aea7150a ALSA: hda: STAC_HP_M4
Set the third microphone to a default config of a 'Line In' to be
added the Input Source Mux's.

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-10-10 13:41:59 +02:00
Wu Fengguang
6b34500c1c ALSA: hda: comment typo fix
fix a typo in comment for is_in_nid_list().

Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-10-10 13:41:51 +02:00
Wu Fengguang
5c1d1a98c5 ALSA: hda: comment typo fix
fix a typo in comment for process_unsol_events().

Signed-off-by: Wu Fengguang<wfg@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-10-10 13:41:50 +02:00
Takashi Iwai
238713d489 ALSA: hda - Fix PCI SSID for ASROCK K18N78FullHD-hSLI
The PCI SSID for ASROCK mobo in commit
ac56445dd6a38a36c2fa91989f5f6220a9bdf97c is wrong.
This patch fixes to the correct one, 1849:3662.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-10-10 13:41:50 +02:00
Clive Messer
669faba27f ALSA: hda - Fix another ALC889A (rev 0x100101)
ALC889A hardware (id 0x10ec0885 rev 0x100101) to use patch_alc883

Signed-off-by: Clive Messer <clive@vacuumtube.org.uk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-10-10 13:41:47 +02:00
Vedran Miletic
19c009aad0 ALSA: hda: add more board-specific information for Realtek ALC662 rev1
I recently got a chance to play with two boards with ALC662 rev1:
* BIOSTAR TA780G M2+
* ASROCK K10N78FullHD-hSLI R3.0
Both use 3 stack, 6ch mode with digital out. Since autodetection isn't able
to figure that out from BIOS, we need to specify that manually.

Signed-off-by: Vedran Miletic <rivanvx@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-10-10 13:41:46 +02:00
Matthew Ranostay
00ef50c242 ALSA: hda: SPDIF stream muting support
Added support for muting S/DPIF outs using the 'Digital Playback Source' muxs on
supporting 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-10-10 13:41:43 +02:00
Peter Korsgaard
f3911c5ab9 ALSA: hda: appletv support
The AppleTV needs the same handling as the 24" iMac.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-10-10 13:41:43 +02:00
Herton Ronaldo Krzesinski
95fe5f2cec ALSA: hda - Map ALC662 model for Foxconn 45CMX/45GMX/45CMX-K
Use 3stack-6ch-dig ALC662 model for Foxconn 45CMX/45GMX/45CMX-K motherboard.

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-10-10 13:41:42 +02:00
Herton Ronaldo Krzesinski
cb55974cb4 ALSA: hda - Map ALC662 model for Gigabyte 945GCM-S2L
Use 3stack-6ch-dig ALC662 model for Gigabyte 945GCM-S2L motherboard.

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-10-10 13:41:41 +02:00
Matthew Ranostay
9a9e2359f4 ALSA: hda: HP laptop quirk
Added HP laptop SND_PCI_QUIRK for STAC_HP_M4.

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-10-10 13:41:39 +02:00
Matthew Ranostay
b2c4f4d71f ALSA: hda: 92xx S/PDIF In support
Add support for S/PDIF IN on reference boards quirks. Also disable the
IEC958 capture switch on boards with GPIO0 enabled.

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-10-10 13:41:38 +02:00
Wei Ni
dc9c8e218d ALSA: Fix for reading RIRB buffer on NVIDIA aza controller with AMD Phenom cpu
When read RIRB buffer immediately after RIRB interrupt received,
sometimes the data will be "0x0". If we wait for some time, the data
in buffer will be correct. This issue only occurred with AMD Phenom cpu.
So we set this "needs_damn_long_delay" flag.

Signed-off-by: Wei Ni <wni@nvidia.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-10-10 13:41:36 +02:00
Wei Ni
9a10eb21e1 ALSA: Support NVIDIA MCP78/7A HDMI audio
Add NVIDIA HDMI HD-audio codec support in snd-hda-intel driver,
include NVIDIA MCP78/7A HDMI.

Signed-off-by: Wei Ni <wni@nvidia.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-10-10 13:41:35 +02:00
Takashi Iwai
2f72853ca1 ALSA: hda - Fix / clean-up slave digital out codes
The recent slave_dig_out addition has some rooms to clean up.
Also it doesn't call snd_hda_cleanup_stream() properly for slaves
at closing.  The patch fixes both issues.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-10-10 13:41:34 +02:00
Matthew Ranostay
ddc0f38a62 ALSA: hda: slave_dig_outs code block in wrong location
Removed invalid references to slave_dig_outs inside the S/PDIF IN capture switch
control. Beforehand this was basically a mute switch for the S/PDIF outs as well.

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-10-10 13:41:33 +02:00
Matthew Ranostay
fedb756910 ALSA: hda: use last DAC defined for hp_pin
Patch allows the last DAC in the dac_nids for the hp_nid if there is an
available one this isn't in use by a line_out entry or if hp_nid isn't already
defined. This solves the issues with the 'Headphone Playback' mixer
controls on the 92hd73xxx branch and possibly others.

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-10-10 13:41:27 +02:00
Herton Ronaldo Krzesinski
b69ce01ae4 ALSA: hda - Fix ALC662 DAC mixer mutes also for auto config model
In previous change "[ALSA] hda-codec - Fix ALC662 DAC mixer mutes", I
missed to fix the mixer mute switches also for the auto config model of
ALC662. Now mute for mixer items "Front", "Surround", "Center" and "LFE"
when available will work too with "auto" model.

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-23 08:18:23 +02:00
David Woodhouse
9c95c43de8 ALSA: hda - Add PCI subsystem ID for MacBookPro4,1
This seems to work if I tell it that it's a mbp3. Not sure if there are
actually any differences.

Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-23 08:18:21 +02:00
Matthew Ranostay
6597363219 ALSA: hda: SPDIF mux fixes for STAC927x
Corrected bounds-checking in stac92xx_auto_create_mux_input_ctls() and added a spec->spdif_labels
pointer for custom SPDIF mux labels for non-standard codec connections.

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-09-23 08:18:20 +02:00
Harald Welte
d742632966 ALSA: HDA VIA: Replace buggy Mic Boost
VT1708S' Mic Boost should be hidden in hardware design according to some
customers' requirements.  However, in case of bugs, it has to be exhibited to
normal users, so we need to:
* open a software backdoor, which is disabled by default in hardware
* re-write .tlv & .info, to indicate the actual necessary info, which we cannot
  get from amplifier's capabiliies

Signed-off-by: Logan Li <LoganLi@viatech.com.cn>
Signed-off-by: Harald Welte <HaraldWelte@viatech.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-23 08:18:15 +02:00
Harald Welte
5691ec7fc3 ALSA: HDA VIA: Fix 2nd S/PDIF out function
As it seems, the recently-sent patch for the 2nd S/PDIF (HDMI) output
is not working with alsa-kernel 1.0.18rc3.

This patch makes it work by
* activating the second S/PDIF output pin in the pin config
* consolidating the dig_playback_pcm_prepare() with extra_dig_pcm_prepare()
  functions
* remove the need for an extra hda_pcm_stream structure and rather represents
  the second digital output as substream within the primary S/PDIF digital out
  stream.

Signed-off-by: Logan Li <LoganLi@viatech.com.cn>
Signed-off-by: Harald Welte <HaraldWelte@viatech.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-23 08:18:13 +02:00
Harald Welte
f8fdd4958b ALSA: HDA VIA: Fix crash on codecs without Headphone
Don't enumerate via_hp_mixer while hp_mux is null (headphone does not exist),
to fix the crash of via_independent_hp_info (via_hp_mixer's .info), which will
reference hp_mux.

Signed-off-by: Logan Li <LoganLi@viatech.com.cn>
Signed-off-by: Harald Welte <HaraldWelte@viatech.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-23 08:18:11 +02:00
Robin H. Johnson
f51ff9937b ALSA: HDA: patch_analog: Quirk for Asus P5Q Premium/Pro boards.
Use 6STACK_DIG for the AD2000BX variant of the AD1989B chip used by Asus
on their Asus P5Q Premium and Pro boards.

Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-23 08:18:04 +02:00
Robin H. Johnson
9cae0c6378 ALSA: HDA: patch_analog: Implement multiple outputs for AD1988
Implement the slave_dig_outs for AD1989 cards. Untested due to lack of
hardware.

Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-23 08:18:03 +02:00
Robin H. Johnson
0481f45349 ALSA: HDA: hda_proc: Fix printf format specifier
The Pincap output had a typod format specifier, leading to an extraneous "08"
in the output, which is a reserved bit of the Vref field, and was really
confused :-).

Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-23 08:18:02 +02:00
Robin H. Johnson
35e8901e4d ALSA: HDA: hda_local: Less magic numbers.
Explain some of the magic numbers I saw while trying to fix the AD1989 SPDIF
issue. Maybe should just use the expanded form directly in the verbs?

Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-23 08:18:01 +02:00
Robin H. Johnson
e8bfc6c1d2 ALSA: HDA: patch_analog: Fix SPDIF output on AD1989B
The SPDIF pins for AD1989 are not enabled by default. Set OUT bit so that they
actually work. Also initialize the HDMI SPDIF at the same time.

Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-23 08:18:00 +02:00
Matthew Ranostay
2a9c781608 ALSA: hda: 92hd73xx fixes
Added support for defining the number of amps and the creation
of the private_dimux dynamically for the 92hd73xx codec family.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
[Fixed a typo by tiwai]
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-23 08:17:59 +02:00
Matthew Ranostay
f7cf0a7ce5 ALSA: hda: fixed hp_nid DAC for DELL_M6
This patch sets the HP out not used by the "Headphone to Line Out" switch to the
hp_nid.

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-09-23 08:17:57 +02:00
Matthew Ranostay
89385035fa ALSA: hda: Input port AMP controls
Added support for controlling hardware gain amps on input ports
using a volume control mixer with a mux selecting the port being controlled.

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-09-23 08:17:56 +02:00
Matthew Ranostay
6a14f58518 ALSA: hda: Added a STAC_HP_M4 quirk
Added a new quirk for STAC_HP_M4 series for an 92hd75xxx family laptop.

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-09-23 08:17:55 +02:00
Herton Ronaldo Krzesinski
9932fbb0b3 ALSA: hda: fix oopses in snd-hda-intel after digital slave support additions
Many places fail to check if codec has slave_dig_outs entries (the most common
case is not having any entry), leading to various possible oopses in hda_codec
code.

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-23 08:17:54 +02:00
Harald Welte
98aa34c050 ALSA: HDA patch_via.c: Second S/PDIF (HDMI) support
The VT1702 and VT1708S have a second S/PDIF output which is used to
connect to a HDMI transmitter.  This patch adds support for it.

Signed-off-by: Harald Welte <HaraldWelte@viatech.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 18:52:04 +02:00
Harald Welte
0aa62aef61 ALSA: HDA patch_via.c: Independent DAC for headphone
This mode allows an output stream to have two substreams, one for the
speakers and one for the headphone.  Each of the substreams has independent
PCM data and uses a different DAC.

Signed-off-by: Harald Welte <HaraldWelte@viatech.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 18:52:03 +02:00
Harald Welte
69e52a8091 ALSA: HDA patch_via.c: Mute on headphone plug-in
Signed-off-by: Harald Welte <HaraldWelte@viatech.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 18:52:02 +02:00
Harald Welte
d949cac1ea ALSA: HDA patch_via.c: Add VT1708S and VT1702 support
The VT1702 and VT1708S codecs are new HDA codecs by VIA.

This patch adds support for them to the patch_via.c file for HDA

Signed-off-by: Harald Welte <HaraldWelte@viatech.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 18:52:01 +02:00
Harald Welte
fb4cb772c0 ALSA: HDA patch_via.c: Fix inversion of surround and side channels
In the current driver, there is a consistent mistake between the SURROUND and
the SIDE channels.  This patch fixes it.

Signed-off-by: Harald Welte <HaraldWelte@viatech.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 18:52:00 +02:00
Harald Welte
76d9b0dd78 ALSA: HDA patch_via.c: HP and CD pin connect config
Signed-off-by: Harald Welte <HaraldWelte@viatech.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 18:51:59 +02:00
Harald Welte
eb14a46cf9 ALSA: HDA patch_via.c: cleanup
* add extra parenthesis to make code more readable
* use kzalloc() for alloc+zero rather than kcalloc()
* ensure that AUTO_SEQ_* starts at 0

Signed-off-by: Harald Welte <HaraldWelte@viatech.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 18:51:58 +02:00
Matthew Ranostay
e99d32b325 ALSA: hda - add missing slave_dig_outs for 92HD73bxx
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-09-09 18:51:51 +02:00
Matthew Ranostay
e348797018 ALSA: hda: SPDIF mux name change
Changed the mux naming scheme from "IEC9258 Mux" to "IEC958 Playback Source" to match
the coding style.

Signed-by-off: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 09:12:01 +02:00
Matthew Ranostay
0ffa980759 ALSA: hda: digital slave support for IDT codecs
Added slave_dig_outs entries for several IDT codecs that have multiple
SPDIF outs, and enabled these SPDIF outs in several pin configs.

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-09-09 09:12:00 +02:00
Matthew Ranostay
de51ca1267 ALSA: hda: slave digital out support
Added support for playing a stream on multiple digital outs. This is done
by defining codec->slave_dig_outs as array of hda_nid_t with a null-terminated entry to set the
slave SPDIF outs, in which the slave outs have cloned settings of the master out (e.g. dig_out_nid).

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-09-09 09:11:55 +02:00
Matthew Ranostay
07f455f779 ALSA: hda: removed unneeded hp_nid references
Removed unneeded hp_nid references for 92hd73xx codec family.

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-09-09 09:11:42 +02:00
Matthew Ranostay
d9737751eb ALSA: hda: SPDIF mux controls
Dynamically create mux controls for SPDIF outs on certain IDT/Sigmatel 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-09-09 09:11:41 +02:00
Takashi Iwai
2f5983f2aa ALSA: hda - allow probing of 4 codecs
Allow probing of 4 codecs on known good situations.
On some known bad situations, it should be avoided.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 09:10:49 +02:00
Travis Place
2346d0cde5 ALSA: hda - Add model for Toshiba L305 laptop
Added Subsystem IDs (0x1179, 0xff64) for the Toshiba Satellite L305
laptop, so it automatically uses the ALC268_TOSHIBA 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-09-04 10:26:39 +02:00
Hiroshi Miura
9f99a6386e ALSA: hda - Add support of Toshiba RX1
Added the support of Toshiba RX1 laptop with ALC262 codec chip.
Related ALSA bug#3386:
    https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3386

Signed-off-by: Hiroshi Miura <miurahr@acm.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-29 10:06:20 +02:00
Takashi Iwai
2922c9aff2 ALSA: hda - Add descriptions of missing model values
Added the descriptions of missing model values.
Also, fixed the model strings of a few new models to a standard style.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-29 10:06:13 +02:00
Joseph Chan
0e153474f4 ALSA: hda - Fix VIA recording problem
Add a workaround for bad DMA-position reporting on VIA chipset.

Signed-off-by: Joseph Chan <josephchan@via.com.tw>
[modified and cleaned up by tiwai]
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-29 10:06:12 +02:00
Kailang Yang
f1d4e28b2d ALSA: hda - Add more ALC662/663 codec support
- Add support for ECS (1019:9087)
- Delete G71V record from alc662_cfg_tbl[]
  The PCI SubsystemID was the same with M70V
- Add more ASUS notebook support

Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-29 10:06:04 +02:00
Kailang Yang
e2757d5efa ALSA: hda - support more ALC888 devices
- Add Lenovo Sky support (17aa:101d)
- Add ASUS M90V support (1043:8317)
- Add ASUS Eee 1601 support (1043:835f)

Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-29 10:05:59 +02:00
Kailang Yang
60db6b53fb ALSA: hda - Add support of Quanta FL1
Added the support of Quanta FL1 with ALC269 code chip.
Also a bit space clean-ups.

Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-29 10:05:57 +02:00
Kailang Yang
8ef355da64 ALSA: hda - Add support of Acer Aspire One
Added the support of Acer Aspire One with ALC269 codec chip.

Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-29 10:05:55 +02:00
Kailang Yang
4e555fe547 ALSA: hda - Add support of Toshiba S06
Added the support of Toshiba S06 with ALC262 codec chip.

Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-29 10:05:54 +02:00
Kailang Yang
3f8783084a ALSA: hda - Add support of HP DC7600
Fixed the support of HP DC7600 with ALC260, which was formerly handled
as model=hp-3013.

Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-29 10:05:52 +02:00
Kailang Yang
ea1fb29ac9 ALSA: hda - fix spaces in patch_realtek.c
Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-29 10:05:50 +02:00
Takashi Iwai
e01bf5091f ALSA: hda - Fix ALC269 capture source
ALC269 capture source wasn't properly set up.
It's an independent MUX (0x23), not a source of ADC.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-25 09:57:44 +02:00
Takashi Iwai
fc4abee811 ALSA: hda - check page continuity
Check the continuity of allocated pages to reduce the BDL size as much
as possible so that it can use more than 1MB buffers.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-25 09:57:40 +02:00
Takashi Iwai
77a23f2695 ALSA: Clean up SG-buffer helper functions and macros
Clean up SG-buffer helper functions and macros.  Helpers take substream
as arguments now.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-25 09:57:18 +02:00
Takashi Iwai
2005af24b1 ALSA: hda - Create beep control on ALC269 codec
ALC269 codec has a beep, but it was not used, so far.
Create a beep control appropriately.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-25 09:57:16 +02:00
Takashi Iwai
a62741cf77 ALSA: hda - disable delayed period-ack with bdl_pos_adj=0
When bdl_pos_adj=0 is given, disable the position-check and the delayed
period update mechanism.  Usually bdl_pos_adj=0 is set only for the
debugging purpose on really broken hardwares.  It's better to disable
the extra complexity in such a case.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-25 09:57:07 +02:00
Takashi Iwai
9e44c6e40f ALSA: hda - Add AD1882A codec support
Added the basic support of AD1882A codec chip.
It's almost compatible with AD1882, but with a digital mic and some
differences in connections.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-25 09:57:05 +02:00
Takashi Iwai
862f76f86d ALSA: hda - set up HDMI channels
Set up channel information for HDMI widgets.  This will allow LPCM
with multiple channels supported on some HDMI devices.

TODO: It still doesn't check ELD and doesn't change PCM parameters
dynamically.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-25 09:56:14 +02:00
Takashi Iwai
c492060675 ALSA: hda - print a few HDMI information in proc
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-25 09:56:10 +02:00
Takashi Iwai
955d24881e ALSA: hda - Add definitions of HDMI-related verbs
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-25 09:55:50 +02:00
Matthew Ranostay
8daaaa97d6 ALSA: hda: 92HD75xx fixes
Fixed several noise issues with DACs and ADCs on some 92HD75xxx based codecs
with certain revision id's.

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-08-15 11:48:30 +02:00
Matthew Ranostay
4682eee0ed ALSA: hda: dynamically create capture mux controls
Dynamically create capture mux volume controls when a output amp is detected.

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-08-15 11:48:28 +02:00
Jaroslav Kysela
ba443687f2 ALSA: hda - put all HDA codec IDs to components for precise hw detection
Export HDA codec subvendor ID and revision ID to user space via the
components variable. Our alsactl utility requires these values for
the perfect hardware identification.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-13 20:55:32 +02:00
Takashi Iwai
db3da6c135 ALSA: hda - initialize node 0x21 properly on AD1988 codecs
The widget node 0x21 should be initialized as unmuted/full (0dB)
as default.  This will reduce additional manual work by user at the
first time use.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-13 11:47:02 +02:00
Takashi Iwai
963f803fb1 ALSA: hda - Don't reset SPDIF in each status change
The SPDIF output is toggled at each time any SPDIF status bits are changed
because of the known problems on some codecs.  But, this also results in
loosing the sync, and the problem is more obvious on HDMI output over
SPDIF.  Since the toggle is necessary only for some codecs, we should
check whether this workaround is needed and skip if unnecessary.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-13 11:46:59 +02:00
Takashi Iwai
da3cec35dd ALSA: Kill snd_assert() in sound/pci/*
Kill snd_assert() in sound/pci/*, either removed or replaced with
if () with snd_BUG_ON().

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-13 11:46:38 +02:00
Mauro Carvalho Chehab
8c65008799 ALSA: hda: Add support for ECS/PC Chips boards with Sigmatel codecs
Thanks to Sistema Fenix (http://www.sistemafenix.com.br/) and CDI Brasil
(www.cdibrasil.com.br/) for sponsoring this development.

Signed-off-by: Gilberto <gilberto@sistemafenix.com.br>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-06 15:40:16 +02:00
Pascal Terjan
e8f9ae2a4a ALSA: hda - Fix sound on NEC Versa S9100
This patch adds sound support for NEC Versa S9100
With it, we get sound on the internal speaker and headphone (with
automute working) while there is no sound by default.
External mic also works fine but I don't know if there is an internal
one (if there is an internal mic it does not work currently), and I
had to send back the hardware.

Signed-off-by: Pascal Terjan <pterjan@mandriva.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-06 15:40:15 +02:00
Takashi Iwai
f6154d6d00 ALSA: hda - use input_free_device()
Use input_free_devce() correctly instead of kfree() at error path.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-07-29 21:32:08 +02:00
Jaroslav Kysela
0b18cb1854 ALSA: Fix commit: Add automatic model setting for the Acer Aspire 5920G laptop
There is a whitespace at the end of added line. Remove it.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-07-28 17:07:07 +02:00
Matthew Ranostay
d0513fc6c3 ALSA: hda: added 92HD81/83 support
Added support for 92HD81/83 family of codecs.
This also includes a pwr_mapping array for pins that have more than
one amp to power down.

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-28 12:19:33 +02:00
Matthew Ranostay
1cd2224cd0 ALSA: hda: digital pc-beep support hd-audio codecs
Added digital pc-beep support using linear tone generation for hd-codecs along
with initial support for several 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-07-20 19:17:49 +02:00
Takashi Iwai
24918b61b5 ALSA: hda - Fix model for Dell Inspiron 1525
Dell Inspiron 1525 seems to have a buggy BIOS setup and screws up
the recent codec parser, as reported by Oleksandr Natalenko:
    http://lkml.org/lkml/2008/9/12/203

This patch adds the working model, dell-3stack, statically.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Cc: <stable@kernel.org>
2008-09-30 13:04:59 +02:00
Takashi Iwai
ee979a143c ALSA: hda - Add mic-boost controls to ALC662/663 auto configuration
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-09-02 17:25:35 +02:00
Takashi Iwai
24fb917381 ALSA: hda - Fix ALC663 auto-probe
Fix the wrong DAC assignment for NID 0x17 mono-pin on ALC663.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-09-02 17:25:33 +02:00
Matthew Ranostay
20f5f95ded ALSA: hda: Distortion fix for dell_m6_core_init
Added the EQ distortion fix to the dell_m6_core_init.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-09-01 08:17:56 +02:00
Takashi Iwai
93a1a5eb70 Revert "ALSA: hda - Added model selection for iMac 24""
This reverts commit 3e0e469fa2.

The patch introduced a wrong detection of other intel Macs with
ALC88* codec because they share the same PCI SSID (but have different
codec subsystem-IDs).  See http://lkml.org/lkml/2008/8/24/143

Reported-and-tested-by: Guillaume Chazarain <guichaz@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-08-27 08:02:49 +02:00
Takashi Iwai
1082c7487c ALSA: hda - Fix call of alc888_coef_init()
Using init_hook to call alc888_coef_init() is problematic for configurations
that already set another init_hook.  Better to put it in alc_init() as is
(although it looks a bit hackish).

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-08-22 15:34:52 +02:00
Peer Chen
320dcc30f4 ALSA: hda_intel: enable snoop for nvidia HDA controller
Enable the snoop for nvidia hda controller to avoid data coherence issue.

Signed-off-by: Peer Chen <peerchen@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-08-21 10:46:46 +02:00
Takashi Iwai
f511b01c8e ALSA: hda - Fix capture source widgets on ALC codecs
On some Realtek codecs like ALC882 or ALC883, the capture source is
no mux but sum widget.  We have to initialize all channels properly
for this type, otherwise noises may come in from the unused route.

The patch assures to mute unused routes, and unmute the currently
selected route.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Tested-by: Daniel J Blueman <daniel.blueman@gmail.com>
2008-08-17 09:53:34 +02:00
Libin Yang
9e6dd47bf3 ALSA: hda - support new AMD HDMI Audio (1002:970f)
Signed-off-by: Libin Yang <libin.yang@amd.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-08-12 15:33:44 +02:00
Seth Heasley
b29c2360f1 ALSA: hda_intel: ALSA HD Audio patch for Intel Ibex Peak DeviceIDs
This patch adds the Intel Ibex Peak (PCH) HD Audio Controller DeviceIDs.

Signed-off by: Seth Heasley <seth.heasley@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-08-12 12:30:43 +02:00
Nicolas Boichat
536319afd1 ALSA: Allow to force model to intel-mac-v3 in snd_hda_intel (sigmatel).
Currently, even if you pass model=intel-mac-v3 as a module parameter to
snd_hda_intel, the function patch_stac922x (patch_sigmatel.c) will still
try to auto-detect the model type. This is a problem on my MacBook Pro 1st
generation, which needs intel-mac-v3, but sometimes incorrectly reports
0x00000100 as subsystem id, which causes the switch in patch_stac922x to
select intel-mac-v4.

To fix this, I added a new model called intel-mac-auto, so in case no
module parameter is passed, and an Intel Mac board is detected, the
model will be automatically detected, while no detection will be done
if the model is forced to intel-mac-v3.

This problem has been around for quite a while, and I used to fix it
by moving the case statement for 0x00000100 in patch_stac922x so that
intel-mac-v3 is chosen.

Another way to fix the problem would be to check if a module parameter
was set directly in patch_stac922x, using something like this:
if (spec->board_config == STAC_INTEL_MAC_V3 &&
	!codec->bus->modelname) {

But I think it is less elegant (if you prefer that way, I can prepare a
patch).

Signed-off-by: Nicolas Boichat <nicolas@boichat.ch>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-07-27 10:22:27 +02:00
Travis Place
fe7e873f52 ALSA: hda - Add automatic model setting for the Acer Aspire 5920G laptop
Make the Acer Aspire 5920G (1025:0121) select ALC883_ACER_ASPIRE
by default.

Signed-off-by: Travis Place <wishie@wishie.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-07-27 10:22:26 +02:00
Kailang Yang
f53281e62a ALSA: hda - Add support of ASUS Eeepc P90*
- Support ASUS_P900A = P703
- Support ASUS_P901

Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-07-18 12:39:09 +02:00
Alexander Holler
2522d73593 ALSA: hda - Added support for Asus V1Sn
Added the necessary ID for Asus V1Sn to patch_realtek.c
to use ALC861VD_LENOVO on these laptops.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-07-17 23:43:13 +02:00
Takashi Iwai
e785d3d8fb ALSA: hda - Align BDL position adjustment parameter
It seems NVidia and other hardwares require the alignment for period
update timing.  For satisfying this condition, align the position
adjustment for delayed wake-up to the initial bdl_pos_adj value.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-07-16 12:03:24 +02:00
Takashi Iwai
9e4641541e ALSA: hda - Fix FSC V5505 model
model=laptop-hpmicsense matches better to FSC V5505 laptop.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-07-14 09:00:51 +02:00
Takashi Iwai
86376df6ad ALSA: hda - Fix missing init for unsol events on micsense model
Fixed the missing initialization for unsolicited events on
Cx5045 micsense model.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-07-14 09:00:37 +02:00
Takashi Iwai
4090dffb14 ALSA: hda - Fix internal mic vref pin setup
Set the vref80 to the internal mic pin 0x12 for Cx5045.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-07-14 09:00:33 +02:00
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