Commit Graph

4245 Commits

Author SHA1 Message Date
Takashi Iwai
d507cd668a ALSA: hda - Enable sync_write workaround for AMD generically
The workaround for AMD chipset via sync_write flag seems needed for
machines with Realtek codecs.  So, it's better to activate it
generically in hda_intel.c from the beginning.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-04-26 15:33:43 +02:00
Takashi Iwai
0da2692256 ALSA: hda - Move EAPD power-down into shutup callback for AD codecs
EAPD power-down should be called also for normal shutup cases.
Let's move to there.   This also fixes the compile warnings when
CONFIG_PM isn't set automatically.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-04-26 15:18:33 +02:00
Takashi Iwai
31d44b57c5 Merge branch 'fix/hda' into topic/hda 2011-04-26 15:05:39 +02:00
Raymond Yau
13eb4ab8ca ALSA: au88x0 - Use a better name for pcm devices of au88x0
Signed-off-by: Raymond Yau <superquad.vortex2@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-04-26 12:27:21 +02:00
Takashi Iwai
885f42e1f4 ALSA: hda - Enable sync_write for AMD chipset with IDT 92HD8x codecs
The AMD chipset seems unstable in the normal operation mode, and it
seems requring more sensible access for each verb.  Enabling sync_write
mode and allowing bus-reset is a sort of workaround for these chipset
stability issues.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-04-21 15:27:58 +02:00
Takashi Iwai
6a9a6f233b Merge branch 'fix/hda' into for-linus 2011-04-21 12:44:38 +02:00
Mike Waychison
1c7276cfc0 ALSA: hda - Fix unused warnings when !SND_HDA_NEEDS_RESUME
When SND_HDA_NEEDS_RESUME is not defined, the compiler identifies that
the following symbols are static but not used:

 restore_shutup_pins
 hda_cleanup_all_streams

Fix warnings by adding SND_HDA_NEEDS_RESUME guards.

Signed-off-by: Mike Waychison <mikew@google.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-04-20 21:24:31 +02:00
Seth Heasley
d2edeb7c6f ALSA: hda - ALSA HD Audio patch for Intel Panther Point DeviceIDs
This patch adds the HD Audio Controller DeviceIDs for the Intel Panther Point PCH.

Signed-off-by: Seth Heasley <seth.heasley@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-04-20 21:03:48 +02:00
Takashi Iwai
e66d74ced1 ALSA: asihpi - Use %zd for size_t argument in error message (again)
This was reverted mistakenly in the recent update patch.
Fixed again.

Reported-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-04-20 21:02:27 +02:00
Raymond Yau
b6a4840408 ALSA: emu10k1 - Remove "Front" controls only for STAC9758/59
Remove "Front Playback Volume" and "Front Playback Switch" from emu10k1 only
for STAC9758/59

Since commit 7eae36fbd5
      "Fix the confliction of 'Front' control",
the "Front Playback Volume" control created by commit
	edf8e4565c
	"emu10k1: Front channels via fxbus 8 and 9"
was removed

"Front Playback Volume" and "Surround Playback Volume" have same dB range
since I2S DAC of SB Live! and SB Live! Platinum does not has any hardware
volume control.

Signed-off-by: Raymond Yau <superquad.vortex2@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-04-20 14:23:15 +02:00
Takashi Iwai
6981d18437 ALSA: hda - Add a fix-up for Acer dmic with ALC271x codec
Acer laptops with ALC271x needs a magic initialization for digital-mic
to make it working with mono streams (and PulseAudio).
Added a fix-up applied to Acer with ALC271x generically.

Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-04-19 16:45:31 +02:00
Andrew Morton
5b17b077eb ALSA: hda - sound/pci/hda/hda_codec.c: fix warning
sound/pci/hda/hda_codec.c: In function 'snd_hda_get_connections':
sound/pci/hda/hda_codec.c:332: warning: unused variable 'j'

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-04-15 08:41:22 +02:00
Linus Torvalds
4263a2f1da 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:
  ALSA: hda - Don't query connections for widgets have no connections
  ALSA: HDA: Fix single internal mic on ALC275 (Sony Vaio VPCSB1C5E)
  ALSA: hda - HDMI: Fix MCP7x audio infoframe checksums
  ALSA: usb-audio: define another USB ID for a buggy USB MIDI cable
  ALSA: HDA: Fix dock mic for Lenovo X220-tablet
  ASoC: format_register_str: Don't clip register values
  ASoC: PXA: Fix oops in __pxa2xx_pcm_prepare
  ASoC: zylonite: set .codec_dai_name in initializer
2011-04-10 09:56:10 -07:00
Linus Torvalds
42933bac11 Merge branch 'for-linus2' of git://git.profusion.mobi/users/lucas/linux-2.6
* 'for-linus2' of git://git.profusion.mobi/users/lucas/linux-2.6:
  Fix common misspellings
2011-04-07 11:14:49 -07:00
Takashi Iwai
a12d3e1e1c ALSA: hda - Remember connection lists
The connection lists are static and we can reuse the previous results
instead of querying via verb at each time.  This will reduce the I/O
in the runtime especially for some codec auto-parsers.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-04-07 15:55:15 +02:00
Takashi Iwai
cd9abc7a22 ALSA: hda - Don't query connections for widgets have no connections
Fixes the kernel warnings with IDT codecs like
    hda_codec: connection list not available for 0x1e

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-04-07 14:55:57 +02:00
Takashi Iwai
8e28e3b29f Merge branch 'fix/hda' into topic/hda 2011-04-07 12:57:53 +02:00
Takashi Iwai
ad93ffe6e4 ALSA: hda - Fix unused variable warning in patch_realtek.c
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-04-07 12:49:26 +02:00
Takashi Iwai
35ffe11587 ALSA: hda - Remove superfluous inits for ALC662 auto-parser
Since we now set up the connections and mutes dynamically in the
auto-parser, all static initializations via alc662_init_verbs & co are
no longer needed.  Let's drop them.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-04-07 12:49:10 +02:00
Takashi Iwai
10696aa0e5 ALSA: hda - Mute ADC as default in ALC882 and other auto-parsers
Mute the ADC as default in the auto-parser dynamically instead of relying
on the static init verbs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-04-07 12:49:08 +02:00
Takashi Iwai
0e53f34409 ALSA: hda - Unmute mixer dynamically in alc662 auto-parser
Instead of static init array, better to determine the connection and
the mute status of the pin/mixer/DAC route dynamically.  This fixes the
uninitialized mixer 0x0f on ALC892.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-04-07 12:49:05 +02:00
David Henningsson
262ac22d21 ALSA: HDA: Fix single internal mic on ALC275 (Sony Vaio VPCSB1C5E)
In cases where there is only one internal mic connected to ADC 0x11,
alc275_setup_dual_adc won't handle the case, so we need to add the
ADC node to the array of candidates.

Cc: stable@kernel.org
BugLink: http://bugs.launchpad.net/bugs/752792
Reported-by: Vincenzo Pii
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-04-07 12:12:00 +02:00
Aaron Plattner
1f34852284 ALSA: hda - HDMI: Fix MCP7x audio infoframe checksums
The MCP7x hardware computes the audio infoframe channel count
automatically, but requires the audio driver to set the audio
infoframe checksum manually via the Nv_VERB_SET_Info_Frame_Checksum
control verb.

When audio starts playing, nvhdmi_8ch_7x_pcm_prepare sets the checksum
to (0x71 - chan - chanmask).  For example, for 2ch audio, chan == 1
and chanmask == 0 so the checksum is set to 0x70.  When audio playback
finishes and the device is closed, nvhdmi_8ch_7x_pcm_close resets the
channel formats, causing the channel count to revert to 8ch.  Since
the checksum is not reset, the hardware starts generating audio
infoframes with invalid checksums.  This causes some displays to blank
the video.

Fix this by updating the checksum and channel mask when the device is
closed and also when it is first initialized.  In addition, make sure
that the channel mask is appropriate for an 8ch infoframe by setting
it to 0x13 (FL FR LFE FC RL RR RLC RRC).

Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-04-07 12:04:00 +02:00
Takashi Iwai
5402e4cb80 ALSA: hda - Rewrite alc269_suspend to alc269_shutup
alc269_suspend is just calling the shut-up, so we can use the new shutup
callback for the purpose.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-04-07 10:39:25 +02:00
Takashi Iwai
1c716153a8 ALSA: hda - Introduce shutup callback to Realtek spec struct
Add shutup callback to be called codec-specifically for avoiding pop
noises at suspend or shutdown.  As a generic callback, just turn EAPD
off.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-04-07 10:37:16 +02:00
Takashi Iwai
691f1fccf7 ALSA: hda - Refactoring EAPD controls
Reduced the duplicated codes.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-04-07 10:31:43 +02:00
Takashi Iwai
a7f2371f9e ALSA: hda - Split EAPD init to a separate array from alc662_init_verbs
So far, alc662_init_verbs[] is used for all ALC662-compatible chips,
but the EAPD controls for 0x15 in there is invalid for ALC892.
Also, since EAPDs should be set up in alc_auto_init_amp(), these static
elements aren't needed for auto-parser, too.

In this patch, the EAPD init verbs are split from alc662_init_verbs,
and applied only to static quirks.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-04-07 10:24:23 +02:00
Takashi Iwai
1304ac8993 ALSA: hda - Fix mix->DAC deduction for ALC892
The current alc662 parser doesn't set the DAC for the mixer 0x0f
properly for ALC892, which has 4 DACs while ALC662 has 3.
Fixed by implementing alc662_mix_to_dac() more genericly with the
dynamic widget list.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-04-06 15:16:21 +02:00
Takashi Iwai
1bc7cf99a9 ALSA: hda - Correct initial dac_nids for some ALC272-quirks
Some ALC272-quirks use alc662_dac_nids instead of alc272_dac_nids.
This patch fixes these entries.  No functional change since the first
two elements are identical in both arrays.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-04-06 09:42:29 +02:00
Raymond Yau
e217b960e4 ALSA: emu10k1 - Remove CLFE-related controls for SB Live! Platinum CT4760P
SB Live! Platinum CT4760P is just a 4 channels sound card with STAC9721 and
Philips UDA1334 DAC.

Signed-off-by: Raymond Yau <superquad.vortex2@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-04-06 08:31:26 +02:00
Raymond Yau
4bf4a6c5b1 ALSA: hda - Fix alc662_dac_nid and change "6stack-dig" to "5stack-dig"
alc662 series only have 3 DAC, so it can only support 5stack-dig
instead of 6stack-dig.

[updated HD-Audio-Models.txt as well by tiwai]

Signed-off-by: Raymond Yau <superquad.vortex2@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-04-06 08:18:39 +02:00
Eliot Blennerhassett
42258daba2 ALSA: asihpi: Minor cleanups
Remove some unneeded defintions
Use %pR to print resources
Make some data const
Consistent braces for else

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-04-05 11:51:04 +02:00
Eliot Blennerhassett
6d0b898e9c ALSA: asihpi: Simplify driver unload cleanup
Replacing subsys_delete_adapter with adapter_delete
allows some special-case adapter lookup code to be removed.

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-04-05 11:50:13 +02:00
Eliot Blennerhassett
b0096a6567 ALSA: asihpi: Standardise substream name generation
Define and use pcm_debug_name if CONFIG_SND_DEBUG

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-04-05 11:47:54 +02:00
Eliot Blennerhassett
6027dfa46e ALSA: asihpi: Remove 2 unused functions
Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-04-05 11:47:40 +02:00
Eliot Blennerhassett
f3d145aac9 ALSA: asihpi: MMAP for non-busmaster cards
Allow older non DMA capable cards to use MMAP by
emulating the DMA using read and write functions,
and getting rid of copy & silence callbacks that
were used only by older cards.

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-04-05 11:47:25 +02:00
Eliot Blennerhassett
0b7ce9e2bd ALSA: asihpi: Handle playback drained status better
Use the card drained status reporting for playback,
but allow it to persist for a few timer cycles before
signalling XRUN, to allow card to recover by itself.

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-04-05 11:47:08 +02:00
Eliot Blennerhassett
a6477134db ALSA: asihpi: Update debug printing
Debug print full substream ID.
Other minor debug print updates.

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-04-05 11:46:48 +02:00
Eliot Blennerhassett
550ac6ba4e ALSA: snd-asihpi: Control naming
Clock source is neither capture nor playback,
so change 'Capture Clock' to 'Clock'.
Add spaces to control name string for consistency,
always 'PCM 0' , never 'PCM0'

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-04-05 11:46:06 +02:00
David Henningsson
b2cb1292b1 ALSA: HDA: Fix dock mic for Lenovo X220-tablet
Without the "thinkpad" quirk, the dock mic in
Lenovo X220 tablet edition won't work.

BugLink: http://bugs.launchpad.net/bugs/751033
Cc: stable@kernel.org
Tested-by: James Ferguson <james.ferguson@canonical.com>
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-04-05 09:17:10 +02:00
Takashi Iwai
17fbb5bdfc Merge branch 'fix/misc' into topic/misc 2011-04-04 12:21:55 +02:00
David Henningsson
840126579d ALSA: HDA: Add dock mic quirk for Lenovo Thinkpad X220
This quirk is needed for the docking station mic of
Lenovo Thinkpad X220 to function correctly.

BugLink: http://bugs.launchpad.net/bugs/746259
Cc: stable@kernel.org
Tested-by: James Ferguson <james.ferguson@canonical.com>
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-03-31 20:28:33 +02:00
Lucas De Marchi
25985edced Fix common misspellings
Fixes generated by 'codespell' and manually reviewed.

Signed-off-by: Lucas De Marchi <lucas.demarchi@profusion.mobi>
2011-03-31 11:26:23 -03:00
Clemens Ladisch
6ebb8a4a43 ALSA: ens1371: fix Creative Ectiva support
To make the EV1938 chip work, add a magic bit and an extra delay.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Tested-by: Tino Schmidt <mailtinoshomepage@gmx.net>
Cc: all 2.6.x <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-03-30 08:57:27 +02:00
Takashi Iwai
cdccfc8dc0 Merge branch 'fix/misc' into topic/misc 2011-03-28 13:03:58 +02:00
Takashi Iwai
f6994ce4a8 Merge branch 'fix/hda' into topic/hda 2011-03-28 13:03:39 +02:00
Takashi Iwai
c6b358748e ALSA: hda - Fix pin-config of Gigabyte mobo
Use pin-fix instead of the static quirk for Gigabyte mobos 1458:a002.

Bugzilla: https://bugzilla.novell.com/show_bug.cgi?id=677256
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-03-28 12:38:30 +02:00
Linus Torvalds
7b724a2260 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:
  ALSA: Fix yet another race in disconnection
  ALSA: asihpi - Update verbose debug print macros
  ALSA: asihpi - Improve non-busmaster adapter operation
  ALSA: asihpi - Support single-rate no-SRC cards
  ALSA: HDA: New AD1984A model for Dell Precision R5500
  ALSA: vmalloc buffers should use normal mmap
  ALSA: hda - Fix SPDIF out regression on ALC889
  ALSA: usb-audio - Support for Boss JS-8 Jam Station
  ALSA: usb-audio: add Cakewalk UM-1G support
  sound/oss/opl3: validate voice and channel indexes
  sound/oss: remove offset from load_patch callbacks
2011-03-27 20:35:07 -07:00
Eliot Blennerhassett
b2e65c8e91 ALSA: asihpi - Update verbose debug print macros
Replace local VPRINTK1 with snd_printdd.
Create local snd_printddd instead of VPRINTK2 for most verbose debug.
In most cases let snd_printk supply default level for messages.

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-03-25 12:43:15 +01:00
Eliot Blennerhassett
26aebef420 ALSA: asihpi - Improve non-busmaster adapter operation
Make playback silence callback a no-op, card automatically outputs
silence when written data runs out.
Increasing update interval and thus minimum period avoids xrun on startup
or because of timer jitter.

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-03-25 12:42:45 +01:00