Commit Graph

1539 Commits

Author SHA1 Message Date
Takashi Iwai
88c71a9974 [ALSA] hda-codec - Fix missing capsrc_nids for ALC262
ALC262 must have capsrc_nids defined as well as in ALC882.
Also, add a NULL check in alc882_mux_enum_put to avoid Oops.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:08 +02:00
Jaroslav Kysela
ef2cd2ccad [ALSA] ice1712 - added support for M-Audio Delta 66E
See ALSA bug#3327 for more details. Experimental.
Also fix support for M-Audio Delta 1010E - subdevice check.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-04-24 12:00:08 +02:00
Jaroslav Kysela
a60567d13c [ALSA] Added support for Delta1010E (newer revisions of Delta1010)
For more details, see ALSA bug#3327 .

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

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

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

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:08 +02:00
Alan Horstmann
d043143d80 [ALSA] ice1712 - Fix hoontech MIDI input
Fixes the problems with Midi In on Hoontech/STA dsp24 cards, for example with
DSP2000 box, without restricting the box configurations available.  Also adds
mpu_401 name strings.

Signed-off-by: Alan Horstmann <gineera@aspect135.co.uk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:07 +02:00
Takashi Iwai
7d664ed58f [ALSA] hda-codec - Add ID for an unknown HDMI codec chip
Added the ID for an unknown HDMI codec chip on Jetway J9F2.

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

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

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:07 +02:00
Takashi Iwai
a76969228a [ALSA] ice1724 - Add ADC setup in set_rate callback for Audiophile192
Added the missing GPIO setup for the AK5385A ADC codec on Audiophile192.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:07 +02:00
Takashi Iwai
f339eb0f30 [ALSA] ice1724 - Enable AK4114 support for Audiophile192
Fixed and enabled the support of AK4114 chip on Audiophile192.

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

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

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

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

Signed-off-by: Tobin Davis <tdavis@dsl-only.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:06 +02:00
Tobias Klauser
3f76d9841e ALSA: Storage class should be before const qualifier
The C99 specification states in section 6.11.5:

The placement of a storage-class specifier other than at the
beginning of the declaration specifiers in a declaration is an
obsolescent feature.

Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
2008-04-21 22:25:51 +00:00
Arjan van de Ven
4b47c971dc es1968: fix sleep-while-holding-lock bug
snd_es1968_ac97_read() calls snd_es1968_ac97_wait() first outside a locked
area, and later, while holding a lock.

snd_es1968_ac97_wait() has a polling loop with a cond_resched() inside it..
which sleeps, so the second call is invalid.

This patch adds a version of the wait function that just pure polls.  While
this is not very elegant in principle, it's very likely the easiest thing to
do here, we already checked if the chip was ready (while yielding) just
before, so it is very unlikely to take a long time here.

[akpm@linux-foundation.org: coding-style fixes]
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Cc: Jaroslav Kysela <perex@suse.cz>
Cc: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-04-08 18:25:53 -07:00
Takashi Iwai
0d9ac27afa [ALSA] intel8x0 - Add quirk for Compaq Deskpro EN
Added the ac97_quirk hp_only for Compaq Deskpro EN.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-02-29 15:21:27 +01:00
Herton Ronaldo Krzesinski
b4818494ed [ALSA] hda-codec - Adapt eeepc p701 mixer for virtual master control
Fix the line-out volume control of eeepc p701 to be a proper slave of
the virtual master control.

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-02-29 15:20:08 +01:00
Harvey Harrison
008f3599ef [ALSA] sound: ice1712: unused structs
Don't need to declare a struct when defining a structure layout.  Both
of these structs are unused.
sound/pci/ice1712/revo.c:39:3: warning: symbol 'revo51' was not declared. Should it be static?
sound/pci/ice1712/phase.c:54:3: warning: symbol 'phase28' was not declared. Should it be static?

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-02-29 12:11:25 +01:00
Takashi Iwai
31bffaa943 [ALSA] hda-codec - Fix mixer names of realtek codecs to adapt mater controls
Some models like eeepc ep20 have invalid mixer names that aren't
handled properly by virtual master controls.  Rename them to the
proper names.

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

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-02-29 11:28:17 +01:00
Takashi Iwai
b6a370b6fb [ALSA] intel8x0 - Add quirk for Acer Travelmate 2310
Added ac97_quirk=hp-only for Acer Travelmate 2310.
ALSA bug#3656
	https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3656

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

Signed-off-by: Andrew Paprocki <andrew@ishiboo.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-02-29 11:28:16 +01:00
Clemens Ladisch
b930b9f41d [ALSA] oxygen: add owner field
I forgot to set the module owner for the HiFier/Xonar models.

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

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

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

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-02-29 11:28:14 +01:00
Clemens Ladisch
2f93d797ea [ALSA] bt87X: fix freeing of shared interrupt
Call free_irq() after iounmap() because other devices could trigger our
shared interrupt handler.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-22 14:20:09 -08:00
Takashi Iwai
c6cd7d7efe [ALSA] hda-intel - Fix Oops with ATI HDMI devices
The driver gets Oops with ATI HDMI devices due to the wrong calculation
of index for playback streams.  This patch fixes it.  Reference:
	https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3746

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

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

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

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

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

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

dmesg:

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

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

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

Signed-off-by: Serge A. Suchkov <Serge.A.S@tochka.ru>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-22 14:20:09 -08:00
Clemens Ladisch
902b05c117 [ALSA] oxygen: fix line-in recording selection
The GPIO pin 0 of the CM9780 must be set when muting the line input even
on non-Xonar cards.

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

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

Signed-off-by: Tobin Davis <tdavis@dsl-only.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-22 14:20:08 -08:00