Commit Graph

3648 Commits (e546f485e1d7520ca0200502cdcc11b503f4805c)

Author SHA1 Message Date
Takashi Iwai 38faddb1af ALSA: hda - Fix pin-detection of Nvidia HDMI
The behavior of Nvidia HDMI codec regarding the pin-detection unsol events
is based on the old HD-audio spec, i.e. PD bit indicates only the update
and doesn't show the current state.  Since the current code assumes the
new behavior, the pin-detection doesn't work relialby with these h/w.

This patch adds a flag for indicating the old spec, and fixes the issue
by checking the pin-detection explicitly for such hardware.

Tested-by: Wei Ni <wni@nvidia.com>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-07-28 14:26:14 +02:00
Axel Lin 63818c448a ALSA: hpimsgx: fix wrong sizeof
The correct size should be sizeof(gRESP_HPI_SUBSYS_FIND_ADAPTERS),
sizeof(&gRESP_HPI_SUBSYS_FIND_ADAPTERS) is incorrect.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-07-28 11:53:03 +02:00
Takashi Iwai 7899f81fe4 Merge branch 'devel' of git.alsa-project.org:alsa-kernel into topic/misc 2010-07-27 10:16:04 +02:00
Takashi Iwai 7ccc3eface ALSA: hda - Fix max amp cap calculation for IDT/STAC codecs
The commit afbd9b8448
    ALSA: hda - Limit the amp value to write
introduced a regression for codec setups with amp offsets like IDT/STAC
codecs.  The limit value should be a raw value without offset calculation.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-07-26 17:00:15 +02:00
David Henningsson 2385b789f1 ALSA: hda - Ensure codec patch files are checked for the correct codec ID
Signed-off-by: David Henningsson <diwic@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-07-26 10:28:01 +02:00
Jaroslav Kysela cd7643bfb7 ALSA: hda-intel - fix function_id rework (add missing bitmask)
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-07-20 12:13:25 +02:00
Jerone Young ab85457f0a ALSA: hda - Add conexant quirk for AMD based Lenovo G series machines
This is a follow on patch adds support for AMD based Lenovo G series
machines, such as the Lenovo G555.

Signed-off-by: Jerone Young <jerone.young@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-07-19 18:47:38 +02:00
Kulikov Vasiliy 68bf57001f ALSA: riptide: check kzalloc() result
If kzalloc() fails exit with -ENOMEM.

Signed-off-by: Kulikov Vasiliy <segooon@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-07-19 17:59:26 +02:00
Kulikov Vasiliy 0b6d092c8e ALSA: echoaudio: check kmalloc() result
If kmalloc() fails exit with -ENOMEM.

Signed-off-by: Kulikov Vasiliy <segooon@gmail.com>
Ack-by: Giuliano Pochini <pochini@shiny.it>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-07-19 17:59:04 +02:00
Takashi Iwai 8d011cc7a9 Merge branch 'devel' of git.alsa-project.org:alsa-kernel into topic/misc 2010-07-19 17:42:09 +02:00
Jaroslav Kysela 79c944ad13 ALSA: hda-intel - do not mix audio and modem function IDs
The function IDs are different for audio and modem. Do not mix them.
Also, show the unsolicited bit in the function_id register.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-07-19 16:46:56 +02:00
Eliot Blennerhassett e2768c0c22 ALSA: asihpi - Avoid useless assignment of returned index values.
Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-07-16 11:34:23 +02:00
Eliot Blennerhassett 604a440a9d ALSA: asihpi - Avoid using c99 uintX types.
Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-07-16 11:33:47 +02:00
Eliot Blennerhassett 8d4bbee77e ALSA: asihpi - HPI version 4.04.01
Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-07-16 11:31:37 +02:00
Kulikov Vasiliy 315e8f7501 ALSA: asihpi: fix sign bug
bytes_per_sec is unsigned, so if snd_pcm_format_width() return error we
would not see it.

Signed-off-by: Kulikov Vasiliy <segooon@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-07-16 08:30:08 +02:00
Takashi Iwai 840b64c080 ALSA: hda - Add support of dual-ADCs for Realtek ALC275
Some VAIO models with ALC275 have dual ADCs for both internal and external
mics, and the driver needs to switch one of them appropriately.
This patch adds a basic support for this functionality, dynamic switching
between two ADCs per jack plug state.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-07-13 22:49:01 +02:00
Linus Torvalds 7e48c02829 Merge branch 'fix/hda' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
* 'fix/hda' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
  ALSA: hda - Restore cleared pin controls on resume
2010-07-12 14:44:43 -07:00
Clemens Ladisch 32e0191d79 ALSA: HDA: VT1708S: fix Smart5.1 mode
Correctly configure bidirectional pins when resuming; do not power down
widgets when they are needed for Smart5.1 output; and on 3-jack boards,
create the streams and controls needed for six channels.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Reported-and-tested-by: Viliam Kubis <viliam.kubis@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-07-12 17:25:45 +02:00
Clemens Ladisch 395c61d196 ALSA: via82xx: allow changing the initial DXS volume
As per-stream volume controls, the DXS controls are not intended to
adjust the overall sound level and so are initialized every time
a stream is opened.  However, there are special situations where one
wants to reduce the overall volume in the digital domain, i.e., before
the AC'97 codec's PCM volume control.  To allow this, add a module
parameter that sets the initial DXS volume.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Tested-by: Soeren D. Schulze <soeren.d.schulze@gmx.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-07-12 17:25:27 +02:00
Takashi Iwai f8fb27bd4a Merge branch 'fix/hda' into topic/hda 2010-07-09 10:09:00 +02:00
Takashi Iwai afbd9b8448 ALSA: hda - Limit the amp value to write
Check the amp max value at put callbacks and set the upper limit
so that the driver won't write any invalid value over the defined
range.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-07-09 10:08:57 +02:00
Takashi Iwai 3507e2a8f1 ALSA: hda - Add beep mixer support to Conexant codecs
Added the beep mixer controls to Conexant codecs.
They simply control the digital beep generator widget.

For cx5047, I couldn't find any beep generator, so it's not implemented
there.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-07-09 10:08:56 +02:00
Takashi Iwai ac0547dc62 ALSA: hda - Restore cleared pin controls on resume
Many codecs now clear the pin controls at suspend via snd_hda_shutup_pins()
for reducing the click noise at power-off.  But this leaves some pins
uninitialized, and they'll be never recovered after resume.

This patch adds the proper recovery of cleared pin controls on resume.
Also it adds a check of bus->shutdown so that pins won't be cleared at
module unloading.

Reference: Kernel bug 16339
	http://bugzilla.kernel.org/show_bug.cgi?id=16339

Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-07-09 08:42:29 +02:00
Takashi Iwai b492c4e895 Merge branch 'fix/hda' into for-linus 2010-07-08 16:55:02 +02:00
Eliot Blennerhassett f978d36da4 ALSA: asihpi - Remove unneeded ;
Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-07-06 08:20:43 +02:00
Eliot Blennerhassett 36ed8bdd86 ALSA: asihpi - Minor HPI error handling fixes
Handle errors in tuner level caching,
Ccorrect error code for aesebu rx status.

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-07-06 08:20:21 +02:00
Eliot Blennerhassett 108ccb3f0f ALSA: asihpi - Change compander API and tidy
Compander API changed to one function per parameter.
Factor out some common code for stereo log value reading.
Make some more entity functions static.

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-07-06 08:19:56 +02:00
Eliot Blennerhassett 3843914635 ALSA: asihpi - Add ASI5200 family
Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-07-06 08:19:35 +02:00
Eliot Blennerhassett 1dd6aaaafc ALSA: asihpi - Use version string instead of printf formatting
Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-07-06 08:19:06 +02:00
Eliot Blennerhassett 168f1b07cc ALSA: asihpi - HPI API updates
Remove some deprecated items.
Change compander api to one function per parameter.
Add a version string define.

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-07-06 08:18:27 +02:00
Takashi Iwai f189efcd1c ALSA: hda - Enable beep on Realtek codecs with PCI SSID override
When the PCI SSID gives an overriding SKU assno, PC-beep bit isn't
detected (since it's located over 16bit), resulting in no PC beep.
Also, many devices seem ignoring the requirement by Realtek's spec
for SSID numbers, and it also confuses the PC beep detection.

This patch assumes the PC beep is available on every machine with
PCI SSID override.  It's a regression fix from 2.6.34.

Reference: Kernel bug 16251
	http://bugzilla.kernel.org/show_bug.cgi?id=16251

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-07-05 17:28:17 +02:00
Takashi Iwai 65ee2ba310 Merge branch 'devel' of git://git.alsa-project.org/alsa-kernel into topic/misc 2010-07-05 15:37:27 +02:00
David Dillow 08b4509889 sis7019: increase reset delays
A few boards using this controller are reported to need a little extra
time during their reset cycle.

Reported-by: Michael Goeke <michael.goeke@icachip.de>
Signed-off-by: Dave Dillow <dave@thedillows.org>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-06-28 09:42:22 +02:00
David Dillow 3a3d5fd125 sis7019: fix capture issues with multiple periods per buffer
When using a timing voice to clock out periods during capture, the
driver would slowly loose synchronization and never catch up, eventually
reaching a point where it no longer generated interrupts. To avoid
this situation, the virtual period clocking was changed to shorten the
next timing period when our timing voice falls too far behind the
capture voice. In addition, the first virtual period for the timing
voice was slightly too short, causing the timing voice to initially be
ahead of the capture voice.

While tracking down this problem, I noticed that the expected sample
offset was being incorrectly initialized, causing an overrun to be
incorrectly reported when the timing voice happened to be perfectly
synchronized.

Reported-by: Hans Schou <linux@schou.dk>
Signed-off-by: Dave Dillow <dave@thedillows.org>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-06-28 09:42:18 +02:00
Takashi Iwai d4a86d8194 ALSA: hda - Add missing ALC680_* definitions
Also update the documentation.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-06-23 17:52:39 +02:00
Kailang Yang d1eb57f47b ALSA: hda - Support ALC680 codec
Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-06-23 16:25:26 +02:00
Takashi Iwai 1240e6b553 Merge branch 'fix/misc' into topic/misc 2010-06-23 16:07:34 +02:00
Luke Yelavich 3bfea98ff7 ALSA: hda - Add Macbook 5,2 quirk
BugLink: https://bugs.launchpad.net/bugs/463178

Set Macbook 5,2 (106b:4a00) hardware to use ALC885_MB5

Cc: <stable@kernel.org>
Signed-off-by: Luke Yelavich <luke.yelavich@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-06-22 11:13:54 +02:00
Takashi Iwai 2f44f84725 ALSA: hda - Fix uninitialized variable
Fix the following compile warning.  kctl should be NULL-initialized.

  sound/pci/hda/patch_realtek.c: In function ‘alc_build_controls’:
  sound/pci/hda/patch_realtek.c:2550:23: warning: ‘kctl’ may be used uninitialized in this function

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-06-22 11:12:32 +02:00
Takashi Iwai 2ac90e990c Merge branch 'fix/misc' into for-linus 2010-06-20 10:38:19 +02:00
Herton Ronaldo Krzesinski f7154de220 ALSA: hda - add ideapad model for Conexant 5051 codec
Lenovo IdeaPad Y430 has an additional subwoofer connected at pin 0x1b,
which isn't muted when headphone is plugged in. This adds additional
support to the extra subwoofer via new ideapad model.

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-06-17 20:37:40 +02:00
Andy Shevchenko c9ff921abe ALSA: alsa: riptide: don't use own hex_to_bin() method
Signed-off-by: Andy Shevchenko <ext-andriy.shevchenko@nokia.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-06-17 09:34:58 +02:00
Eliot Blennerhassett 2a383cb3f1 ALSA: asihpi - Get rid of incorrect "long" types and casts.
These give incorrect results for index wrap on 64 bit.

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-06-17 09:33:59 +02:00
Jiri Kosina f1bbbb6912 Merge branch 'master' into for-next 2010-06-16 18:08:13 +02:00
Uwe Kleine-König 421f91d21a fix typos concerning "initiali[zs]e"
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2010-06-16 18:05:05 +02:00
Alex Murray b8f171e7e7 ALSA: hda - Fix line-in for mb5 model MacBook (Pro) 5,1 / 5,2
The line-in input is 0x7 not 0x2 for MacBook (Pro) 5,1 / 5,2 models

Signed-off-by: Alex Murray <murray.alex@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-06-14 09:12:21 +02:00
Takashi Iwai fbe618f216 ALSA: hda - Don't check capture source mixer if no ADC is available
With multiple codec configurations, some codec might have no ADC, thus
it keeps spec->adc_nids = NULL.  This causes an Oops in alc_build_controls().

Reference: kernel bug #16156
	https://bugzilla.kernel.org/show_bug.cgi?id=16156

Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-06-11 11:24:58 +02:00
Justin P. Mattock ab669967d0 ALSA: hda - Add SSID table for iMac7,1.
This patch add's the iMac7,1 SSID entry to
patch_realtek.c which adds sound support.
bug entry:
    https://bugs.launchpad.net/mactel-support/+bug/360866

Note:I do not have this machine on hand only
codec#0 file for the machine so please
test if you have the appropriate equipment.

Signed-off-by: Justin P. Mattock <justinmattock@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-06-08 16:48:56 +02:00
Justin P. Mattock f53dae28cd ALSA: hda - Add SSID table for MacBookAir1,1
This patch add's the MacBookAir1,1 SSID entry to
patch_realtek.c which adds sound support.
bug entry:
    https://bugs.launchpad.net/mactel-support/+bug/268301

Note:I do not have this machine on hand only
codec#0 file for the machine so please
test if you have the appropriate equipment.

Signed-off-by: Justin P. Mattock <justinmattock@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-06-08 16:47:47 +02:00
Justin P. Mattock 6e12970bd4 ALSA: hda - Add SSID table for MacBookAir2,1
This adds the SSID number to snd_pci_quirk for the
MacBookAir2,1 taken from codec#0 at:
    http://launchpadlibrarian.net/49455483/Card0.Codecs.codec.0.txt

keep in mind I do not have one of these machines on hand
so please if you do have this machine please test for me..

Signed-off-by: Justin P. Mattock <justinmattock@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-06-08 16:46:15 +02:00
Takashi Iwai c7a441bba9 Merge branch 'fix/hda' into for-linus 2010-06-02 14:18:06 +02:00
Takashi Iwai e4caa8bab3 Merge branch 'master' of git.alsa-project.org:alsa-kernel into fix/hda 2010-06-02 14:15:10 +02:00
Jaroslav Kysela 8fc6d4186e ALSA: hda-intel - fix wallclk variable update and condition
This patch fixes thinko introduced in "last minutes" before commiting
of the last wallclk patch.

It also fixes the condition checking if the first period after last
wallclk update is processed. There is a little rounding error in
period_wallclk.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-06-02 13:34:18 +02:00
Jaroslav Kysela edb39935c8 ALSA: hda-intel - fix wallclk variable update and condition
This patch fixes thinko introduced in "last minutes" before commiting
of the last wallclk patch.

It also fixes the condition checking if the first period after last
wallclk update is processed. There is a little rounding error in
period_wallclk.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-06-02 13:34:01 +02:00
Takashi Iwai ead54d8784 Merge branch 'fix/hda' into for-linus 2010-06-02 12:09:29 +02:00
Takashi Iwai 21896bc010 ALSA: asihpi - Fix uninitialized variable
Initialize prev_ctl properly before reference:
  sound/pci/asihpi/asihpi.c: In function ‘snd_card_asihpi_mixer_new’:
  sound/pci/asihpi/asihpi.c:2568:30: warning: ‘prev_ctl.dst_node_index’ may be used uninitialized in this function

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-06-02 12:08:37 +02:00
Daniel T Chen 9f75c1b12c ALSA: hda: Use LPIB for ASUS M2V
BugLink: https://launchpad.net/bugs/587546

Symptom: On the reporter's ASUS M2V, using PulseAudio in Ubuntu 10.04 LTS
results in the PA daemon crashing shortly after attempting playback of an
audio file.

Test case: Using Ubuntu 10.04 LTS (Linux 2.6.32.12), Linux 2.6.33, or
Linux 2.6.34, attempt playback of an audio file while PulseAudio is
active.

Resolution: add SSID for this machine to the position_fix quirk table,
explicitly specifying the LPIB method.

Reported-and-Tested-By: D Tangman
Cc: <stable@kernel.org>
Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-06-01 07:48:43 +02:00
Daniel T Chen b90c076424 ALSA: hda: Use LPIB for another mainboard
BugLink: https://launchpad.net/bugs/580749

Symptom: on the original reporter's VIA VT1708-based board, the
PulseAudio daemon dies shortly after the user attempts to play an audio
file.

Test case: boot from Ubuntu 10.04 LTS live cd; attempt to play an audio
file.

Resolution: add SSID for the original reporter's hardware to the
position_fix quirk table, explicitly specifying the LPIB method.

Reported-and-Tested-By: Harald
Cc: <stable@kernel.org>
Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-05-31 09:23:25 +02:00
Daniel T Chen 26fd74fc01 ALSA: hda: Use mb31 quirk for an iMac model
BugLink: https://launchpad.net/bugs/542550

Symptom: On the reporter's iMac, in Ubuntu 10.04 LTS neither playback
nor capture appear audible out-of-the-box.

Test case: Boot from an Ubuntu 10.04 LTS live cd or from an installed
configuration and attempt to play or capture audio.

Resolution: Specify the mb31 quirk for this machine in the codec SSID
table.

Reported-and-Tested-By: f3a97
Cc: <stable@kernel.org>
Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-05-31 09:22:59 +02:00
Daniel T Chen dd37f8e865 ALSA: hda: Use LPIB for an ASUS device
BugLink: https://launchpad.net/bugs/465942

Symptom: On the reporter's ASUS device, using PulseAudio in Ubuntu 10.04
LTS results in the PA daemon crashing shortly after attempting to select
capture or to configure the audio hardware profile.

Test case: Using Ubuntu 10.04 LTS (Linux 2.6.32.12), Linux 2.6.33, or
Linux 2.6.34, adjust the HDA device's capture volume with PulseAudio.

Resolution: add SSID for this machine to the position_fix quirk table,
explicitly specifying the LPIB method.

Reported-and-Tested-By: Irihapeti
Cc: <stable@kernel.org>
Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-05-31 09:22:28 +02:00
Takashi Iwai d6695f09ea Merge branch 'fix/hda' into for-linus 2010-05-29 21:50:36 +02:00
Takashi Iwai a98d3984c8 Merge branch 'fix/misc' into for-linus 2010-05-29 21:50:33 +02:00
Daniel T Chen 61bb42c37d ALSA: hda: Use LPIB for a Shuttle device
BugLink: https://launchpad.net/bugs/551949

Symptom: On the reporter's Shuttle device, using PulseAudio in Ubuntu
10.04 LTS results in "popping clicking" audio with the PA crashing
shortly thereafter.

Test case: Using Ubuntu 10.04 LTS (Linux 2.6.32.12), Linux 2.6.33, or
Linux 2.6.34, adjust the HDA device's volume with PulseAudio.

Resolution: add SSID for this machine to the position_fix quirk table,
explicitly specifying the LPIB method.

Reported-and-Tested-By: Christian Mehlis <mehlis@inf.fu-berlin.de>
Cc: <stable@kernel.org>
Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-05-29 21:47:59 +02:00
Andreas Herrmann badf18b5f5 ALSA: hda: Add support for another Lenovo ThinkPad Edge in conexant codec
On a Thinkpad Edge 13 "01972NG" I had the problem that speakers played
sound although headphones were plugged in. Using model=ideapad with
latest alsa-git kernel fixed this. So adding this quirk to use ideapad
for another Thinkpad Edge variant seems sensible.

Cc: Jerone Young <jerone.young@canonical.com>
Signed-off-by: Andreas Herrmann <andreas.herrmann3@amd.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-05-28 10:03:31 +02:00
Daniel T Chen e96d312776 ALSA: hda: Use LPIB for Sony VPCS11V9E
BugLink: https://launchpad.net/bugs/586347

Symptom: On the Sony VPCS11V9E, using GStreamer-based applications with
PulseAudio in Ubuntu 10.04 LTS results in stuttering audio. It appears
to worsen with increased I/O.

Test case: use Rhythmbox under increased I/O pressure. This symptom is
reproducible in the current daily stable alsa-driver snapshots (at least
up until 21 May 2010; later snapshots fail to build from source due to
missing preprocessor directives when compiled against 2.6.32).

Resolution: add SSID for this machine to the position_fix quirk table,
explicitly specifying the LPIB method.

Reported-and-Tested-By: Lauri Kainulainen <lauri@sokkelo.net>
Cc: <stable@kernel.org>
Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-05-28 07:51:17 +02:00
Eliot Blennerhassett 3ee317fe9c ALSA: asihpi - Minor code cleanup
Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-05-27 09:55:31 +02:00
Eliot Blennerhassett cadae4289d ALSA: asihpi - Add support for new ASI8800 family
Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-05-27 09:55:16 +02:00
Eliot Blennerhassett 1a59fa7cb7 ALSA: asihpi - Fix bug preventing outstream_write preload from happening
Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-05-27 09:54:23 +02:00
Eliot Blennerhassett bca516bfcf ALSA: asihpi - Fix imbalanced lock path in hw_message
Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-05-27 09:53:00 +02:00
Eliot Blennerhassett 70ebe64721 ALSA: asihpi - Remove support for old ASI8800 family
Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-05-27 09:52:30 +02:00
Eliot Blennerhassett 5a498ef173 ALSA: asihpi - Add hd radio blend functions
Add hd radio blend functions. HPI version inc to 4.03.25.

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-05-27 09:51:20 +02:00
Eliot Blennerhassett f038e27c9e ALSA: asihpi - Remove unused io map functions
Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-05-27 09:50:47 +02:00
Jerone Young a39e33eb2a ALSA: hda - Add support for Thinkpad Edge conexant chip
This quirks in support for the Thinkpad Edge.

Signed-off-by: Jerone Young <jerone.young@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-05-27 09:45:17 +02:00
Takashi Iwai d21921215a Merge branch 'fix/hda' into for-linus 2010-05-26 08:49:54 +02:00
Clemens Ladisch 4daf7a0c0b ALSA: emu10k1: allow high-resolution mixer controls
Add a module option to allow the GPR mixer controls to have the full
resolution of the hardware, i.e., 0...2^31-1 instead of 0...100.

Because of bugs in userspace tools like alsactl and alsamixer, this is
not yet enabled by default.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-05-25 20:23:54 +02:00
Clemens Ladisch 9ef04066b3 ALSA: hda_intel: fix handling of non-completion stream interrupts
Check that the interrupt raised for a stream is actually a buffer
completion interrupt before handling it as one.  Otherwise, memory
errors or FIFO xruns would be interpreted as a pointer update and could
break the stream timing.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-05-25 20:23:15 +02:00
Daniel T Chen 66668b6fb6 ALSA: hda: Fix model quirk for Dell M1730
BugLink: https://launchpad.net/bugs/576160

Symptom: Currently (2.6.32.12) the Dell M1730 uses the 3stack model
quirk. Unfortunately this means that capture is not functional out-
of-the-box despite ensuring that capture settings are unmuted and
raised fully.

Test case: boot from Ubuntu 10.04 LTS live cd; capture does not
work.

Resolution: Correct the model quirk for Dell M1730 to rely on the
BIOS configuration.

This patch also trivially sorts the quirk into the correct section
based on the comments.

Reported-and-Tested-By: <picdragon99@msn.com>
Tested-By: Daren Hayward
Tested-By: Tobias Krais
Cc: <stable@kernel.org>
Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-05-25 08:46:01 +02:00
Justin P. Mattock b7cccc52fe ALSA: hda - iMac9,1 sound fixes
First issue:
With the original patch, I've noticed by unmuting the mic
(and even having it muted), there is a distorted("Noise")
coming from the internal speakers, even when the headphones are plugged in.
What my finding's revealed is:

	/* Mic (rear) pin: input vref at 80% */
	{0x18, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80},
	{0x18, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE},

From the original patch. Looking at codec#0 0x18/0x1a is listed as:

Node 0x18 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00]
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0000373c: IN OUT HP Detect
    Vref caps: HIZ 50 GRD 80 100
  Pin Default 0x90100141: [Fixed] Speaker at Int N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0x4, Sequence = 0x1
    Misc = NO_PRESENCE
  Pin-ctls: 0x41: OUT VREF_50
  Unsolicited: tag=00, enabled=0
  Connection: 5
     0x0c* 0x0d 0x0e 0x0f 0x26

seems this Node is listed as: [Fixed] Speaker while 0x15

Node 0x15 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00]
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x0000373c: IN OUT HP Detect
    Vref caps: HIZ 50 GRD 80 100
  Pin Default 0x018b3020: [Jack] Line In at Ext Rear
    Conn = Comb, Color = Blue
    DefAssociation = 0x2, Sequence = 0x0
  Pin-ctls: 0x01: VREF_50
  Unsolicited: tag=00, enabled=0
  Connection: 5
     0x0c 0x0d* 0x0e 0x0f 0x26

is [Jack] Line In at Ext Rear.
(looking at the other apple products as examples
I came up with the fix below).

Second issue:
alc885_mbp_4ch_modes
The original patch does a good job with the
HP pin automute function, but from what I noticed is I would have to manually
change the channel form 2 to 4 after plugging the headphones in.
And not to mention having odd moments to where I was jamming out
with the headphones on, then later realized I had sound blasting out
of the speakers as well. My findings revealed that changing
alc885_mbp_4ch_modes to alc885_mba21_ch_modes and setting
-	spec->autocfg.speaker_pins[0] = 0x15;
+	spec->autocfg.speaker_pins[0] = 0x18;
gets the automute function when the headphones plugged in working
flawlessly(and the no need to manually change the channel number
afterwards).

Third issue:
alc885_imac91_mixer
There probably doesnt need to be anything changed with this
(esspecially if your one to like lots of sliders),but my findings
revealed that mac osx only has a master on the top right,
another switch on itunes, and then a slider for the mic.

So the changes I did below try and mimic osx as much as possible
(only thing I had an issue with is just having one mute switch
on the master, instead of having two(still investigating)).

fourth issue:
alc882_capture_source
I endeded up creating alc889A_imac91_capture_source()
only  because looking at alc882_capture_source I see
that the mic is set to 0x1 while this works, I also noticed
that adding 0x1 and 0x01 and testing that 0x1 somehow
stops working, and 0x01 works(so I figured 0x01 was more
of the alpha of the numbers(still need to figure out
where that valuse is)). In any case the microphone
does work with the original, and with the below patch, but both
still record not as clean(lots of "Noise", which I would like to
look into too).
Note: using alsamixer -Va reveals the capture switches.

Signed-off-by: Justin P. Mattock <justinmattock@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-05-25 08:44:59 +02:00
Daniel T Chen 4e0938dba7 ALSA: hda: Use LPIB for Toshiba A100-259
BugLink: https://launchpad.net/bugs/549560

Symptom: on a significant number of hardware, booting from a live cd
results in capture working correctly, but once the distribution is
installed, booting from the install results in capture not working.

Test case: boot from Ubuntu 10.04 LTS live cd; capture works correctly.
Install to HD and reboot; capture does not work. Reproduced with 2.6.32
mainline build (vanilla kernel.org compile)

Resolution: add SSID for Toshiba A100-259 to the position_fix quirk
table, explicitly specifying the LPIB method.

I'll be sending additional patches for these SSIDs as bug reports are
confirmed.

This patch also trivially sorts the quirk table in ascending order by
subsystem vendor.

Reported-and-Tested-by: <davide.molteni@gmail.com>
Cc: <stable@kernel.org>
Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-05-25 08:40:50 +02:00
Daniel T Chen 7a68be94e2 ALSA: hda: Use LPIB for Acer Aspire 5110
BugLink: https://launchpad.net/bugs/583983

Symptom: on a significant number of hardware, booting from a live cd
results in capture working correctly, but once the distribution is
installed, booting from the install results in capture not working.

Test case: boot from Ubuntu 10.04 LTS live cd; capture works correctly.
Install to HD and reboot; capture does not work. Reproduced with 2.6.32
mainline build (vanilla kernel.org compile).

Resolution: add SSID for Acer Aspire 5110 to the position_fix quirk
table, explicitly specifying the LPIB method.

I'll be sending additional patches for these SSIDs as bug reports are
confirmed.

Reported-and-Tested-By: Leo
Cc: <stable@kernel.org>
Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-05-25 08:40:14 +02:00
H Hartley Sweeten 34329fae7f ALSA: aw2-alsa.c: use pci_ids.h defines and fix checkpatch.pl noise
Use the VENDOR/DEVICE ids provided in pci_ids.h instead of creating
local ids of the same values.

Also, fix the following checkpatch.pl warnings:

WARNING: Use #include <linux/io.h> instead of <asm/io.h>
WARNING: unnecessary whitespace before a quoted newline

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-05-25 08:39:28 +02:00
Linus Torvalds 7f06a8b26a Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (250 commits)
  ALSA: hda: Storage class should be before const qualifier
  ASoC: tpa6130a2: Remove CPVSS and HPVdd supplies
  ASoC: tpa6130a2: Define output pins with SND_SOC_DAPM_OUTPUT
  ASoC: sdp4430 - add sdp4430 pcm ops to DAI.
  ASoC: TWL6040: Enable earphone path in codec
  ASoC: SDP4430: Add support for Earphone speaker
  ASoC: SDP4430: Add sdp4430 machine driver
  ASoC: tlv320dac33: Avoid powering off while in BIAS_OFF
  ASoC: tlv320dac33: Use dev_dbg in dac33_hard_power function
  ALSA: sound/pci/asihpi: Use kzalloc
  ALSA: hdmi - dont fail on extra nodes
  ALSA: intelhdmi - add id for the CougarPoint chipset
  ALSA: intelhdmi - user friendly codec name
  ALSA: intelhdmi - add dependency on SND_DYNAMIC_MINORS
  ALSA: asihpi: incorrect range check
  ALSA: asihpi: testing the wrong variable
  ALSA: es1688: add pedantic range checks
  ARM: McBSP: Add support for omap4 in McBSP driver
  ARM: McBSP: Fix request for irq in OMAP4
  OMAP: McBSP: Add 32-bit mode support
  ...
2010-05-20 09:41:44 -07:00
Linus Torvalds f39d01be4c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (44 commits)
  vlynq: make whole Kconfig-menu dependant on architecture
  add descriptive comment for TIF_MEMDIE task flag declaration.
  EEPROM: max6875: Header file cleanup
  EEPROM: 93cx6: Header file cleanup
  EEPROM: Header file cleanup
  agp: use NULL instead of 0 when pointer is needed
  rtc-v3020: make bitfield unsigned
  PCI: make bitfield unsigned
  jbd2: use NULL instead of 0 when pointer is needed
  cciss: fix shadows sparse warning
  doc: inode uses a mutex instead of a semaphore.
  uml: i386: Avoid redefinition of NR_syscalls
  fix "seperate" typos in comments
  cocbalt_lcdfb: correct sections
  doc: Change urls for sparse
  Powerpc: wii: Fix typo in comment
  i2o: cleanup some exit paths
  Documentation/: it's -> its where appropriate
  UML: Fix compiler warning due to missing task_struct declaration
  UML: add kernel.h include to signal.c
  ...
2010-05-20 09:20:59 -07:00
Takashi Iwai 19008bdacb Merge branch 'topic/hda' into for-linus 2010-05-20 11:59:52 +02:00
Takashi Iwai 5e8aa85253 Merge branch 'topic/misc' into for-linus 2010-05-20 11:59:29 +02:00
Takashi Iwai 3374cd1abd Merge branch 'topic/core-cleanup' into for-linus 2010-05-20 11:58:57 +02:00
Tobias Klauser fbc256692e ALSA: hda: 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: Takashi Iwai <tiwai@suse.de>
2010-05-20 11:56:14 +02:00
Julia Lawall 550a8b691c ALSA: sound/pci/asihpi: Use kzalloc
Use kzalloc rather than the combination of kmalloc and memset.

The semantic patch that makes this change is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@@
expression x,size,flags;
statement S;
@@

-x = kmalloc(size,flags);
+x = kzalloc(size,flags);
 if (x == NULL) S
-memset(x, 0, size);
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-05-17 08:12:44 +02:00
Wu Fengguang 3eaead579e ALSA: hdmi - dont fail on extra nodes
The number of HDMI nodes is expected to go up in future.
So don't fail hard on seeing extra converter/pin nodes.

We can still operate safely on the nodes within
MAX_HDMI_CVTS/MAX_HDMI_PINS.

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-05-17 08:12:13 +02:00
Wu Fengguang e48b00870f ALSA: intelhdmi - add id for the CougarPoint chipset
Add id for Intel CougarPoint HDMI audio codec.

CougarPoint provides 3 Audio Converters.
Increase MAX_HDMI_CVTS/MAX_HDMI_PINS accordingly.

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-05-17 08:11:59 +02:00
Wu Fengguang 41da2e0a01 ALSA: intelhdmi - user friendly codec name
Use the full chipset codename as codec name.
They are more user friendly than the spec abbrs.

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-05-17 08:11:48 +02:00
Wu Fengguang e9abf85fe1 ALSA: intelhdmi - add dependency on SND_DYNAMIC_MINORS
This is necessary to support >=3 HDMI playback devices
starting from the CougarPoint codec.

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-05-17 08:11:39 +02:00
Dan Carpenter 1be1d76b8a ALSA: asihpi: incorrect range check
The entity_type_to_size[] array has LAST_ENTITY_TYPE (11) number of elements,
not LAST_ENTITY_ROLE (17).  This only affects the debug output.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-05-17 08:10:34 +02:00
Dan Carpenter 2448b14715 ALSA: asihpi: testing the wrong variable
There is a typo here.  We want to test "*dst" not "dst".

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-05-17 08:10:13 +02:00
Takashi Iwai 105ce39ca4 Merge branch 'fix/hda' into for-linus 2010-05-13 10:07:15 +02:00
Takashi Iwai 8213466596 ALSA: ice1724 - Fix ESI Maya44 capture source control
The capture source control of maya44 was wrongly coded with the bit
shift instead of the bit mask.  Also, the slot for line-in was
wrongly assigned (slot 5 instead of 4).

Reported-by: Alex Chernyshoff <alexdsp@gmail.com>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-05-12 16:43:32 +02:00
Clemens Ladisch 6a45f78225 ALSA: virtuoso: fix Xonar D1/DX front panel microphone
Commit 65c3ac885c in 2.6.33 accidentally
left out the initialization of the AC97 codec FMIC2MIC bit, which broke
recording from the front panel microphone.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Cc: <stable@kernel.org>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-05-12 10:28:36 +02:00
Takashi Iwai 2a6ce6e5fd ALSA: hda - Add hp-dv4 model for IDT 92HD71bx
It turned out that HP dv series have inconsistent the mute-LED GPIO
mapping among various models.  dv4/7 seem to use GPIO 0 while dv 5/6
seem to use GPIO 3.  The previous commit
  26ebe0a289
  ALSA: hda - Fix mute-LED GPIO pin for HP dv series
breaks dv5/6.

This patch adds the new quirk model, hp-dv4, to handle HP dv4/7
separately from HP dv5/6.

Tested-by: Kunal Gangakhedkar <kunal.gangakhedkar@gmail.com> (for dv6-1110ax)
Acked-by: Kunal Gangakhedkar <kunal.gangakhedkar@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-05-12 10:20:42 +02:00
Jaroslav Kysela f48f606d9f [ALSA] snd-hda-intel: Improve azx_position_ok()
Add back the zero return value (activate workqueue) when
bdl_pos_adj is nonzero for position check.

Do the position related check only for first next period
using wallclk counter.

Return -1 value (ignore interrupt) when period_bytes
variable is zero.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-05-11 12:17:55 +02:00
Jaroslav Kysela e54637205b [ALSA] snd-hda-intel: use WALLCLK register to check for early irqs
Use 24Mhz WALLCLK register to ignore too early interrupts and
wrong interrupt status. The bad timing confuses the higher ALSA
layer and causes audio skipping. More information about behaviour
and debugging can be found in kernel bz#15912.

https://bugzilla.kernel.org/show_bug.cgi?id=15912

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-05-11 10:21:46 +02:00