summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ALSA: snd-firewire-lib: remove unused header inclusionTakashi Sakamoto2013-06-251-1/+0
| | | | | | | spinlock is not used in amdtp.h. Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Add missing alc_inv_dmic_sync() call in alc269_resume()Takashi Iwai2013-06-251-0/+1
| | | | | | | | As some of ALC269 quirks use the inverted dmic feature, we need to call alc_inv_dmic_sync() in the resume callback like in alc_resume(), too. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Remove superfluous stac_resume()Takashi Iwai2013-06-251-10/+0
| | | | | | | The stac_resume() is exactly what the default resume code does, so we don't have to define and use it doubly. Let's cut it off. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda/hdmi - poll eld at resume timeWang Xingchao2013-06-251-0/+21
| | | | | | | | | Hdmi driver may not receive intrinsic event from gfx side when it's in runtime suspend mode. There's no ELD info when exit from runtime suspend. This patch avoid missing ELD info. Signed-off-by: Wang Xingchao <xingchao.wang@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - clean up code to reset hda linkMengdong Lin2013-06-251-17/+18
| | | | | | | | | | | | | | This patch is a cleanup to the previous patch "reset hda link during system/ runtime suspend". In this patch - azx_enter_link_reset() and azx_exit_link_reset() are defined for entering and exiting the link reset respectively. azx_link_reset() is no longer used and replaced by azx_enter_link_reset(). - azx_reset() reuses the above two new functions for a link reset cycle Signed-off-by: Mengdong Lin <mengdong.lin@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Add In-driver connection infoWang Xingchao2013-06-251-0/+15
| | | | | | | | | | | Pin's connection list may change dynamically with hot-plug event on Intel Haswell chip. Users would see connections be "0" in codec#. when play audio on this pin, software driver choose converter from cache connections. So add "In-driver connection" info to avoid confuse when raw connections are different with cache connection. Signed-off-by: Wang Xingchao <xingchao.wang@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Use auto_mute_via_amp=1 for VT1708Takashi Iwai2013-06-251-0/+2
| | | | | | | | | | | We've got bug report wrt many machines with VT1708 (e.g. IBM POS machines) showing the broken auto-mute behavior. It turned out that the problem is that the pin control values of the speaker and line-out pins are completely ignored. As a workaround, let's use the newly introduced feature of the generic parser, to control the mute via amp on pins. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Add auto_mute_via_amp flag to generic parserTakashi Iwai2013-06-252-1/+50
| | | | | | | | | | | | | | | | | | | Add a new flag, auto_mute_via_amp, to determine the behavior of the headphone / line-out auto-mute. When this flag is set, the generic driver mutes the speaker and line outputs via the amp mute of each pin, instead of changing the pin control values. This is introduced for devices that don't work expectedly with the pin control values; for example, some devices are known to keep enabling the speaker outputs no matter which pin control values are set on the speaker pins. The driver doesn't check actually whether the pins have the output amp caps, but assumes that the proper mixer (mute) controls are created on all these pins. If not the case, you can't use this flag for your device. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: vmaster: Add snd_ctl_sync_vmaster() helper functionTakashi Iwai2013-06-242-21/+47
| | | | | | | | | | | | Introduce a new helper function, snd_ctl_sync_vmaster(), which updates the slave put callbacks forcibly as well as calling the hook. This will be used in the upcoming patch in HD-audio codec driver for toggling the mute in vmaster slaves. Along with the new function, the old snd_ctl_sync_vmaster_hook() is replaced as a macro calling with the argument hook_only=true. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Remove unused variableWang Xingchao2013-06-241-1/+0
| | | | | Signed-off-by: Wang Xingchao <xingchao.wang@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - reset hda link during system/runtime suspendMengdong Lin2013-06-241-0/+16
| | | | | | | | | | | | | | If all the codecs report ClkStopOK (OK to stop bus clock) after being put to D3, this patch will reset the HDA link before the controller is put to D3. So the link will be in reset during system or runtime suspend, the bus clock stops and the codecs are in D3(ClkStop) state. This may help to reduce power consumption by dozens of mW on some peripheral hda codecs. Signed-off-by: Mengdong Lin <mengdong.lin@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Add M2Tech hiFace USB-SPDIF driverAntonio Ospite2013-06-247-1/+1006
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add driver for M2Tech hiFace USB-SPDIF interface and compatible devices. M2Tech hiFace and compatible devices offer a Hi-End S/PDIF Output Interface, see http://www.m2tech.biz/hiface.html The supported products are: * M2Tech Young * M2Tech hiFace * M2Tech North Star * M2Tech W4S Young * M2Tech Corrson * M2Tech AUDIA * M2Tech SL Audio * M2Tech Empirical * M2Tech Rockna * M2Tech Pathos * M2Tech Metronome * M2Tech CAD * M2Tech Audio Esclusive * M2Tech Rotel * M2Tech Eeaudio * The Chord Company CHORD * AVA Group A/S Vitus Signed-off-by: Antonio Ospite <ao2@amarulasolutions.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ASoC: samsung: Fix a typo of CONFIG_SND_SOC_BT_SCOTakashi Iwai2013-06-211-1/+1
| | | | | | | ... instead of CONFIG_SND_SOC_SCO. Introduced in the commit 200ceb96. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ASoC: omap: Fix the leftover CONFIG_SND_SOC_HDMI_CODECTakashi Iwai2013-06-211-1/+1
| | | | | | | | Replace the leftover CONFIG_SND_SOC_OMAP_HDMI_CODEC in sound/soc/omap/Kconfig with CONFIG_SND_SOC_HDMI_CODEC, which was forgotten in the commit bf7c6e6c. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Merge tag 'asoc-v3.11' of ↵Takashi Iwai2013-06-21157-3053/+8786
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-next ASoC: Updates for v3.11 Not a big release subsystem wise, the main changes have been some nice improvements on the driver side: - Lots of cleanups and fixes for Blackfin, SGTL5000 and UX500. - Generalisation of the Bluetooth and HDMI stub drivers. - New CODEC drivers for SSM2518 and RT5640. - New machine driver for Tegra CPUs with RT5640.
| * Merge remote-tracking branch 'asoc/topic/x86' into asoc-nextMark Brown2013-06-171-1/+0
| |\
| | * ASoC: mid-x86: Remove redundant platform_set_drvdata()Sachin Kamat2013-05-121-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 0998d06310 (device-core: Ensure drvdata = NULL when no driver is bound) removes the need to set driver data field to NULL. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | Merge remote-tracking branch 'asoc/topic/wm8994' into asoc-nextMark Brown2013-06-174-43/+161
| |\ \
| | * | ASoC: wm8994: Allow debounce before MICDET identificationMark Brown2013-06-013-2/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For systems which do not have a jack detection feature allow some debounce to be specified before we perform accessory identification, improving robustness without impacting button detection responsiveness. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | * | ASoC: wm8994: Remove unused variableMark Brown2013-06-011-1/+0
| | | | | | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | * | ASoC: wm8994: Add digital loopback pathsMark Brown2013-05-301-2/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is loopback control within the audio interfaces, provide control of this as there are some obscure scenarios where this could be used in production. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | * | ASoC: wm8994: Defer declaration of open circuit microphonesMark Brown2013-05-292-9/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Provide a bit of debounce to handle pathological cases with slow input better by allowing the microphone detection to run for a bit longer. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | * | ASoC: wm8994: Ensure lambda is zeroed for WM8994Mark Brown2013-05-281-0/+1
| | | | | | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | * | ASoC: wm8994: Remove restore of DAC enable stateMark Brown2013-05-281-16/+0
| | | | | | | | | | | | | | | | | | | | | | | | It's not been needed since the regmap conversion. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | * | ASoC: wm8994: Handle LRCLK inversion for WM8958 and WM1811AMark Brown2013-05-202-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On WM8958 and WM1811A separate control of the LRCLK inversion bit is available for the DAC and ADC LRCLKs which for compatibility reasons is done in a new register bit. Since writes to each scheme have no effect on parts using the other just always write to both for simplicity. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Vinod Koul <vinod.koul@intel.com> Tested-by: Samreen Nilofer <samreen.nilofer@intel.com>
| | * | ASoC: wm8994: missing break in wm8994_get_fll_config()Dan Carpenter2013-05-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Smatch complains that: sound/soc/codecs/wm8994.c:2087 wm8994_get_fll_config() warn: missing break? reassigning 'fll->k' Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | * | ASoC: wm8994: Support EFS mode for FLLMark Brown2013-05-131-13/+36
| | |/ | | | | | | | | | | | | | | | | | | | | | Later WM8994 devices support an enhanced accuracy FLL divisor mode called EFS which allows more precise selection of fractional source to output ratios. Support this on relevant devices. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | Merge remote-tracking branch 'asoc/topic/wm8962' into asoc-nextMark Brown2013-06-172-30/+105
| |\ \
| | * \ Merge branch 'fix/wm8962' of ↵Mark Brown2013-06-14293-1415/+2908
| | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-wm8962 Conflicts: sound/soc/codecs/wm8962.c
| | * | | ASoC: wm8962: Restore device state after reset in runtime resumeMark Brown2013-06-101-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After the device has been reset we need to repeat the same initialisation we do on probe to make sure that the device is in a known state. Tested-by: Nicolin Chen <b42378@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * | | ASoC: wm8962: Add device tree bindingNicolin Chen2013-06-072-1/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Document the device tree binding for the WM8962 codec, and modify the driver to extract platform data from the device tree, if present. Based on work of WM8903 by Stephen Warren <swarren@nvidia.com> Signed-off-by: Nicolin Chen <b42378@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * | | ASoC: WM8962: Create default platform data structureNicolin Chen2013-06-061-32/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Embed a copy of struct wm8962_pdata in stuct wm8962_priv so that there's no need to check validity of pdata any more. Signed-off-by: Nicolin Chen <b42378@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | Merge remote-tracking branch 'asoc/topic/wm0010' into asoc-nextMark Brown2013-06-171-0/+10
| |\ \ \ \
| | * | | | ASoC: wm0010: Clear IRQ as wake source and include missing headerCharles Keepax2013-06-031-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Both clear the IRQ as being a wake source when we are finished with it and include a missing header file that is required. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * | | | ASoC: wm0010: Set IRQ as a wake sourceCharles Keepax2013-05-301-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The DSPs IRQ should be a wake source as several of the possible algorithms may run whilst the AP is asleepi and require to wake the AP to push or pull more data, such as compressed playback. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | | | | Merge remote-tracking branch 'asoc/topic/ux500' into asoc-nextMark Brown2013-06-178-205/+159
| |\ \ \ \ \
| | * | | | | ASoC: ux500: Add DMA slave config prepare routineFabio Baltieri2013-06-121-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement a DMA slave config prepare routine, as until now the MSP driver depended on the DMA controller completing the channel configuration on its own, but this is not the case anymore since the recent DMA driver updates. Signed-off-by: Fabio Baltieri <fabio.baltieri@linaro.org> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * | | | | ASoC: ux500: Set DMA address during device initFabio Baltieri2013-06-122-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a field with the tx/rx register address to the DMA parameters structure, and set it to the correct address during device initialization. This address used to be hardcoded in the DMA controller driver, it now needs to be explicitly figured out by the device driver. Signed-off-by: Fabio Baltieri <fabio.baltieri@linaro.org> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * | | | | ASoC: ux500: Move DMA parameters into ux500_mspFabio Baltieri2013-06-124-20/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move struct ux500_msp_dma_params declaration from ux500_msp_i2s_drvdata to ux500_msp, this saves some confusing pointer passing and allows to access all DMA configuration fields from ux500_msp_i2s. Signed-off-by: Fabio Baltieri <fabio.baltieri@linaro.org> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * | | | | ASoC: ux500: Ensure consistent configuration between DAIsFabio Baltieri2013-05-281-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Current implementation of mop500_ab8500 allows for inconsistent sample rate and channel count configuration between the playback and recording interfaces, through in the hardware the two MSP controllers share common clock and frame sync signals. This patch adds the necessary code to ensure that the two device are configure consistently. The check is added at machine driver level, as how to lock DAI configuration depend of the actual hardware implementation. Signed-off-by: Fabio Baltieri <fabio.baltieri@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | * | | | | ASoC: ux500: Drop redundant msp id enumerationsFabio Baltieri2013-05-251-8/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ux500 has two equivalent enum for device id, one in platform_data and one in a local header. Fix this by dropping the local one. Signed-off-by: Fabio Baltieri <fabio.baltieri@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | * | | | | ASoC: ux500: Add missing mop500_ab8500.h includeFabio Baltieri2013-05-251-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a missing include that was resulting in some sparse warning for non-static structure without forward declaration. Signed-off-by: Fabio Baltieri <fabio.baltieri@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | * | | | | ASoC: ux500: Drop unused code from msp headersFabio Baltieri2013-05-252-33/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Drop unused fields and structures from ux500_msp_i2s header file, as those looks like leftover from a previous implementation of the driver. Signed-off-by: Fabio Baltieri <fabio.baltieri@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | * | | | | ASoC: ux500: Drop dangling struct i2s_controllerFabio Baltieri2013-05-252-31/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Drop struct i2s_controller from the ux500 ASoC driver as right now it is instantiated but not used anywhere. Also drop a mismatched device_unregister in the process. Signed-off-by: Fabio Baltieri <fabio.baltieri@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | * | | | | ASoC: ab8500-codec: Move codec ops on a separate structureFabio Baltieri2013-05-251-12/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Define ab8500 codec operations structure on its own rather than inline with snd_soc_dai_drivers to clean up the code and make the style coherent with other codec drivers. Signed-off-by: Fabio Baltieri <fabio.baltieri@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | * | | | | ASoC: ux500: Drop pinctrl sleep supportFabio Baltieri2013-05-252-60/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Drop pinctrl default/sleep state switching code, as it was breaking the capture interface by putting the I2S pins in hi-z mode regardless of its usage status, and not giving any real benefit. Pinctrl default mode configuration is already managed automatically by a specific pinctrl hog. Signed-off-by: Fabio Baltieri <fabio.baltieri@linaro.org> Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | * | | | | ASoC: ab8500-codec: Set rx dai slots from rx_maskFabio Baltieri2013-05-212-29/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace hard coded rx slot numbers from ab8500_codec_set_dai_tdm_slot using the ones requested by the machine driver in rx_mask instead. Signed-off-by: Fabio Baltieri <fabio.baltieri@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | * | | | | Merge tag 'v3.10-rc2' into asoc-ux500Mark Brown2013-05-21356-2866/+3966
| | |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Linux 3.10-rc2
| | * | | | | | ASoC: ab8500-codec: Set tx dai slots from tx_maskFabio Baltieri2013-05-212-12/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace hard-coded tx slot numbers from ab8500_codec_set_dai_tdm_slot using the ones requested by the machine driver in tx_mask instead. Signed-off-by: Fabio Baltieri <fabio.baltieri@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | | | | | | Merge remote-tracking branch 'asoc/topic/tegra' into asoc-nextMark Brown2013-06-173-18/+56
| |\ \ \ \ \ \ \