Commit Graph

110594 Commits

Author SHA1 Message Date
Takashi Iwai
c1e99bd9d6 ALSA: hda - Fix SPDIF mute on IDT/STAC codecs
The SPDIF mute switch code seems broken.  It doesn't set unmute bits
properly.  Also it contains the duplicated lines (merge error?) to be
cleaned up.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-29 08:03:42 +01:00
Mark Brown
8199de3b29 ALSA: hda: Add HDA vendor ID for Wolfson Microelectronics
Add Wolfson Microelectronics to the HDA vendor ID table.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-28 16:15:42 +01:00
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
Matthew Ranostay
282cd76ffc ALSA: hda: dynamic jack id
This patch duplicates the jack->id pointer with kstrdup() to prevent
scoping issues from calling autoprobing functions from the HDA section.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-27 08:15:14 +01:00
Matthew Ranostay
a53ccab3cc ALSA: jack: lineout support to jack abstraction layer
This patch introduces support for reporting SW_LINEOUT_INSERT detection events
via the jack abstraction layer.

Also adds a SND_JACK_LINEOUT define to the input system header.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Cc: Dmitry Torokhov <dtor@mail.ru>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-27 08:15:14 +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
Mark Brown
fb2aa074d4 ALSA: ASoC: Check for machine type in GTA01 machine driver
Since there are now multiple OpenMoko platforms it is more important to
check that the machine driver is running on the correct system.  This
was orgininally generated as part of the initial GTA02 machine port.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-10-10 13:41:58 +02:00
Takashi Iwai
32fe614263 ALSA: mtpav - Fix race in probe
Ingo reported Oops at probing mtpav driver.  It's a race between
the irq handler and the rawmidi instance registration.

This patch fixes the order of registration to avoid the race.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Tested-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-10-10 13:41:58 +02:00
Pedro Lopez-Cabanillas
59b3db6c69 ALSA: usb-audio: dynamic detection of MIDI interfaces in uaxx-quirk
The MIDI interfaces have to be detected dynamically for Edirol devices
ua-700, ua-25 and ua4-fx. This patch reverses the wrong changes made by
my other patch in uaxx-quirk.

Signed-off-by: Pedro Lopez-Cabanillas <pedro.lopez.cabanillas@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-10-10 13:41:57 +02:00
Takashi Iwai
52948b3f7c ALSA: Add a note on dependency of RTC stuff
Added a note on the dependency of old RTC stuff, which is exclusive
with the new RTC class drivers.
    http://bugme.linux-foundation.org/show_bug.cgi?id=11430

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-10-10 13:41:55 +02:00
Richard Zhao
cb01e2b992 ALSA: ASoC: add new param mux to dapm_mux_update_power
Function dapm_mux_update_power needs enum index mux and register mask value val
as parameters, but it only has a parameter val, and uses it as both val and mux.
snd_soc_test_bits(widget->codec, e->reg, mask, val) val is register mask here,
e->texts[val] but val should be enum index mux here.

This patch adds a new param mux to fix it.

Signed-off-by: Richard Zhao <linuxzsc@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-10-10 13:41:54 +02:00
Takashi Iwai
ff33f2303b ALSA: Increase components array size
Increase the card components[] (and thus snd_card_info.components[],
too) array size from 80 to 128 chars so that more strings can be
stored.  The 80 chars aren't enough for more than 2 HD-audio codecs,
and this hits an ugly snd_BUG() as reported by Wu Fegguang for HP
2230s.

The control protocol number is increased to 2.0.6 as well, in case
it matters.

Reported-by: Wu Fengguang <wfg@linux.intel.com>
Acked-by: Jaroslav Kysela <perex@perex.cz>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-10-10 13:41:53 +02:00
Mark Brown
8ae23ec3ab ALSA: ASoC: Correct inverted Mic PGA Switch control in wm8510 driver
Mic PGA Switch should be inverted in the WM8510 driver but isn't.

Reported-by: ext-jukka.hynninen@vaisala.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-10-10 13:41:52 +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
Pedro Lopez-Cabanillas
310e0dc01d ALSA: snd-usb-audio: support for Edirol UA-4FX device
Renamed the old quirk function for ua-700/ua-25 to become more
generic, moving the MIDI interfaces to the quirk data header.
Added a new quirk for the Edirol UA-4FX.

Signed-off-by: Pedro Lopez-Cabanillas <pedro.lopez.cabanillas@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-10-10 13:41:48 +02:00
Takashi Iwai
7a17daae8e ALSA: usb - Fix possible Oops at USB-MIDI disconnection
The endpoints should be released immediately at disconnection
rather than the delayed release.  This could be a reason of Oops
at USB-audio device disconnection being used.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-10-10 13:41:48 +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