summaryrefslogtreecommitdiffstats
path: root/sound
AgeCommit message (Collapse)Author
2012-12-07ASoC: arizona: Store the DAI clock ID when settingMark Brown
So the code to suppress duplicate changes is effective. Reported-by: Kyung Kwee Ryu <Kyung-Kwee.Ryu@wolfsonmicro.comyu@wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-06ASoC: arizona: Make FLL lock timeout very highMark Brown
Provide robustness against low quality FLL sync clocks by increasing the timeout for lock to an absurdly high point; we should never get anywhere near hitting the timeout in a real system unless it is failing. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-06ASoC: wm5110: Add LHPF coefficient configurationMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-06ASoC: wm5110: Add EQ coefficient configurationMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-06ASoC: wm5102: Make EQ coefficents configurableMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-05ALSA: hda: Add PCI device prefix for clarityDaniel J Blueman
When printing, use a prefix of the PCI domain, bus, device and function as in other drivers, to differentiate multiple devices. Important for reporting and debugging. A future step is to tidy this up with dev_printk et al. v2: Move conversion specifier into call site, preventing build issues v3: Refactor for Takashi's for-next branch Signed-off-by: Daniel J Blueman <daniel@quora.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-12-04ALSA: hda - Fix yet another race of vga_switcheroo registrationTakashi Iwai
The recent fix for vga switcheroo race in commit 128960a9 opened yet another race. At the time the audio driver starts probing, user may turn off D-GPU off. But at this moment, the audio driver still doesn't register the vga switcheroo client, thus the switching isn't notified. Then the hardware gets off out of sudden, resulting in invalid reads and lots of "spurious response" error messages. For solving this situation, the following changes have been done in this patch: - Move again vga switcheroo registration to the very early stage of the probing; this also requires to set pci drvdata properly before registration - Introduce the completion to synchronize the driver probe at vga switcheroo callbacks; this assures that the whole probing finished before executing the callbacks Reported-by: Daniel J Blueman <daniel@quora.org> Tested-by: Daniel J Blueman <daniel@quora.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-12-04ALSA: usb-audio: sync ep init fix for audioformat mismatchEldad Zack
Commit 947d299686aa9cc8aecf749d54e8475c6e498956 , "ALSA: snd-usb: properly initialize the sync endpoint", while correcting the initialization of the sync endpoint when opening just the data endpoint, prevents devices that has a sync endpoint, with a channel number different than that of the data endpoint, from functioning. Due to a different channel and period bytes count, attempting to initialize the sync endpoint will fail at the usb host driver. For example, when using xhci: cannot submit urb 0, error -90: internal error With this patch, if a sync endpoint has multiple audioformats, a matching audioformat is preferred. An audioformat must be found with at least one channel and support the requested sample rate and PCM format, otherwise the stream will not be opened. If the number of channels differ between the selected audioformat and the requested format, adjust the period bytes count accordingly. It is safe to perform the calculation on the basis of the channel count, since the requested PCM audio format and the rate must be supported by the selected audioformat. Cc: Jeffrey Barish <jeff_barish@earthlink.net> Cc: Daniel Mack <zonque@gmail.com> Signed-off-by: Eldad Zack <eldad@fogrefinery.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-12-04ALSA: usb-audio: Fix missing autopm for MIDI inputTakashi Iwai
The commit [88a8516a: ALSA: usbaudio: implement USB autosuspend] added the support of autopm for USB MIDI output, but it didn't take the MIDI input into account. This patch adds the following for fixing the autopm: - Manage the URB start at the first MIDI input stream open, instead of the time of instance creation - Move autopm code to the common substream_open() - Make snd_usbmidi_input_start/_stop() more robust and add the running state check Reviewd-by: Clemens Ladisch <clemens@ladisch.de> Tested-by: Clemens Ladisch <clemens@ladisch.de> Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-12-04ALSA: usb-audio: Avoid autopm calls after disconnectionTakashi Iwai
Add a similar protection against the disconnection race and the invalid use of usb instance after disconnection, as well as we've done for the USB audio PCM. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=51201 Reviewd-by: Clemens Ladisch <clemens@ladisch.de> Tested-by: Clemens Ladisch <clemens@ladisch.de> Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-12-03ALSA: hdspm - Remove obsolete settings functionsAdrian Knoth
With HDSPM_TOGGLE_SETTING in place, these functions are no longer required. Removing them makes the code DRY and considerably shorter. Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-12-03ALSA: hdspm - Use HDSPM_TOGGLE_SETTING to alter settingsAdrian Knoth
HDSPM_TOGGLE_SETTING and its corresponding functions allow to change settings in the control register. Instead of using the specialised functions, use the generic code to make the code DRY. Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-12-03ALSA: hdspm - Implement generic function to toggle settingsAdrian Knoth
The driver contains at least six similar functions that change only a single bit in the control register, only the bit position varies. This patch implements a generic function to toggle a certain bit position that will be used to replace the old code. Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-12-03ALSA: hda/realtek - Keep the channel count for multiple speakersTakashi Iwai
The current Realtek driver reconfigures the max PCM channels dynamically according to the value of Channel Mode enum if the multi-io retasking is available. It works fine for multi-io pins. But when multiple speaker pins are available, the channels of speakers also have to obey to the channel mode, which isn't nice. (That is, when you select "2ch" in Channel Mode so that the line-in and mic jack behave as input, you can't play surrounds properly from the built-in speaker.) This patch fixes the problem by taking the channel number for multiple speakers into account in the channel-mode setup code. Also it fixes the wrongly set up max_channels value in the case of multi-io extension. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-12-03Merge tag 'asoc-3.8' of ↵Takashi Iwai
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-next ASoC: Updates for v3.8 Very quiet release for ASoC really: - Standardisation of the logging. - DT and dmaengine support for Atmel. - Support for Wolfson ADSP cores. - New drivers for Freescale/iVeia P1022 and Maxim MAX98090.
2012-12-03ASoC: zoom2: Remove HS mux GPIO handling to avoid kernel crash due to BUG_ON()Peter Ujfalusi
The machine driver try to use GPIO15 of twl4030 for HS MUX which supposed to select between TWL's HSOL/R and tlv320aic3254's HPL/R. The TWL's GPIO allocated dynamically so the (OMAP_MAX_GPIO_LINES + 15) is no longer valid GPIO number causing a kernel crash due to BUG_ON() Also the current machine driver supports only TWL audio currently: there is no need to control the GPIO. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-03ASoC: da7210: Remove unnecessary regmap_exit callSachin Kamat
Use of devm_regmap_init_spi does not require an explicit regmap_exit call. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-03ASoC: wm8994: Allow microphone identification callback to be overriddenMark Brown
Allow custom accessory identification mechanisms to make use of the MICDET support in the device. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-03ASoC: wm8994: Check jack is inserted when handling mic IRQMark Brown
If we've got jack detection support then check that the jack is still inserted when handling a mic IRQ in order to avoid transient reports caused by shorts during the removal process as the two interrupts race with each other. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-03ASoC: wm8994: Support custom accessory identification for WM1811AMark Brown
Allow the user to override the accessory identification code with their own implementation if the system provides an alternative method. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-03ASoC: wm8994: Simplify button detection codeMark Brown
Currently the WM8994 driver allows the WM8958 microphone detection code to be replaced in its entirety, providing a default implementation. This doesn't actually reflect the needs of users well. They generally wish to replace only the accessory identification parts of the algorithm (eg, using an external GPIO to provide the equivalent of the JACKDET support in the WM1811A). In preparation for supporting these users better refactor the existing code so that we have separate identification and button detection callbacks, selecting between them rather than using the mic_detecting flag in the existing callback. This also simplifies the code by introducing a more explicit state machine for the detecting and button states. In anticipation of future refactoring the callback is left in the signature for wm8958_mic_detect(), it will be removed at a later stage. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-03ASoC: wm8994: Stop mic detection whenever we detect an open circuitMark Brown
Jack detection will not do anything to help us detect a microphone when there is a fault in the cable and the debounce we have is enough to avoid getting an intermediate result so halt microphone detection when we detect that one is not present. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-03ASoC: wm5102: Add support for configuring LHPF coefficientsMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-03ASoC: adsp: Set DSP clock rate to SYSCLK rateMark Brown
For simplicity always run the DSP at the SYSCLK rate. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-03ASoC: adsp: Keep ADSP2 memory powered off when not in useMark Brown
Turn off the ADSP memory when we aren't using it, saving a small amount of power. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-02Merge remote-tracking branch 'asoc/topic/wm9090' into asoc-nextMark Brown
2012-12-02Merge remote-tracking branch 'asoc/topic/wm9081' into asoc-nextMark Brown
2012-12-02Merge remote-tracking branch 'asoc/topic/wm8995' into asoc-nextMark Brown
2012-12-02Merge remote-tracking branch 'asoc/topic/wm8994' into asoc-nextMark Brown
2012-12-02Merge remote-tracking branch 'asoc/topic/wm8993' into asoc-nextMark Brown
2012-12-02Merge remote-tracking branch 'asoc/topic/wm8988' into asoc-nextMark Brown
2012-12-02Merge remote-tracking branch 'asoc/topic/wm8985' into asoc-nextMark Brown
2012-12-02Merge remote-tracking branch 'asoc/topic/wm8978' into asoc-nextMark Brown
2012-12-02Merge remote-tracking branch 'asoc/topic/wm8971' into asoc-nextMark Brown
2012-12-02Merge remote-tracking branch 'asoc/topic/wm8962' into asoc-nextMark Brown
2012-12-02Merge remote-tracking branch 'asoc/topic/wm8960' into asoc-nextMark Brown
2012-12-02Merge remote-tracking branch 'asoc/topic/wm8955' into asoc-nextMark Brown
2012-12-02Merge remote-tracking branch 'asoc/topic/wm8804' into asoc-nextMark Brown
2012-12-02Merge remote-tracking branch 'asoc/topic/wm8770' into asoc-nextMark Brown
2012-12-02Merge remote-tracking branch 'asoc/topic/wm8753' into asoc-nextMark Brown
2012-12-02Merge remote-tracking branch 'asoc/topic/wm8750' into asoc-nextMark Brown
2012-12-02Merge remote-tracking branch 'asoc/topic/wm8741' into asoc-nextMark Brown
2012-12-02Merge remote-tracking branch 'asoc/topic/wm8510' into asoc-nextMark Brown
2012-12-02Merge remote-tracking branch 'asoc/topic/wm8400' into asoc-nextMark Brown
2012-12-02Merge remote-tracking branch 'asoc/topic/wm8350' into asoc-nextMark Brown
2012-12-02Merge remote-tracking branch 'asoc/topic/wm2200' into asoc-nextMark Brown
2012-12-02Merge remote-tracking branch 'asoc/topic/wm2000' into asoc-nextMark Brown
2012-12-02Merge remote-tracking branch 'asoc/topic/wm0010' into asoc-nextMark Brown
2012-12-02Merge remote-tracking branch 'asoc/topic/ux500' into asoc-nextMark Brown
2012-12-02Merge remote-tracking branch 'asoc/topic/tlv320aic32x4' into asoc-nextMark Brown