Commit Graph

3688 Commits

Author SHA1 Message Date
Takashi Iwai
990061c28a ALSA: hda - Add comments to new helper functions
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-09 22:08:44 +02:00
Takashi Iwai
a1c9851583 ALSA: hda - Reduce redundant mic location prefix in input source labels
When the mic pins are assigned to the same location, we can omit the
redundant location prefix like "Front" or "Rear".

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-09 21:36:27 +02:00
Takashi Iwai
10a20af7c9 ALSA: hda - Improve the input source name labels
This patch improves the input-source label strings to be generated from
the pin information instead of fixed strings per AUTO_PIN_* type.
This gives more suitable labels, especially for mic and line-in pins.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-09 16:46:03 +02:00
Takashi Iwai
86e2959a10 ALSA: hda - Remove AUTO_PIN_FRONT_{MIC|LINE}
We can assign multiple pins to a single role now, let's reduce the
redundant FRONT_MIC and FRONT_LINE.  Also, autocfg->input_pins[] is
no longer used, so this is removed as well.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-09 16:46:01 +02:00
Takashi Iwai
b5786e85cb ALSA: hda - Keep char arrays in input_mux items
Keep char array in the input_mux item itself instead of pointing to
an external string.  This is a preliminary work for improving the
input-mux name based on the pin role.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-09 16:45:58 +02:00
David Henningsson
6cb3b707f9 ALSA: HDA: Add fixup pins for Ideapad Y550
By adding the subwoofer as a speaker pin, it is treated correctly when auto-muting.

BugLink: https://launchpad.net/bugs/611803
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-09 09:10:01 +02:00
Takashi Iwai
18675e4283 ALSA: hda - Add fixup for FSC Celsius H270
Added a fixup table for ALC262 codec containing the entry for FSC
Celsius H270.  Now both headphone jacks are detected properly as
headphones.

Reference: Novell bnc637263
	https://bugzilla.novell.com/show_bug.cgi?id=637263

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-08 15:55:44 +02:00
Takashi Iwai
033688a5a8 ALSA: hda - Add multiple headphone support to ALC262 codec
This patch changes the alc262 auto-parser to allow multiple pins
assigned for a single purpose (line-out, headphone or speaker).

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-08 15:50:07 +02:00
Takashi Iwai
bb35febd16 ALSA: hda - Support multiple headphone auto-mute
Currently headphone auto-mute using alc_automute_pin() assumes only
the single pin used for the headphone output.  Since there are devices
with multiple headphone jacks, we need to check all these pins there,
too.

Also this patch merges the common code between alc_automute_pin() and
alc_automute_amp() helper functions.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-08 15:48:29 +02:00
Takashi Iwai
03642c9a44 ALSA: hda - Clear left-over hp_pins in snd_hda_parse_pin_def_config()
In snd_hda_parse_def_config(), some unused values may remain in hp_pins[]
array during the headphone-reassignment workaround.  This patch clears
the unused array members.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-08 15:30:20 +02:00
Takashi Iwai
eb7f80c179 Merge branch 'fix/hda' into topic/hda 2010-09-08 15:28:03 +02:00
Takashi Iwai
122661b678 ALSA: hda - Fix wrong HP pin detection in snd_hda_parse_pin_def_config()
snd_hda_parse_pin_def_config() has some workaround for re-assigning
some pins declared as headphones to line-outs.  This didn't work properly
for some cases because it used memmove() stupidly wrongly.

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

Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-08 14:59:26 +02:00
Vitaliy Kulikov
263d0328c4 ALSA: hda - Improve input control names for IDT/STAC codecs
Changing the way the input controls are named using port connection
type and jack location info.

Signed-off-by: Vitaliy Kulikov <Vitaliy.Kulikov@idt.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-08 09:01:28 +02:00
Vitaliy Kulikov
ab5a6ebee3 ALSA: hda - Adding support for new IDT 92HD90BXX and 92HD91BXX codecs
Adding support for digital MIC in 92HD83/90/91XXX codecs family.

Signed-off-by: Vitaliy Kulikov <Vitaliy.Kulikov@idt.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-08 09:00:17 +02:00
Takashi Iwai
83c0de892d Merge branch 'fix/hda' into topic/hda 2010-09-08 08:42:26 +02:00
Takashi Iwai
080dc7bc25 ALSA: hda - Enable PC-beep for EeePC with ALC269 codec
EeePC 1001HAG has a similar problem like other ASUS machine, which doesn't
set the codec SSID properly for indicating the beep capability.
To enable PC-beep again, put this to the whitelist.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-08 08:38:41 +02:00
Brian Austin
a769cbcf60 ALSA: hda - Add errata initverb sequence for CS42xx codecs
Add init verb sequence for errata ER880C3
http://www.cirrus.com/en/pubs/errata/ER880C3.pdf

Signed-off-by: Brian Austin <brian.austin@cirrus.com>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-08 08:35:56 +02:00
Takashi Iwai
9737731d64 Merge branch 'fix/hda' into topic/hda 2010-09-07 12:18:43 +02:00
Takashi Iwai
4d155641c8 ALSA: hda - Add quirk for Lenovo T400s
Lenovo T400s requires the quirk to make automatic HP/mic switching working.

Reported-by: Frank Becker <fb@alien8.de>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-07 12:04:48 +02:00
David Henningsson
048e78a5bc ALSA: hda - Add a new hp-laptop model for Conexant 5066, tested on HP G60
This new model adds the following functionality to HP G60:
- Automute of internal speakers
- Autoswitch of internal/external mics
- Remove SPDIF not physically present

BugLink: http://launchpad.net/bugs/587388
Cc: stable@kernel.org
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-02 11:49:17 +02:00
Takashi Iwai
7b315bb498 ALSA: hda - Use new inputs[] field to parse input-pins for VIA codecs
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-08-30 13:06:30 +02:00
Takashi Iwai
eea7dc932b ALSA: hda - Use new inputs[] field to parse input-pins for STAC/IDT codecs
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-08-30 13:06:15 +02:00
Takashi Iwai
66ceeb6bc2 ALSA: hda - Use new inputs[] field to parse input-pins for Realtek codecs
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-08-30 13:05:52 +02:00
Takashi Iwai
c1e0bb9217 ALSA: hda - Use new inputs[] field to parse input-pins for CirrusLogic codecs
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-08-30 13:05:30 +02:00
Takashi Iwai
fa4968a8b2 ALSA: hda - Use new inputs[] field to parse input-pins for CA-IBG codecs
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-08-30 13:05:08 +02:00
Takashi Iwai
9e042e7132 ALSA: hda - Use new inputs[] field to parse input-pins for AD codecs
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-08-30 13:04:44 +02:00
Takashi Iwai
d7b1ae9d88 ALSA: hda - Add snd_hda_get_input_pin_label() helper function
Added snd_hda_get_input_pin_label() helper function to return the
string that can be used for control or capture-source ids.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-08-30 13:00:16 +02:00
Takashi Iwai
75e0eb24ee ALSA: hda - Add inputs[] to auto_pin_cfg struct
Added the new fields to contain all input-pins to struct auto_pin_cfg.
Unlike the existing input_pins[], this array contains all input pins
even if the multiple pins are assigned for a single role (i.e. two
front mics).  The former input_pins[] still remains for a while, but
will be removed in near future.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-08-30 12:56:55 +02:00
Takashi Iwai
f3268512c3 ALSA: hda - Refactor input-pin parser for VIA codecs
patch_via.c has redundant codes for parsing the input-pins.  Although
they are pretty similar, but all implemented in different functions
just because of hard-coded ids and slight incompatibilities.
This patch refactors the codes to use the common helper function,
resulting in the reduction of many lines.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-08-30 11:00:19 +02:00
Takashi Iwai
73413b120d ALSA: hda - embed alc_fixup contents into struct definitions
Instead of defining each content as a separate struct, put all into the
definition of struct alc_fixup arrays so that reader doesn't go back to
see the definition again.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-08-30 09:39:57 +02:00
Takashi Iwai
6a36672502 Merge branch 'fix/hda' into for-linus 2010-08-28 21:44:12 +02:00
Eliot Blennerhassett
60f1deb595 ALSA: asihpi - Return hw error directly from oustream_write.
If hw error is ignored, status is updated with invalid info.

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-08-28 11:55:07 +02:00
David Henningsson
dbbcbc073a ALSA: hda - Add Sony VAIO quirk for ALC269
The attached patch enables playback on a Sony VAIO machine.

BugLink: http://launchpad.net/bugs/618271

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-08-26 08:36:46 +02:00
Takashi Iwai
d2f927d42a Merge branch 'fix/hda' into for-linus 2010-08-23 08:47:06 +02:00
Jerone Young
6f0ef6ea1d ALSA: hda - Add support for Lenovo S10-3t
This patch adds quirk for the Lenovo S10-3t so the headphone &
microphone jacks will now work.

Signed-off-by: Jerone Young <jerone.young@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-08-23 08:35:52 +02:00
Takashi Iwai
3f50ac6a0e ALSA: hda - Fix stream and channel-ids codec-bus wide
The new sticky PCM parameter introduced the delayed clean-ups of
stream- and channel-id tags.  In the current implementation, this check
(adding dirty flag) and actual clean-ups are done only for the codec
chip.  However, with HD-audio architecture, multiple codecs can be
on a single bus, and the controller assign stream- and channel-ids in
the bus-wide.

In this patch, the stream-id and channel-id are checked over all codecs
connected to the corresponding bus.  Together with it, the mutex is
moved to struct hda_bus, as this becomes also bus-wide.

Reported-and-tested-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-08-20 09:49:42 +02:00
Takashi Iwai
4f34760787 ALSA: hda - Fix conflict of sticky PCM parameter in HDMI codecs
Intel and Nvidia HDMI codec drivers have own implementations of
sticky PCM parameters.  Now HD-audio core part already has it,
thus both setups conflict.  The fix is simply remove the part in
patch_intelhdmi.c and patch_nvhdmi.c and simply call
snd_hda_codec_setup_stream() as usual.

Reported-and-tested-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-08-20 09:49:18 +02:00
Daniel T Chen
9c77b846ec ALSA: intel8x0: Mute External Amplifier by default for ThinkPad X31
BugLink: https://bugs.launchpad.net/bugs/619439

This ThinkPad model needs External Amplifier muted for audible playback,
so set the inv_eapd quirk for it.

Reported-and-tested-by: Dennis Bell <dennis.bell@parkerg.co.uk>
Cc: <stable@kernel.org>
Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-08-19 08:13:46 +02:00
Takashi Iwai
274714f55c ALSA: hda - Fix build error with CONFIG_PROC_FS=n
hdmi_eld_update_pcm_info() must be always compiled in.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-08-19 08:11:53 +02:00
Charles Chin
4d8ec5f3b6 ALSA: hda - Add support for IDT 92HD89XX codecs
Just added new codec ids.  These are almost compatible with existing ones.

Signed-off-by: Charles Chin <Charles.Chin@idt.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-08-19 08:10:04 +02:00
Takashi Iwai
76165a3063 Merge branch 'fix/hda' into for-linus 2010-08-18 15:22:15 +02:00
Jaroslav Kysela
56385a12d9 ALSA: emu10k1 - delay the PCM interrupts (add pcm_irq_delay parameter)
With some hardware combinations, the PCM interrupts are acknowledged
before the period boundary from the emu10k1 chip. The midlevel PCM code
gets confused and the playback stream is interrupted.

It seems that the interrupt processing shift by 2 samples is enough
to fix this issue. This default value does not harm other,
non-affected hardware.

More information: Kernel bugzilla bug#16300

[A copmile warning fixed by tiwai]

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-08-18 15:10:59 +02:00
Kailang Yang
c69aefabe0 ALSA: hda - Fix ALC680 base model capture
- Fix capture mixer elements for ALC680 base model
 - Support auto change ADC for recording from MIC
 - Cancel capture source assigned in auto mode.

Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-08-17 10:39:22 +02:00
Takashi Iwai
c3e68fad88 ALSA: hda - Add quirk for Dell Vostro 1220
model=dell-vostro is needed for Dell Vostro 1220 with Coexnat 5067.

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

Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-08-16 10:15:57 +02:00
Takashi Iwai
a5ba6beb83 ALSA: riptide - Fix detection / load of firmware files
The detection and loading of firmeware on riptide driver has been broken
due to rewrite of some codes, checking the presense wrongly.
This patch fixes the logic again.

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

Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-08-16 08:08:48 +02:00
Linus Torvalds
1b68c9596c 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: sound/usb/format: silence uninitialized variable warnings
  MAINTAINERS: Add Ian Lartey as comaintaner for Wolfson devices
  MAINTAINERS: Make Wolfson entry also cover CODEC drivers
  ASoC: Only tweak WM8994 chip configuration on devices up to rev D
  ASoC: Optimise DSP performance for WM8994
  ALSA: hda - Fix dynamic ADC change working again
  ALSA: hda - Restrict PCM parameters per ELD information over HDMI
  sound: oss: sh_dac_audio.c removed duplicated #include
2010-08-15 11:22:00 -07:00
Takashi Iwai
f0cea79724 ALSA: hda - Fix dynamic ADC change working again
The commit eb541337b7
    ALSA: hda - Make converter setups sticky
changes the semantics of snd_hda_codec_cleanup_stream() not to clean up
the stream at that moment but delay the action.  This broke the codes
expecting that the clean-up is done immediately, such as dynamic ADC
changes in some codec drivers.

This patch fixes the issue by introducing a lower helper,
__snd_hda_codec_cleanup_stream(), to allow the immediate clean up.
The original snd_hda_codec_cleanup_stream() is kept as is now.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-08-13 11:56:53 +02:00
Takashi Iwai
bbbe33900d ALSA: hda - Restrict PCM parameters per ELD information over HDMI
When a device is plugged over HDMI, it passes some information in ELD
including the supported PCM parameters like formats, rates, channels.
This patch adds the check to PCM open callback of HDMI streams so that
only valid parameters the device supports are used.

When no device is plugged, the parameters the codec supports are used;
it's mostly all parameters the hardware can work.  This is for apps
that are started before device plugging and do probing (e.g. a sound
daemon), so that at least, probing would work even before the device
plugging.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-08-13 08:45:23 +02:00
Linus Torvalds
14a4fa20a1 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:
  ASoC: add AD1980 obsolete information
  ASoC: register cache should be 1 byte aligned for 1 byte long register
  ALSA: hda - Adding support for new IDT 92HD87XX codecs
  ASoC: Fix inverted mute controls for WM8580
  ALSA: HDA: Use model=auto for LG R510
  ALSA: hda - Update model entries in HD-Audio-Models.txt
  ALSA: hda: document VIA models
  ALSA: hda - patch_nvhdmi.c: Add missing codec IDs, unify names
  ALSA: hda - add support for Conexant CX20584
  ALSA: hda - New snd-hda-intel model/pin config for hp dv7-4000
  ALSA: hda - Fix missing stream for second ADC on Realtek ALC260 HDA codec
  ALSA: hda - Make converter setups sticky
  ALSA: hda - Add support for Acer ZGA ALC271 (1025:047c)
  sound/oss: Adjust confusing if indentation
  sound: oss: au1550_ac97.c removed duplicated #include
  ASoC: Fix for changed Eureka Kconfig symbol names
2010-08-12 10:00:06 -07:00
Charles Chin
8a345a042a ALSA: hda - Adding support for new IDT 92HD87XX codecs
Added the entries for 92HD87B1/3 and 92HD87B2/4 codecs.
These are compatible with existing 83xxx codecs.

Signed-off-by: Charles Chin <Charles.Chin@idt.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-08-10 11:43:25 +02:00