summaryrefslogtreecommitdiffstats
path: root/sound
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'for-linus' of ↵Linus Torvalds2012-01-12464-16162/+14433
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (526 commits) ASoC: twl6040 - Add method to query optimum PDM_DL1 gain ALSA: hda - Fix the lost power-setup of seconary pins after PM resume ALSA: usb-audio: add Yamaha MOX6/MOX8 support ALSA: virtuoso: add S/PDIF input support for all Xonars ALSA: ice1724 - Support for ooAoo SQ210a ALSA: ice1724 - Allow card info based on model only ALSA: ice1724 - Create capture pcm only for ADC-enabled configurations ALSA: hdspm - Provide unique driver id based on card serial ASoC: Dynamically allocate the rtd device for a non-empty release() ASoC: Fix recursive dependency due to select ATMEL_SSC in SND_ATMEL_SOC_SSC ALSA: hda - Fix the detection of "Loopback Mixing" control for VIA codecs ALSA: hda - Return the error from get_wcaps_type() for invalid NIDs ALSA: hda - Use auto-parser for HP laptops with cx20459 codec ALSA: asihpi - Fix potential Oops in snd_asihpi_cmode_info() ALSA: hdsp - Fix potential Oops in snd_hdsp_info_pref_sync_ref() ALSA: hda/cirrus - support for iMac12,2 model ASoC: cx20442: add bias control over a platform provided regulator ALSA: usb-audio - Avoid flood of frame-active debug messages ALSA: snd-usb-us122l: Delete calls to preempt_disable mfd: Put WM8994 into cache only mode when suspending ... Fix up trivial conflicts in: - arch/arm/mach-s3c64xx/mach-crag6410.c: renamed speyside_wm8962 to tobermory, added littlemill right next to it - drivers/base/regmap/{regcache.c,regmap.c}: duplicate diff that had already come in with other changes in the regmap tree
| * Merge branch 'topic/hda' into for-linusTakashi Iwai2012-01-1223-4709/+1616
| |\
| | * ALSA: hda - Fix the lost power-setup of seconary pins after PM resumeTakashi Iwai2012-01-111-13/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When multiple headphone or other detectable output pins are present, the power-map has to be updated after resume appropriately, but the current driver doesn't check all pins but only the first pin (since it's enough to check it for the mute-behavior). This resulted in the silent output from the secondary outputs after PM resume. This patch fixes the problem by checking all pins at (re-)init time. Bugzilla: https://bugzilla.novell.com/show_bug.cgi?id=740347 Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * ALSA: hda - Fix the detection of "Loopback Mixing" control for VIA codecsTakashi Iwai2012-01-101-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the driver checks only the out_mix_path[] for the primary output route for judging whether to create the loopback-mixing control or not. But, there are cases where aamix-routing is available only on headphone or speaker paths but not on the primary output path. So, the driver ignores such cases inappropriately. This patch fixes the check of the loopback-mixing control by testing all mix-routing paths. Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * ALSA: hda - Return the error from get_wcaps_type() for invalid NIDsTakashi Iwai2012-01-102-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When an invalid NID is given, get_wcaps() returns zero as the error, but get_wcaps_type() takes it as the normal value and returns a bogus AC_WID_AUD_OUT value. This confuses the parser. With this patch, get_wcaps_type() returns -1 when value 0 is given, i.e. an invalid NID is passed to get_wcaps(). Bugzilla: https://bugzilla.novell.com/show_bug.cgi?id=740118 Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * ALSA: hda - Use auto-parser for HP laptops with cx20459 codecTakashi Iwai2012-01-101-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These laptops can work well with the auto-parser and their BIOS setups, and in addition, the auto-parser fixes the problem with S3/S4 where the unsol event handling is killed after resume due to fallback to the single-cmd mode. Bugzilla: https://bugzilla.novell.com/show_bug.cgi?id=740115 Cc: <stable@kernel.org> [v3.1+] Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * ALSA: hda/cirrus - support for iMac12,2 modelJérémy Lal2012-01-091-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This early 2011 model just need to have headphones on GPI02 instead of GPI01, and use BIOS pincfgs. It is detected by codec SSID. The iMac12,1 model is known to work the same way, although maybe not with the same codec SSID. Signed-off-by: Jérémy Lal <kapouer@melix.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * ALSA: HDA: Remove Poulsbo position fix quirksDavid Henningsson2012-01-081-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | Now that we have changed the poulsbo chip to use LPIB position fix, we can remove the individual machine quirks that do the same thing. Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * ALSA: HDA: Fix typo for ALC269VB_FIXUP_DMICDavid Henningsson2012-01-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | This fixup is not actually used, so in practice this is just a cosmetic fix. Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * ALSA: HDA: Add support for Cirrus Logic 4213David Henningsson2012-01-081-35/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The CS4213 chip is similar to the CS4210, but it does not have SPDIF capabilities. Also, it has fewer pins, and the vendor specific nid is different. With this patch, we have working inputs and outputs (and automute/autoswitch). However, we don't know anything about the vendor specific processing coefficients, so we don't read or write to that node in this patch. BugLink: https://bugs.launchpad.net/bugs/910792 Tested-by: Hsin-Yi Chen <hychen@canonical.com> Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * ALSA: HDA: Fix automute for Cirrus Logic 421xDavid Henningsson2012-01-081-8/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There was a bug in the automute logic causing speakers not to mute when headphones were plugged in. Cc: stable@kernel.org Tested-by: Hsin-Yi Chen <hychen@canonical.com> Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * ALSA: HDA: Fix master control for Cirrus Logic 421XDavid Henningsson2012-01-081-12/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The control name "HP/Speakers" is non-standard, and since there is only one DAC on this chip there is no need for a virtual master anyway. Cc: stable@kernel.org Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * ALSA: HDA: Use LPIB position fix for OaktrailDavid Henningsson2012-01-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to the thread on alsa-devel, the LPIB method is to prefer for Oaktrail controller chip. Reference: http://mailman.alsa-project.org/pipermail/alsa-devel/2012-January/047800.html Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * ALSA: hda_intel: Add Oaktrail identifiersLi Peng2011-12-311-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Oaktrail has 0x8086, 0x080a - AZX_DRIVER_SCH Taken from the Meego patches for Oaktrail Signed-off-by: Li Peng <peng.li@intel.com> Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * ALSA: hda - Fix left-over merge issues in patch_hdmi.cTakashi Iwai2011-12-201-3/+1
| | | | | | | | | | | | Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * Merge branch 'test/hda-jack' into topic/hdaTakashi Iwai2011-12-2018-495/+826
| | |\ | | | | | | | | | | | | | | | | | | | | Conflicts: sound/pci/hda/patch_hdmi.c sound/pci/hda/patch_via.c
| | | * ALSA: hda - Integrate input-jack stuff into kctl-jackTakashi Iwai2011-12-016-277/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of managing input-jack stuff separately, call all stuff inside the kctl-jack creation, deletion and report. The caller no longer needs to care about input-jack. The better integration between input-jack and kctl-jack should be done in the upper layer in near future, but for now, it's implemented locally for more tests. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | | * ALSA: hda - Don't add channel suffix for headphone pin labelsTakashi Iwai2011-11-211-21/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The multiple headphone pins are usually handled as copied from the same source, not as individual channels like front and surround. Thus it'd be more correct to avoid the channel suffix for "Headphone" pin labels in snd_hda_get_pin_label() but give an index number instead. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | | * ALSA: hda - Fix a typoTakashi Iwai2011-11-211-1/+1
| | | | | | | | | | | | | | | | | | | | Reported-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | | * ALSA: hda - Give more unique names by snd_hda_get_pin_label()Takashi Iwai2011-11-166-54/+135
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The function now gives more unique names for the output pins by adding some prefix and suffix for the location and the channels. Otherwise, it can pass the index number. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | | * ALSA: hda - Add missing inclusion of linux/export.hTakashi Iwai2011-11-162-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | This is needed newly since 3.2... Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | | * ALSA: hda - Add missing initialization of kctl jack statusTakashi Iwai2011-11-161-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise the jack kctls will report invalid values until the jack is re-plugged. Reported-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | | * ALSA: hda/jack - Fix the assignment of input jack-typeTakashi Iwai2011-11-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | The type field was lost during the transition. Restored. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | | * ALSA: hda/jack - Fix NULL-dereference at probingTakashi Iwai2011-11-161-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | At probing time, the elements that aren't assigned to kctl or jack may be called. Need proper NULL-checks. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | | * ALSA: HDA: Jack: Export required functions from hda_jack.cDavid Henningsson2011-11-161-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These two functions are being used by the codec-idt and codec-hdmi modules, so they need to be exported properly. Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | | * ALSA: hda - Merge input-jack helpers to hda_jack.cTakashi Iwai2011-11-168-117/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We can use the very same table in hda_jack.c for managing the list for input-jack elements, too. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | | * ALSA: Introduce common helper functions for jack-detection controlTakashi Iwai2011-11-166-49/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now move the helper function for creating and reporting the jack-detection to the common place. The driver that needs this functionality should select CONFIG_SND_KCTL_JACK kconfig. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | | * ALSA: hda - Manage unsol tags in hda_jack.cTakashi Iwai2011-11-168-126/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Manage the tags assigned for unsolicited events dynamically together with the jack-detection routines. Basically this is almost same as what we've done in patch_sigmatel.c. Assign the new tag number for each new unsol event, associate with the given NID and the action type, etc. With this change, now all pins looked over in snd_hda_jack_add_kctls() are actually enabled for detection now even if the pins aren't used for jack-retasking by the driver. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | | * ALSA: hda - Create jack-detection kcontrolsTakashi Iwai2011-11-168-4/+232
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create kcontrols for pin jack-detections, which work similarly like jack-input layer. Each control will notify when the jack is plugged or unplugged, and also user can read the value at any time via the normal control API. The control elements are created with iface=CARD, so that they won't appear in the mixer apps. So far, only the pins that enabled the jack-detection are registered. For covering all pins, the transition of the common unsol-tag handling would be needed. Stay tuned. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | | * ALSA: hda - Cache the jack-detection valueTakashi Iwai2011-11-1613-117/+284
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce a table containing the pins and their jack-detection states for avoiding the unnecessary verbs to check the pin status at each time. When the unsol event is enabled via snd_hda_jack_detect_enable(), it automatically adds the given NID to the table. Then the driver supposes that the codec driver will set the dirty flag appropariately when an unsolicited event is invoked for that pin. The behavior for reading other pins that aren't registered in the table doesn't change. Only the pins assigned to the table are cached, so far. In near futre, this table can be extended to use the central place for the unsolicited events of all pins, etc, and eventually include the jack-detect kcontrols that replace the current input-jack stuff. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | | * ALSA: hda - Introduce snd_hda_get_pin_label()Takashi Iwai2011-11-165-9/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create a new helper function snd_hda_get_pin_label() for getting a label string for both input and output pins. hda_get_input_pin_label() is obsoleted by this function, and the callers are replaced appropriately now by this patch. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | Merge branch 'fix/hda' into topic/hdaTakashi Iwai2011-12-202-1/+9
| | |\ \
| | * | | ALSA: hda - Check non-snoop in a single placeTakashi Iwai2011-12-141-12/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge the checks for VIA and ATI-HDMI into a single place for better code-flow management. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | ALSA: HDA: Add support for new AMD productsAndiry Xu2011-12-141-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds HDMI audio support for new AMD products. As HW default disable snoop, force non-snoop mode in HD audio driver. Signed-off-by: Andiry Xu <andiry.xu@amd.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | ALSA: hda: remove unused quirk for inverted mute ledGustavo Maciel Dias Vieira2011-12-141-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit b99a776d0b17ae0f3a54e86009887a00ac4889d0 removed all effects of the STAC92HD83* model quirk "hp". However, it left the model selection and documentation behind, confusing users with inverted mute leds. Completely remove this quirk and its documentation. Signed-off-by: Gustavo Maciel Dias Vieira <gustavo@sagui.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | ALSA: hda - GPIO to control mute LED may be enabled on HP systems with no ↵Vitaliy Kulikov2011-12-131-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | such HW This may lead to problems (like loss of sound) as GPIO pin may be used for different function (SPDIF OUT, EAPD etc) on those systems. This patch disables default mute LED GPIO configuration on all new codecs as all new HP systems are expected to provide explicit mute LED configuration in SMBIOS. Signed-off-by: Vitaliy Kulikov <Vitaliy.Kulikov@idt.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | ALSA: HDA: Realtek: Take vmaster dac from multiout dac listDavid Henningsson2011-12-121-22/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the auto-parser we can choose the dac nid for vmaster from the DACs we already know, instead of hard-coding it. This is more future-proof and was actually wrong on one machine. Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | Merge branch 'fix/hda' into topic/hdaTakashi Iwai2011-12-0720-583/+210
| | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: sound/pci/hda/patch_realtek.c
| | * \ \ \ Merge branch 'fix/hda' into topic/hdaTakashi Iwai2011-12-0119-73/+166
| | |\ \ \ \
| | * | | | | ALSA: hda - Increase the max number of coverters/pins in patch_hdmi.cTakashi Iwai2011-11-261-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new hardware tends to have more and more. As a temporary fix, just increase the number for now. For a long-term solution, we should assign the cvts/pins dynamically. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | | | ALSA: hda - Supports more audio streamsTakashi Iwai2011-11-263-27/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | So far, the driver supports up to 10 streams. This is a restriction in hda_intel.c and hda_codec.c: in the former, the fixed array size limits the amount, and in the latter, the fixed device-number assignment table (in get_empty_pcm_device()) limits the possibility. This patch reduces the restriction by - using linked list for managing PCM instances in hda_intel.c, and - assigning non-fixed device numbers for the extra devices Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | | | Merge branch 'fix/hda' into topic/hdaTakashi Iwai2011-11-2310-60/+111
| | |\ \ \ \ \ | | | |_|_|_|/ | | |/| | | | | | | | | | | | | | | | | | Conflicts: sound/pci/hda/patch_realtek.c
| | * | | | | Merge branch 'fix/hda' into topic/hdaTakashi Iwai2011-11-167-69/+87
| | |\ \ \ \ \
| | * | | | | | ALSA: hda/realtek - Move ALC880 model=lg-lw to auto-parserTakashi Iwai2011-11-151-103/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ALC880 model=lg-lw works fine with the auto-parser as is. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | | | | ALSA: hda/realtek - Move ALC880 model=medion-rim to auto-parserTakashi Iwai2011-11-152-90/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Translate ALC880 medion-rim static configs to the auto-parser with the additional GPIO2 verb and COEF setup. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | | | | ALSA: hda/realtek - Move ALC885 macpro and imac24 models to auto-parserTakashi Iwai2011-11-142-175/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ALC882 macpro and imac24 static configs can be transferred to the auto-parser with the additional GPIO setup. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | | | | ALSA: hda/realtek - Re-add the model string selection for ALC88xTakashi Iwai2011-11-141-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the commit [c3e837bb: ALSA: hda/realtek - Rewrite ALC882 acer-aspire-* models with the auto-parser], the check of the model option got removed mistakenly. Re-added the board_config check again. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | | | | ALSA: hda/realtek - Remove left-over chunks in alc882_quirks.cTakashi Iwai2011-11-141-102/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove unused variables. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | | | | ALSA: hda/realtek - Create mono volume controls for mono-outputsTakashi Iwai2011-11-141-4/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the pin or the DAC doesn't support the stereo, create a mono control instead of creating a stereo control blindly. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | | | | ALSA: hda/realtek - Rewrite ALC882 acer-aspire-* models with the auto-parserTakashi Iwai2011-11-102-430/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now we can move the big acer-aspire-* static quirks to the auto-paresr with some additional pin-configs and verbs. Signed-off-by: Takashi Iwai <tiwai@suse.de>