safe/jmp/linux-2.6
15 years agoALSA: hda - Check model for Dell 92HD73xx laptops
Takashi Iwai [Tue, 25 Nov 2008 14:18:29 +0000 (15:18 +0100)]
ALSA: hda - Check model for Dell 92HD73xx laptops

Check the model type instead of PCI SSID for detection of the mic types
on Dell laptops with IDT 92HD73xx codecs.  In this way, a new laptop
can be tested via model module option.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - mark Dell studio 1535 quirk
Takashi Iwai [Fri, 21 Nov 2008 17:01:44 +0000 (18:01 +0100)]
ALSA: hda - mark Dell studio 1535 quirk

Fixed the quirk string for Dell studio 1535 (the product name wasn't
published at the time the patch was made).

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - No 'Headphone as Line-out' swich without line-outs
Takashi Iwai [Mon, 24 Nov 2008 06:51:11 +0000 (07:51 +0100)]
ALSA: hda - No 'Headphone as Line-out' swich without line-outs

STAC/IDT driver creates "Headphone as Line-Out" switch even if there
is no line-out pins on the machine.  For devices only with headpohnes
and speaker-outs, this switch shouldn't be created.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Fix AFG power management on IDT 92HD* codecs
Takashi Iwai [Tue, 25 Nov 2008 07:21:51 +0000 (08:21 +0100)]
ALSA: hda - Fix AFG power management on IDT 92HD* codecs

The AFG pin power-mapping isn't properly set for the fixed I/O pins
on IDT 92HD* codecs.  This resulted in the low power mode after the
boot until any jack detection is executed, thus no output from the
speaker.

This patch fixes the power mapping for the fixed pins, and also fixes
the GPIO bits and digital I/O pin settings properly in stac92xx_ini().

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

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Fix caching of SPDIF status bits
Takashi Iwai [Tue, 25 Nov 2008 07:17:20 +0000 (08:17 +0100)]
ALSA: hda - Fix caching of SPDIF status bits

SPDIF status bits controls are written via snd_hda_codec_write()
without caching.  This causes a regression at resume that the bits
are lost.

Simply replacing it with the cached version fixes the problem.

Reference:
http://lkml.org/lkml/2008/11/24/324

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Add a quirk for Dell Studio 15
Takashi Iwai [Fri, 21 Nov 2008 07:37:03 +0000 (08:37 +0100)]
ALSA: hda - Add a quirk for Dell Studio 15

Added the matching model=dell-m6 for Dell Studio 15 laptop.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda: Add STAC_DELL_M4_3 quirk
Matthew Ranostay [Fri, 21 Nov 2008 02:21:43 +0000 (21:21 -0500)]
ALSA: hda: Add STAC_DELL_M4_3 quirk

Added STAC_DELL_M4_3 quirk for Dell systems, also reorganized the
board config switch to assign number of digital muxes, microphones,
and SPDIF muxes via the PCI quirk defined.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda: STAC_DELL_M6 EAPD
Matthew Ranostay [Sun, 16 Nov 2008 16:42:34 +0000 (11:42 -0500)]
ALSA: hda: STAC_DELL_M6 EAPD

Add support for EAPD on system suspend and disabling EAPD on headphone jack
detection for STAC_DELL_M6 laptops.

This patch fixes the regressions, the silent output on HP of some Dell
laptops (see Novell bnc#446025):
https://bugzilla.novell.com/show_bug.cgi?id=446025

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Fix resume of GPIO unsol event for STAC/IDT
Takashi Iwai [Tue, 18 Nov 2008 09:55:36 +0000 (10:55 +0100)]
ALSA: hda - Fix resume of GPIO unsol event for STAC/IDT

Use cached write for setting the GPIO unsolicited event mask to be
restored properly at resume.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Add quirks for HP Pavilion DV models
Takashi Iwai [Tue, 18 Nov 2008 09:48:41 +0000 (10:48 +0100)]
ALSA: hda - Add quirks for HP Pavilion DV models

Added the quirk entries for HP Pavilion DV5 and DV7 with model=hp-m4.

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

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Fix GPIO initialization in patch_stac92hd71bxx()
Takashi Iwai [Tue, 18 Nov 2008 09:45:15 +0000 (10:45 +0100)]
ALSA: hda - Fix GPIO initialization in patch_stac92hd71bxx()

Fixed the GPIO mask and co initialization in patch_stac92hd71bxx()
so that the gpio_maks for HP_M4 model is set properly.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Check model type instead of SSID in patch_92hd71bxx()
Takashi Iwai [Sat, 15 Nov 2008 18:28:54 +0000 (19:28 +0100)]
ALSA: hda - Check model type instead of SSID in patch_92hd71bxx()

Check board preset model instead of codec->subsystem_id in
patch_92hd71bxx() so that other hardwares configured via the model
option work like the given model.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda: STAC_VREF_EVENT value change
Matthew Ranostay [Fri, 14 Nov 2008 22:46:22 +0000 (17:46 -0500)]
ALSA: hda: STAC_VREF_EVENT value change

Changed value for STAC_VREF_EVENT from 0x40 to 0x00 because the
unsol response value is only 6-bits width and the former value
was 1<<6 which is an overrun.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Missing NULL check in hda_beep.c
Takashi Iwai [Thu, 13 Nov 2008 12:08:56 +0000 (13:08 +0100)]
ALSA: hda - Missing NULL check in hda_beep.c

Added a NULL check of input_allocate_device() in hda_beep.c.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Add digital beep playback switch for STAC/IDT codecs
Takashi Iwai [Wed, 12 Nov 2008 15:45:04 +0000 (16:45 +0100)]
ALSA: hda - Add digital beep playback switch for STAC/IDT codecs

The digital beep widget may have no mute control, and always enabling
the beep is ofen pretty annoying, especially on laptops.

This patch adds a mixer control "PC Beep Playback Switch" when there
is no mixer amp mute is found, and controls it on software.

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

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Fix IDT/STAC multiple HP detection
Takashi Iwai [Wed, 12 Nov 2008 08:48:04 +0000 (09:48 +0100)]
ALSA: hda - Fix IDT/STAC multiple HP detection

Due to the recent change for multiple HP as line-out switch, only
one of the multiple headphons (usually a wrong one) is toggled
and the other pins are still disabled.  This causes the silent output
problem on some Dell laptops.

Also, the hp_switch check is screwed up when a line-in or a mic-in
jack exists.  This is added as an additional output, but hp_switch
check doesn't take it into account.

This patch fixes these issues: simplify hp_switch check by using
the NID instead of bool, and clean up / fix the toggle of HP pins
in unsol event handler code.

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

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Fix input pin initialization for STAC/IDT codecs
Takashi Iwai [Tue, 11 Nov 2008 15:47:24 +0000 (16:47 +0100)]
ALSA: hda - Fix input pin initialization for STAC/IDT codecs

The input pins are sometimes not initialized properly because
of the optimization check of the current pinctl code.

Force to initialize the mic input pins so that they can be set up
properly even if they were in a weird state.  But keep other input
pins if already set up as input, since this could be an extra mic
pin.

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

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Add missing analog-mux mixer creation for STAC9200
Takashi Iwai [Tue, 11 Nov 2008 15:46:19 +0000 (16:46 +0100)]
ALSA: hda - Add missing analog-mux mixer creation for STAC9200

The creation of analog-mux mixer element is missing in
patch_stac9200() due to the dynamic allocation patch.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Make the HP EliteBook 8530p use AD1884A model laptop
Travis Place [Mon, 10 Nov 2008 16:56:23 +0000 (17:56 +0100)]
ALSA: hda - Make the HP EliteBook 8530p use AD1884A model laptop

Added a QUIRK to patch_analog.c for the HP Elitebook 8530p
(IDs 0x103c:0x30e7) to use AD1884A model 'laptop' by default.
Playback and Capture confirmed working.

Signed-off-by: Travis Place <wishie@wishie.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Add another HP model (6730s) for AD1884A
Michel Marti [Sat, 8 Nov 2008 10:33:32 +0000 (11:33 +0100)]
ALSA: hda - Add another HP model (6730s) for AD1884A

Added model=laptop for another HP machine (103c:3614) with AD1884A
codec.

Signed-off-by: Michel Marti <mma@objectxp.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Add a quirk for MEDION MD96630
Takashi Iwai [Wed, 5 Nov 2008 10:30:56 +0000 (11:30 +0100)]
ALSA: hda - Add a quirk for MEDION MD96630

Use model=lenovo-ms7195-dig for MEDION MD96630 laptop (17c0:4085)
with ALC888 codec.
Reference: Novell bnc#412548
https://bugzilla.novell.com/show_bug.cgi?id=412528

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Limit the number of GPIOs show in proc
Takashi Iwai [Tue, 4 Nov 2008 12:30:57 +0000 (13:30 +0100)]
ALSA: hda - Limit the number of GPIOs show in proc

Limit the number of GPIOs shown in proc.  Otherwise it gets too long
unnecessarily, and hard to analyze.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda: make a STAC_DELL_EQ option
Matthew Ranostay [Mon, 3 Nov 2008 13:12:43 +0000 (08:12 -0500)]
ALSA: hda: make a STAC_DELL_EQ option

Add support for explicitly enabling the EQ distortion hack for
systems without software biquad support.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Cc: stable@kernel.org
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Add a quirk for another Acer Aspire (1025:0090)
Takashi Iwai [Mon, 3 Nov 2008 09:07:43 +0000 (10:07 +0100)]
ALSA: hda - Add a quirk for another Acer Aspire (1025:0090)

Added a quirk for another Acer Aspier laptop (1025:0090) with ALC883
codec.  Reported in Novell bnc#426935:
    https://bugzilla.novell.com/show_bug.cgi?id=426935

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Add digital-mic for ALC269 auto-probe mode
Takashi Iwai [Fri, 31 Oct 2008 16:16:31 +0000 (17:16 +0100)]
ALSA: hda - Add digital-mic for ALC269 auto-probe mode

The digital mic wasn't detected properly for ALC269 auto-probing mode
because of its widget number.  Fixed now.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Disable broken mic auto-muting in Realtek codes
Takashi Iwai [Fri, 31 Oct 2008 13:18:24 +0000 (14:18 +0100)]
ALSA: hda - Disable broken mic auto-muting in Realtek codes

The recent addition of automatic mic-muting is broken in some cases.
The code assumes that the pin nids <= 0x18, but the digital pins can
be less than 0x18.
Also, it assumes the front-mic being the internal mic, but it depends
on the hardware implementation actually.

Instead of complex case-fixes, better to disable the code as now.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Add reboot notifier
Takashi Iwai [Wed, 29 Oct 2008 15:18:25 +0000 (16:18 +0100)]
ALSA: hda - Add reboot notifier

The current snd-hda-intel driver seems blocking the power-off on some
devices like eeepc.  Although this is likely a BIOS problem, we can add
a workaround by disabling IRQ lines before power-off operation.
This patch adds the reboot notifier to achieve it.

The detailed problem description is found in bug#11889:
    http://bugme.linux-foundation.org/show_bug.cgi?id=11889

Tested-by: Luiz Fernando N. Capitulino <lcapitulino@mandriva.com.br>
Cc: stable@kernel.org
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Fix SPDIF mute on IDT/STAC codecs
Takashi Iwai [Wed, 29 Oct 2008 07:03:42 +0000 (08:03 +0100)]
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>
15 years agoALSA: hda: Add HDA vendor ID for Wolfson Microelectronics
Mark Brown [Tue, 28 Oct 2008 14:50:13 +0000 (14:50 +0000)]
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>
15 years agoALSA: hda - Add another HP model for AD1884A
Takashi Iwai [Tue, 28 Oct 2008 14:39:26 +0000 (15:39 +0100)]
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>
15 years agoALSA: hda - Restore default pin configs for realtek codecs
Takashi Iwai [Mon, 27 Oct 2008 15:56:24 +0000 (16:56 +0100)]
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>
15 years agoALSA: hda - correct bracketing in spdif test in patch_sigmatel.c
Harvey Harrison [Wed, 22 Oct 2008 03:28:04 +0000 (20:28 -0700)]
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>
15 years agoALSA: hda - Fix conflicting volume controls on ALC260
Takashi Iwai [Tue, 21 Oct 2008 15:01:47 +0000 (17:01 +0200)]
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>
15 years agoALSA: hda - Fix PCM type of Nvidia HDMI devices
Takashi Iwai [Thu, 16 Oct 2008 06:02:41 +0000 (08:02 +0200)]
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>
15 years agoALSA: hda - Fix quirk lists for realtek codecs
Kailang Yang [Wed, 15 Oct 2008 09:23:27 +0000 (11:23 +0200)]
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>
15 years agoALSA: hda - Add support of ALC272
Kailang Yang [Wed, 15 Oct 2008 09:22:09 +0000 (11:22 +0200)]
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>
15 years agoALSA: hda - Add ALC887 support
Kailang Yang [Wed, 15 Oct 2008 09:20:21 +0000 (11:20 +0200)]
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>
15 years agoALSA: hda - Add ALC1200 support
Kailang Yang [Wed, 15 Oct 2008 09:18:05 +0000 (11:18 +0200)]
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>
15 years agoALSA: hda - Fix PCI SSID of ASUS M90V
Kailang Yang [Wed, 15 Oct 2008 09:14:58 +0000 (11:14 +0200)]
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>
15 years agoALSA: hda - Add auto mic switch in realtek auto-probe mode
Kailang Yang [Wed, 15 Oct 2008 09:12:35 +0000 (11:12 +0200)]
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>
15 years agoALSA: hda: fix nid variable warning
Matthew Ranostay [Mon, 13 Oct 2008 17:22:45 +0000 (13:22 -0400)]
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>
15 years agoALSA: hda: corrected invalid mixer values
Matthew Ranostay [Sat, 11 Oct 2008 17:52:43 +0000 (13:52 -0400)]
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>
15 years agoALSA: hda: add mixers for analog mixer on 92hd75xx codecs
Matthew Ranostay [Fri, 10 Oct 2008 13:07:23 +0000 (09:07 -0400)]
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>
15 years agoALSA: hda: VREF powerdown for headphones
Matthew Ranostay [Thu, 9 Oct 2008 13:32:17 +0000 (09:32 -0400)]
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>
15 years agoALSA: hda: STAC_HP_M4
Matthew Ranostay [Thu, 9 Oct 2008 12:37:28 +0000 (08:37 -0400)]
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>
15 years agoALSA: ASoC: Check for machine type in GTA01 machine driver
Mark Brown [Wed, 8 Oct 2008 12:02:20 +0000 (13:02 +0100)]
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>
15 years agoALSA: mtpav - Fix race in probe
Takashi Iwai [Wed, 8 Oct 2008 08:28:25 +0000 (10:28 +0200)]
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>
15 years agoALSA: usb-audio: dynamic detection of MIDI interfaces in uaxx-quirk
Pedro Lopez-Cabanillas [Tue, 7 Oct 2008 18:54:18 +0000 (20:54 +0200)]
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>
15 years agoALSA: Add a note on dependency of RTC stuff
Takashi Iwai [Tue, 7 Oct 2008 14:13:59 +0000 (16:13 +0200)]
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>
15 years agoALSA: ASoC: add new param mux to dapm_mux_update_power
Richard Zhao [Tue, 7 Oct 2008 00:05:20 +0000 (08:05 +0800)]
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>
15 years agoALSA: Increase components array size
Takashi Iwai [Tue, 7 Oct 2008 09:38:09 +0000 (11:38 +0200)]
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>
15 years agoALSA: ASoC: Correct inverted Mic PGA Switch control in wm8510 driver
Mark Brown [Mon, 6 Oct 2008 10:33:21 +0000 (11:33 +0100)]
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>
15 years agoALSA: hda: comment typo fix
Wu Fengguang [Tue, 7 Oct 2008 06:21:41 +0000 (14:21 +0800)]
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>
15 years agoALSA: hda: comment typo fix
Wu Fengguang [Tue, 7 Oct 2008 06:17:53 +0000 (14:17 +0800)]
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>
15 years agoALSA: hda - Fix PCI SSID for ASROCK K18N78FullHD-hSLI
Takashi Iwai [Sun, 5 Oct 2008 08:57:39 +0000 (10:57 +0200)]
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>
15 years agoALSA: snd-usb-audio: support for Edirol UA-4FX device
Pedro Lopez-Cabanillas [Sat, 4 Oct 2008 14:27:36 +0000 (16:27 +0200)]
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>
15 years agoALSA: usb - Fix possible Oops at USB-MIDI disconnection
Takashi Iwai [Thu, 2 Oct 2008 12:50:22 +0000 (14:50 +0200)]
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>
15 years agoALSA: hda - Fix another ALC889A (rev 0x100101)
Clive Messer [Tue, 30 Sep 2008 13:49:13 +0000 (15:49 +0200)]
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>
15 years agoALSA: hda: add more board-specific information for Realtek ALC662 rev1
Vedran Miletic [Mon, 29 Sep 2008 18:29:25 +0000 (20:29 +0200)]
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>
15 years agoALSA: Correct Vladimir Barinov's e-mail address
Vladimir Barinov [Mon, 29 Sep 2008 19:14:11 +0000 (23:14 +0400)]
ALSA: Correct Vladimir Barinov's e-mail address

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
15 years agoALSA: cs46xx: Add PCI IDs for TerraTec and Hercules cards
Vedran Miletic [Mon, 29 Sep 2008 13:08:00 +0000 (15:08 +0200)]
ALSA: cs46xx: Add PCI IDs for TerraTec and Hercules cards

This patch adds PCI IDs for:
* TerraTec DMX XFire 1024
* Hercules Gamesurround Fortissimo II
* Hercules Gamesurround Fortissimo III 7.1
All those cards were supported as generic CS46xx device,
so they will work as before. I'm pretty sure that first two
cards work, as they have same hardware design as reference
card. Not sure about Fortissimo III, but this won't break it
if it worked.

Tested on TerraTec DMX XFire 1024.

Signed-off-by: Vedran Miletic <rivanvx@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
15 years agoALSA: hda: SPDIF stream muting support
Matthew Ranostay [Sat, 27 Sep 2008 22:13:47 +0000 (18:13 -0400)]
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>
15 years agoALSA: hda: appletv support
Peter Korsgaard [Sat, 27 Sep 2008 07:13:45 +0000 (09:13 +0200)]
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>
15 years agoALSA: hda - Map ALC662 model for Foxconn 45CMX/45GMX/45CMX-K
Herton Ronaldo Krzesinski [Sat, 27 Sep 2008 02:48:45 +0000 (23:48 -0300)]
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>
15 years agoALSA: hda - Map ALC662 model for Gigabyte 945GCM-S2L
Herton Ronaldo Krzesinski [Sat, 27 Sep 2008 02:47:45 +0000 (23:47 -0300)]
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>
15 years agoALSA: sound/soc/at32: Useless NULL test
Julien Brunel [Fri, 26 Sep 2008 13:23:46 +0000 (15:23 +0200)]
ALSA: sound/soc/at32: Useless NULL test

The test (ssc != NULL) can only be reached if the call to the function
ssc_request, the result of which ssc is assigned, succeeds. Moreover,
two statements assign NULL to ssc just before a return, which is useless
since it is a local variable. So, we suggest to delete the test and
the two assignments.

A simplified version of the semantic match that finds this problem is
as follows:
(http://www.emn.fr/x-info/coccinelle/)

// <smpl>
@bad_null_test@
expression x,E;
@@
x = ssc_request(...)
... when != x = E
* x != NULL
// </smpl>

Signed-off-by: Julien Brunel <brunel@diku.dk>
Signed-off-by: Julia Lawall <julia@diku.dk>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
15 years agoALSA: hda: HP laptop quirk
Matthew Ranostay [Fri, 26 Sep 2008 14:37:03 +0000 (10:37 -0400)]
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>
15 years agoALSA: hda: 92xx S/PDIF In support
Matthew Ranostay [Fri, 26 Sep 2008 14:06:40 +0000 (10:06 -0400)]
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>
15 years agoALSA: usb-audio: add support for E-Mu Tracker Pre
Eran Tromer [Fri, 26 Sep 2008 05:07:03 +0000 (01:07 -0400)]
ALSA: usb-audio: add support for E-Mu Tracker Pre

Add support for the E-Mu "Tracker Pre" USB sound card, following
the example of the (very similar) E-Mu 0202 and E-Mu 0404 USB.

As with the 0202 and 0404 USB, functionality is very limited:
just a couple of sample rates, no volume/mute control, etc.

Signed-off-by: Eran Tromer <eran@tromer.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
15 years agoALSA: Fix for reading RIRB buffer on NVIDIA aza controller with AMD Phenom cpu
Wei Ni [Fri, 26 Sep 2008 05:55:56 +0000 (13:55 +0800)]
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>
15 years agoALSA: Support NVIDIA MCP78/7A HDMI audio
Wei Ni [Fri, 26 Sep 2008 05:45:46 +0000 (13:45 +0800)]
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>
15 years agoALSA: hda - Fix / clean-up slave digital out codes
Takashi Iwai [Thu, 25 Sep 2008 14:32:41 +0000 (16:32 +0200)]
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>
15 years agoALSA: hda: slave_dig_outs code block in wrong location
Matthew Ranostay [Thu, 25 Sep 2008 13:17:11 +0000 (09:17 -0400)]
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>
15 years agoALSA: intel8x0 - Add quirk for Fujitsu Lifebook P7010
Takashi Iwai [Wed, 24 Sep 2008 07:59:44 +0000 (09:59 +0200)]
ALSA: intel8x0 - Add quirk for Fujitsu Lifebook P7010

Fujitsu Lifebook P7010 requires ac97_quirk=hp_only.
    http://bugzilla.kernel.org/show_bug.cgi?id=9100

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
15 years agoALSA: Remove bitwise from snd_pcm_hw_param_t
Takashi Iwai [Wed, 24 Sep 2008 07:44:18 +0000 (09:44 +0200)]
ALSA: Remove bitwise from snd_pcm_hw_param_t

We have some arithmetic operations against snd_pcm_hw_param_t, thus
bitwise isn't correct for it.  Better to remove the flag to shut up
sparse warnings.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
15 years agoALSA: hda: use last DAC defined for hp_pin
Matthew Ranostay [Wed, 24 Sep 2008 01:46:30 +0000 (21:46 -0400)]
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>
15 years agoALSA: oxygen: wait for ACK when resetting UART
Clemens Ladisch [Wed, 24 Sep 2008 13:25:28 +0000 (15:25 +0200)]
ALSA: oxygen: wait for ACK when resetting UART

After sending a reset command to the UART, wait some time for the ACK to
be generated (and to be read and dropped by the interrupt handler)
before sending the next command.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
15 years agoALSA: ASoC: Convert tlv320aic3x to a new-style i2c driver (v2)
Jean Delvare [Mon, 22 Sep 2008 12:15:53 +0000 (14:15 +0200)]
ALSA: ASoC: Convert tlv320aic3x to a new-style i2c driver (v2)

Convert the tlv320aic3x codec driver to the new (standard) device
driver binding model.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: Vladimir Barinov <vbarinov@ru.mvista.com>
Tested-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
15 years agoALSA: hda - Fix ALC662 DAC mixer mutes also for auto config model
Herton Ronaldo Krzesinski [Thu, 18 Sep 2008 19:41:49 +0000 (16:41 -0300)]
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>
15 years agoALSA: hda - Add PCI subsystem ID for MacBookPro4,1
David Woodhouse [Thu, 18 Sep 2008 20:37:13 +0000 (13:37 -0700)]
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>
15 years agoALSA: hda: SPDIF mux fixes for STAC927x
Matthew Ranostay [Tue, 16 Sep 2008 14:39:37 +0000 (10:39 -0400)]
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>
15 years agosound: ASoC: Add WM8750 SPI support
Mark Brown [Tue, 16 Sep 2008 11:51:26 +0000 (12:51 +0100)]
sound: ASoC: Add WM8750 SPI support

Implement SPI support for WM8750, cut'n'pasting from the support for
WM8731 contributed by Cliff Cai and Alan Horstmann since the wire format
is the same for both codecs.

Also fix a cut'n'pasted comment in the I2C side of the driver (which was
clearly written in the same way) while we're at it.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
15 years agosound: ASoC: DAPM support for ADC on WM9713 PCM interface
Mark Brown [Mon, 15 Sep 2008 14:51:13 +0000 (15:51 +0100)]
sound: ASoC: DAPM support for ADC on WM9713 PCM interface

The stereo ADC in the WM9713 can be used to produce data for both the
standard AC97 interface and the additional voice PCM interface. Support
use on both by defining virtual ADCs tied to each accepting the output
from the actual ADCs.

Reported-by: Rodolfo Giometti <giometti@enneenne.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
15 years agosound: ASoC: Fix dependency on AC97_BUS
Mark Brown [Mon, 15 Sep 2008 14:57:36 +0000 (15:57 +0100)]
sound: ASoC: Fix dependency on AC97_BUS

When built with AC97 support the ASoC core depends on AC97_BUS so force
it to be available Kconfig.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
15 years agoALSA: HDA VIA: Replace buggy Mic Boost
Harald Welte [Mon, 15 Sep 2008 14:43:23 +0000 (22:43 +0800)]
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>
15 years agoALSA: HDA VIA: Fix 2nd S/PDIF out function
Harald Welte [Mon, 15 Sep 2008 14:42:26 +0000 (22:42 +0800)]
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>
15 years agoALSA: HDA VIA: Fix crash on codecs without Headphone
Harald Welte [Mon, 15 Sep 2008 14:41:31 +0000 (22:41 +0800)]
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>
15 years agoALSA: Separate common pxa2xx-pcm code
Dmitry Baryshkov [Wed, 10 Sep 2008 01:01:20 +0000 (05:01 +0400)]
ALSA: Separate common pxa2xx-pcm code

ASoC and non-ASoC drivers for PCM DMA on PXA share lots of common code.
Move it to pxa2xx-lib.

[Fixed some checkpatch warnings -- broonie]

Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
15 years agoALSA: pxa2xx-ac97-lib: support building for several CPUs
Dmitry Baryshkov [Wed, 10 Sep 2008 01:01:18 +0000 (05:01 +0400)]
ALSA: pxa2xx-ac97-lib: support building for several CPUs

Support building of pxa2xx-ac97-lib for several CPUs by making code
run-time selected, not only compile-time.

[Fixed 3XX->3xx typos in ifdef checks -- broonie.]

Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
15 years agoALSA: Separate common pxa2xx-ac97 code
Dmitry Baryshkov [Wed, 10 Sep 2008 01:01:17 +0000 (05:01 +0400)]
ALSA: Separate common pxa2xx-ac97 code

ASoC and non-ASoC drivers for ACLINK on PXA share lot's of common code.
Move all common code into separate module snd-pxa2xx-lib.

[Fixed handing of SND_AC97_CODEC in Kconfig and some checkpatch warnings
 -- broonie]

Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
15 years agosound: ASoC: Support runtime selection of CPU in pxa2xx-i2s
Dmitry Baryshkov [Wed, 10 Sep 2008 01:01:19 +0000 (05:01 +0400)]
sound: ASoC: Support runtime selection of CPU in pxa2xx-i2s

Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
15 years agosound: ASoC: Add WM8971 CODEC driver
Kenneth Kiraly [Wed, 10 Sep 2008 18:33:32 +0000 (19:33 +0100)]
sound: ASoC: Add WM8971 CODEC driver

The WM8971 is a low power, high quality stereo codec designed for
portable digital audio applications.

This driver was originally written by Kenneth Kiraly.  While out of tree
it has had updates to reflect current kernel APIs and coding standards
from Graeme Gregory and Mark Brown.

Signed-off-by: Kenneth Kiraly <kiraly@lab126.com>
Signed-off-by: Liam Girdwood <lg@opensource.wolfsonmicro.com>
Signed-off-by: Graeme Gregory <gg@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
15 years agoALSA: HDA: patch_analog: Quirk for Asus P5Q Premium/Pro boards.
Robin H. Johnson [Sat, 13 Sep 2008 23:55:01 +0000 (16:55 -0700)]
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>
15 years agoALSA: HDA: patch_analog: Implement multiple outputs for AD1988
Robin H. Johnson [Sat, 13 Sep 2008 23:54:58 +0000 (16:54 -0700)]
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>
15 years agoALSA: HDA: hda_proc: Fix printf format specifier
Robin H. Johnson [Sat, 13 Sep 2008 23:54:57 +0000 (16:54 -0700)]
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>
15 years agoALSA: HDA: hda_local: Less magic numbers.
Robin H. Johnson [Sat, 13 Sep 2008 23:54:59 +0000 (16:54 -0700)]
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>
15 years agoALSA: HDA: patch_analog: Fix SPDIF output on AD1989B
Robin H. Johnson [Sat, 13 Sep 2008 23:55:00 +0000 (16:55 -0700)]
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>
15 years agoALSA: hda: 92hd73xx fixes
Matthew Ranostay [Sat, 13 Sep 2008 20:45:39 +0000 (16:45 -0400)]
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>
15 years agoALSA: Fix section for snd-aica platform driver
Uwe Kleine-König [Sun, 14 Sep 2008 19:32:33 +0000 (21:32 +0200)]
ALSA: Fix section for snd-aica platform driver

Don't use __init but __devinit to define probe function.  A pointer to
snd_aica_probe is passed to the core via platform_driver_register and so the
function must not disappear after the module is loaded.  Using __init
and having HOTPLUG=y and SND_AICA=m the following probably oopses:

echo -n AICA > /sys/bus/platform/driver/AICA/unbind
echo -n AICA > /sys/bus/platform/driver/AICA/bind

Strange enough add_aicamixer_controls which is only called by
snd_aica_probe was already using __devinit.

While at it move the remove function to .devexit.text section.

Signed-off-by: Uwe Kleine-König <ukleinek@informatik.uni-freiburg.de>
Cc: Adrian McMenamin <adrian@mcmen.demon.co.uk>
Cc: Paul Mundt <lethal@linux-sh.org>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
15 years agoALSA: hda: fixed hp_nid DAC for DELL_M6
Matthew Ranostay [Sat, 13 Sep 2008 14:36:58 +0000 (10:36 -0400)]
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>