summaryrefslogtreecommitdiffstats
path: root/sound
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'fix/asoc' into for-linusTakashi Iwai2011-05-277-43/+66
|\
| * ASoC: Fix power down for widgetless per-card DAPM context caseJarkko Nikula2011-05-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 52ba67b ("ASoC: Force all DAPM contexts into the same bias state") powers up all the DAPM contexts in a card if any DAPM context becomes active. Unfortunately power down newer happens if per-card DAPM context doesn't have any widgets. Reason for this is that power state of per-card DAPM context without widgets is never cleared and thus all the DAPM contexts remain permanently active. Test for widgetless calling DAPM context in dapm_power_widgets() doesn't work for per-card DAPM context since power change is never originating from widgetless per-card DAPM context. Fix this by pre-clearing power state flag of non-codec DAPM context at the beginning of power sequence. Signed-off-by: Jarkko Nikula <jhnikula@gmail.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: wm1250-ev1: Define "WM1250 Output" with SND_SOC_DAPM_OUTPUTAxel Lin2011-05-261-1/+1
| | | | | | | | | | | | | | Codec output pin should be defined with SND_SOC_DAPM_OUTPUT. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: Remove duplicate linux/delay.h inclusion.Jesper Juhl2011-05-261-1/+0
| | | | | | | | | | | | | | | | It's enough to include linux/delay.h just once in sound/soc/codecs/wm8915.c, so remove the duplicate. Signed-off-by: Jesper Juhl <jj@chaosbits.net> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: sam9g20_wm8731: use the proper SYSCKL valueNicolas Ferre2011-05-261-1/+1
| | | | | | | | | | | | | | | | | | | | at91sam9g20 is providing master clock to wm8731: not using a crystal but an external MCLK. We can avoid conflict and save power using WM8731_SYSCLK_MCLK as we do not need oscillator to be powered. Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: wm8731: fix wm8731_check_osc() connected conditionNicolas Ferre2011-05-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | The crystal oscillator is only enabled if the WM8731_SYSCLK_XTAL master clock is specified. Fix the connected() struct snd_soc_dapm_route function to take this into account. Oscillator is not enabled on machine that need it otherwise. Machine drivers have to make sure that they use the proper SYSCLK value. Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: core - remove superfluous new line.Liam Girdwood2011-05-251-1/+0
| | | | | | | | | | Signed-off-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: core - fix module reference counting for CPU DAIsLiam Girdwood2011-05-241-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | Currently CODEC and platform drivers have their module reference count incremented soc_probe_dai_link() whilst CPU DAI drivers have their reference count incremented in soc_bind_dai_link(). CPU DAIs should have their reference count incremented in soc_probe_dai_link() just like the CODEC and platform drivers. Signed-off-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: fix raumfeld platformDaniel Mack2011-05-241-34/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit f0fba2ad (ASoC: multi-component - ASoC Multi-Component Support) broke support for Raumfeld platforms as it didn't take into account the different hardware features on individual devices. In particular, Raumfeld speakers have no S/PDIF output, so the members of the snd_soc_card struct must be set dynamically. Signed-off-by: Daniel Mack <zonque@gmail.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@kernel.org
* | Merge branch 'fix/misc' into for-linusTakashi Iwai2011-05-2713-55/+150
|\ \
| * | ALSA: core: remove unused variables.Luca Tettamanti2011-05-265-18/+1
| | | | | | | | | | | | | | | | | | | | | Drop a few variables that are never read. Signed-off-by: Luca Tettamanti <kronos.it@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: PCM - Don't check DMA time-out too shortlyTakashi Iwai2011-05-262-6/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the PCM period size is set larger than 10 seconds, currently the PCM core may abort the operation with DMA-error due to the fixed timeout for 10 seconds. A similar problem is seen in the drain operation that has a fixed timeout of 10 seconds, too. This patch fixes the timeout length depending on the period size and rate, also including the consideration of no_period_wakeup flag. Reported-by: Raymond Yau <superquad.vortex2@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: usb-audio: more control quirks for M-Audio FastTrack devicesDaniel Mack2011-05-252-2/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make use of the freshly introduced methods to re-use standard mixer handling and add some controls that are hidden but implemented in a standard conform way on M-Audio's FastTrack devices. Signed-off-by: Daniel Mack <zonque@gmail.com> Original-code-by: Felix Homann <linuxaudio@showlabor.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: usb-audio: add new quirk type QUIRK_AUDIO_STANDARD_MIXERDaniel Mack2011-05-252-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | This quirk type will let the driver assume that there is a standard mixer on a given interface, or that a specific mixer quirks will handle the device. Signed-off-by: Daniel Mack <zonque@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: usb-audio: export snd_usb_feature_unit_ctlDaniel Mack2011-05-254-11/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to allow quirks functions to hook up to the standard feature unit op tables, this patch exports a pointer to the struct that is used internally. That way, all the code handling the control can be kept private, and external code can reference the symbol to re-use it. Signed-off-by: Daniel Mack <zonque@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: usb-audio: rework add_control_to_empty()Daniel Mack2011-05-252-9/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch renames add_control_to_empty() to snd_usb_mixer_add_control() and exports it, so the quirks functions can make use of it. Also, as "struct mixer_build" is private to mixer.c, rewrite the function to take an argument of type "struct usb_mixer_interface" instead. Signed-off-by: Daniel Mack <zonque@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: usb-audio: move assignment of chip->ctrl_intfDaniel Mack2011-05-251-8/+8
| | | | | | | | | | | | | | | | | | | | | This is needed for upcoming changes to the quirks mechanism. Signed-off-by: Daniel Mack <zonque@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Reorganize controller quriks with bit flagsTakashi Iwai2011-05-261-81/+125
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce bit-flags indicating the necessary controller quirks, and set them in pci driver_data field. This simplifies the checks in the driver code and avoids the pci-id lookup in different places. Also, this patch adds the PCI ID entry for AMD Hudson. AMD Hudson requires a similar workaround like ATI SB while other generic ATI and AMD controllers don't need but some ATI-HDMI quirks. So, we need a different entry for Hudson. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Use snd_printd() in snd_hda_parse_pin_def_config()Takashi Iwai2011-05-261-1/+1
| | | | | | | | | | | | | | | | | | | | | Fixed the wrong usage of snd_printdd() for debug prints of input entries. It should be snd_printd() like others. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: HDA: Increase MAX_HDMI_PINSStephen Warren2011-05-261-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | The recently introduced NVIDIA GeForce GT 520 has 4 pins within a single codec. Bump MAX_HDMI_PINS to accomodate this. Also bump MAX_HDMI_CVTS to match it; this might be needed later too. Signed-off-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Use model=auto for Lenovo G555Takashi Iwai2011-05-251-0/+1
| | | | | | | | | | | | | | | | | | The new auto-parser fixes problems on Lenovo G555. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: HDA: Unify HDMI hotplug handling.Stephen Warren2011-05-252-87/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change unifies the initial handling of a pin's state with the code to update a pin's state after a hotplug (unsolicited response) event. The initial probing, and all updates, are now routed through hdmi_present_sense. The stored PD and ELDV status is now always derived from GetPinSense verb execution, and not from the data in the unsolicited response. This means: a) The WAR for NVIDIA codec's UR.PD values ("old_pin_detect") can be removed, since this only affected the no-longer-used unsolicited response payload. b) In turn, this means that most NVIDIA codecs can simply use patch_generic_hdmi instead of having a custom variant just to set old_pin_detect. c) When PD && ELDV becomes true, no extra verbs are executed, because the GetPinSense that was previously executed by snd_hdmi_get_eld (really, hdmi_eld_valid) has simply moved into hdmi_present_sense. d) When PD && ELDV becomes false, there is a single extra GetPinSense verb executed for codecs where old_pin_detect wasn't set, i.e. some NVIDIA, and all ATI/AMD and Intel codecs. I doubt this will be a performance issue. The new unified code in hdmi_present_sense also ensures that eld->eld_valid is not set unless eld->monitor_present is also set. This protects against potential invalid combinations of PD and ELDV received from HW, and transitively from a graphics driver. Also, print the derived PD/ELDV bits from hdmi_present_sense so the kernel log always displays the actual state stored, which will differ from the values in the unsolicited response for NVIDIA HW where old_pin_detect was previously set. Finally, a couple of small tweaks originally by Takashi: * Clear the ELD content to zero before reading it, so that if it's not read (i.e. when !(PD && ELDV)) it's in a known state. * Don't show ELD fields in /proc ELD files when the ELD isn't valid. The only possibility I can see for regression here is a codec where the GetPinSense verb returns incorrect data. However, we're already exposed to that, since that data is used (a) from hdmi_add_pin to set up the initial pin state, and (b) within snd_hda_input_jack_report to query a pin's presence value. As such, I don't believe any HW has bugs here. Includes-changes-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Force AD1988_6STACK_DIG for Asus M3N-HT DeluxeTony Vroon2011-05-251-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The microphone input on the back panel (pink connector) stopped operating correctly after an upgrade from 2.6.35 to 2.6.38; the actual problem manifests itself as a lack of microphone bias voltage (VREF_HIZ) on node 0x17. With AD1988_6STACK_DIG the maximum bias voltage (VREF_80) is applied and the headset operates correctly. Signed-off-by: Tony Vroon <tony@linx.net> Tested-by: Doug Redlich <pbrigade@nxltech.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Fix speaker auto-mute in Cxt auto-parserTakashi Iwai2011-05-241-12/+21
| | | | | | | | | | | | | | | | | | | | | Fix some logic failures in auto-mute handling in Conexant auto-parser. Also, modify codes to be a bit more understandable. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Fix initial capture-source with auto-mic for Cxt auto-parserTakashi Iwai2011-05-231-2/+3
| | | | | | | | | | | | | | | | | | | | | Fix the initialization of capture-source route when auto-mic is enabled for Conexant auto-parser. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Fix auto-mic detection in Conexant codec-parserTakashi Iwai2011-05-231-1/+1
|/ / | | | | | | | | | | | | Fix the auto-mic detection for Cxt auto-parser due to off-by-one missing initialization. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: HDA: Add quirk for Lenovo U350David Henningsson2011-05-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | Add model=asus quirk for Lenovo Ideapad U350 to make internal mic work correctly. Cc: stable@kernel.org (2.6.38+) BugLink: http://bugs.launchpad.net/bugs/751681 Reported-by: Kent Baxley <kent.baxley@canonical.com> Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'topic/hda' into for-linusTakashi Iwai2011-05-2214-3275/+4106
|\ \
| * | ALSA: hda - Use LPIB for ATI/AMD chipsets as defaultTakashi Iwai2011-05-201-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ATI and AMD chipsets seem not providing the proper position-buffer information, and it also doesn't provide FIFO register required by VIACOMBO fix. It's better to use LPIB for these. Reported-by: David Henningsson <david.henningsson@canonical.com> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | Revert "ALSA: hda - Use position_fix=3 as default for AMD chipsets"Takashi Iwai2011-05-201-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 447ee6a7cbbfb5ae7ab8f9b8b058b4a04fe398bf. The workaround introduced by this commit seems bogus. The AMD chipsets don't provide proper position-buffer nor FIFO value required by VIACOMBO fix. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - add Intel Panther Point HDMI codec idWu Fengguang2011-05-201-0/+2
| | | | | | | | | | | | | | | Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Remove PCM mixer elements from Virtual Master of realtekRaymond Yau2011-05-201-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Afer commit aa202455eec51699e44f658530728162cefa1307 , none of realtek codec has hardware volume control "PCM Playback Volume" and "PCM Playback Switch". As Virtual Master require all slave controls must have same number of step and dB range. Signed-off-by: Raymond Yau <superquad.vortex2@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Fix input-src parse in patch_analog.cAdrian Wilkins2011-05-201-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Compare pin type enum to the pin type and not the array index. Fixes bug#0005368. Signed-off-by: Adrian Wilkins <adrian.wilkins@nhs.net> Cc: <stable@kernel.org> (2.6.37 and later) Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Enable Realtek ALC269 codec input layer beepMadis Janson2011-05-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes the input layer beep not working on some EeePC 1000 models by adding the subsystem id into whitelist. Otherwise the corresponding ALSA mixer is not enabled and stays muted, resulting in no console beep. Signed-off-by: Madis Janson <madis@cyber.ee> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: HDA: Add jack detection for HDMIDavid Henningsson2011-05-192-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | Just as for headphones and microphone jacks, this patch adds reporting of HDMI jack status through the input layer. Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Fix no sound after Windows boot with ALC269Kailang Yang2011-05-181-2/+9
| | | | | | | | | | | | | | | | | | | | | Change power control register to default. Signed-off-by: Kailang Yang <kailang@realtek.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Add support of ALC221 / ALC276 codecsKailang Yang2011-05-181-0/+2
| | | | | | | | | | | | | | | | | | | | | Compatible with ALC269. Signed-off-by: Kailang Yang <kailang@realtek.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Add support of ALC898/899 codecKailang Yang2011-05-181-0/+10
| | | | | | | | | | | | | | | | | | | | | These are compatible with ALC882 codec. Signed-off-by: Kailang Yang <kailang@realtek.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Enable snoop bit for AMD controllersTakashi Iwai2011-05-171-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | AMD Hudson controllers give noisy outputs when the buffer data is rewritten on the fly as PulseAudio does. This seems fixed by the snoop bit enabled just like ATI chipset. Also, disable 64bit DMA as now, to be sure. We can revisit this later. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Handle dock line-in as auto-detecable for Cxt auto-parserTakashi Iwai2011-05-171-5/+7
| | | | | | | | | | | | | | | | | | Similar process like in patch_realtek.c and patch_sigmatel.c. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Handle dock line-in as auto-detectable for IDT codecsTakashi Iwai2011-05-171-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | When a docking-station has a line-in jack, we can handle it also as a detectable jack just like mic-in. This will improve the usability of HP laptops with a docking-station. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Add dock-mic detection support to Realtek auto-parserTakashi Iwai2011-05-171-17/+65
| | | | | | | | | | | | | | | | | | | | | In addition to the normal mic jack, the mic (or line-in) jack on the docking-station is checked also as a candidate for auto-selection. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Check unsol-cap in is_jack_detectalbe()Takashi Iwai2011-05-174-10/+8
| | | | | | | | | | | | | | | | | | Also replace more open-codes with this function. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Add support of dock-mic detection to Conexant auto-parserTakashi Iwai2011-05-171-39/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | In addition to the normal external mic jack, check also the mic jack on a docking-station as well, and select the input source appropriately. The similar functionality was already implemented in patch_sigmatel.c. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Fix initialization of spec->automute_lines in patch_realtek.cTakashi Iwai2011-05-171-1/+1
| | | | | | | | | | | | | | | | | | | | | spec->automute_lines shouldn't be set unless the line-detection is available. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Use get_wcaps_type()Takashi Iwai2011-05-171-2/+1
| | | | | | | | | | | | | | | | | | Replace the open-code with get_wcaps_type() macro. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Use is_jack_detectable() helperTakashi Iwai2011-05-172-11/+7
| | | | | | | | | | | | | | | | | | Replaced the open-code with the new helper function. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Add automute-mode enum to Conexant auto-parserTakashi Iwai2011-05-172-49/+215
| | | | | | | | | | | | | | | | | | | | | | | | Implement the same functionality as Realtek's auto-mute mode control. Now Conexant auto-parser can also mutes line-out and provide the enum control for different automute behavior. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Add missing Front/Surround/CLFE as slaves for Cxt auto-parserTakashi Iwai2011-05-171-0/+6
| | | | | | | | | | | | Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Code refactoring in patch_conexant.cTakashi Iwai2011-05-171-30/+34
| | | | | | | | | | | | | | | | | | | | | Use a struct instead of each array for managing input-source info for auto-parser. Signed-off-by: Takashi Iwai <tiwai@suse.de>
OpenPOWER on IntegriCloud