summaryrefslogtreecommitdiffstats
path: root/sound
AgeCommit message (Collapse)Author
2012-02-22ASoC: imx-pcm: Request DMA channel earlyLars-Peter Clausen
Request the DMA channel in the pcm open callback. This allows us to let open fail if there is no dma channel available. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Tested-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-22ASoC: imx-ssi: Set dma data earlyLars-Peter Clausen
Move the call to snd_soc_dai_set_dma_data from the hw_params callback to the startup callback. This allows us to use the dma data in the pcm driver's open callback. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Tested-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-22dmaengine/dw_dmac: Fix dw_dmac user drivers to adapt to slave_config changesViresh Kumar
There are few existing user drivers of dw_dmac. They will break as soon as we remove unused fields from struct dw_dma_slave. This patch focuses to fix these user drivers to use dma_slave_config() routine. Signed-off-by: Viresh Kumar <viresh.kumar@st.com> Signed-off-by: Vinod Koul <vinod.koul@linux.intel.com>
2012-02-22dmaengine: Pass dma_slave_config .device_fc = NULL for all existing usersViresh Kumar
.device_fc is added in struct dma_slave_config recently. All user drivers, which want DMA to be the flow controller must pass this field as false. As earlier driver don't look to use this feature, mark it false for now. Signed-off-by: Viresh Kumar <viresh.kumar@st.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Vinod Koul <vinod.koul@linux.intel.com>
2012-02-22ALSA: hda/via - Add a few sanity checksTakashi Iwai
Added sanity checks in a few places not to assume the pins having the certain amp caps or the input-source being always assigned to a mux. No actual bugs have been triggered by these, but surely better to be a bit more robust. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-22ALSA: hda/via - Don't create duplicated boost controlsTakashi Iwai
The driver may create duplicated mic boost controls when there are multiple mics with the very same type / location, and this leads to the error at actual kcontrol creation. It needs to check the validity of the created control and add a proper index if it's duplicated. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-22ALSA: snd-usb-caiaq: Fix the return of XRUNMark Hills
Commit 3702b08 added a lock, but did not account for the case of SNDRV_PCM_POS_XRUN, which would get immediately overwritten. This could be bundled into one if-else-if statement, but the goto helps to clarify the 'exceptional' case. Thanks to Andreas Pape for spotting this. Signed-off-by: Mark Hills <mark@pogo.org.uk> Acked-by: Daniel Mack <zonque@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-21ASoC: wm8994: Move wm_hubs callback before we start ramping VMIDMark Brown
Allows the generic code to set up for that. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-21Merge tag 'asoc-3.3' of ↵Takashi Iwai
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus A couple of small, driver specific fixes - nothing too exciting going on.
2012-02-21ASoC: wm8996: Convert to use DAPM routes for stream connectionsMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-21ASoC: wm5100: Implement DRC coefficient configurationMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-21ASoC: wm8996: Implement DRC coefficient configurationMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-21ASoC: core: Add support for masking out parts of coefficient blocksMark Brown
Chip designers frequently include things like the enable and disable controls for algorithms in the register blocks which also hold the coefficients. Since it's desirable to split out the enable/disable control from userspace the plain SND_SOC_BYTES() isn't optimal for these devices. Add a SND_SOC_BYTES_MASK() which allows a bitmask from the first word of the block to be excluded from the control. This supports the needs of devices I've looked at and lets us have a reasonably simple API. Further controls can be added in future if that's needed. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
2012-02-21ASoC: core: Add SND_SOC_BYTES control for coefficient blocksMark Brown
Allow devices to export blocks of registers to the application layer, intended for use for reading and writing coefficient data which can't usefully be worked with by the kernel at runtime (for example, due to requiring complex and expensive calculations or being the results of callibration procedures). Currently drivers are using platform data to provide configurations for coefficient blocks which isn't at all convenient for runtime management or configuration development. Currently only devices using regmap are supported, an error will be generated for any attempt to work with a byte control on a non-regmap device. There's no fundamental block to other devices so support could be added if required. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
2012-02-21ASoC: io: Retrieve val_bytes from the regmap APIMark Brown
Allow us to build infrastructure which needs to know the size of a value without requiring regmap based drivers to supply this information to both ASoC and regmap by asking regmap for the value. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
2012-02-21ASoC: mxs-pcm: Remove unused fields from struct mxs_pcm_runtime_dataLars-Peter Clausen
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-21ASoC: imx-pcm: Remove unused fields from imx_pcm_runtime_data structLars-Peter Clausen
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-21ASoC: imx-pcm: Remove empty prepare callbackLars-Peter Clausen
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-21ASoC: wm8994: Support external capacitors on MICBIAS2 with jack detectionMark Brown
When an external capacitor is connected to MICBIAS2 on devices with jack detection (which is not required but may be done in some systems) then the loading may mean that better performance is obtained when the microphone bias is enabled normally rather than using the low power mode. Provide platform data allowing systems to indicate if they require this. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-21ASoC: wm8994: Actively discharge idle MICBIAS with jack detectMark Brown
This minimises the chance of any external capacitors that are fitted being discharged into headphones as they insert. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-21ALSA: hda/realtek - Small code cleanupsTakashi Iwai
A few clean-ups for post-static-quirk time: - Call alc_auto_init_std() statically in alc_init() instead of setting spec->init_hook in each caller. spec->init_hook field is left unused for any future use. - Move the call of set_capture_mixer() to to alc_parse_auto_config() instead of each caller. - Get rid of the ADC-filling and imux check in each parser function. This is no longer needed since the auto-parser always check ADCs and imux. It was only for the static quirks. - Kill unused defines Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-21ALSA: hda/realtek - Fix the wrong offset for two-speaker systemsTakashi Iwai
When the machine has two speakers but wants to put more multi-io jacks, the parser shouldn't consider about the shared DAC but try to assign the individual DACs. Otherwise the channel mapping would be fairly confused and lead to the wrong DACs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-21ALSA: hda/realtek - Fix the possible conflicts of Bass Speaker nameTakashi Iwai
When the multi-io is added to the two speaker output configuration, the parser would try to add yet another "Bass Speaker" control since it checks only cfg->line_outs. Add a workaround for it by simply passing the channel name in the case of multi-io outputs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-21ALSA: hda/realtek - Create individual mute switches for shared DACTakashi Iwai
Even if the outputs are using shared DACs, we can still create individual mute siwtches since they are assigned per pin. This allows to create, e.g. Speaker and Bass Speaker mute switches while the single volume is used for these outputs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-21ALSA: hda/realtek - Fix possible Oops with NULL input_muxTakashi Iwai
When BIOS is damn crazy and gives no pin-config at all, the driver might lead to a NULL dereference. Let's add a NULL check for such a case. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-21ASoC: wm8994: Enable headphone startup mode 1 for WM1811 and WM8958Mark Brown
The latest recommendation for optimal performance. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-21Typos: change aditional to additional.Justin P. Mattock
The below patch fixes some typos "aditional" to "additional", and also fixes a comment with another word mispelled. Signed-off-by: Justin P. Mattock <justinmattock@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2012-02-21ALSA: hda/realtek - Parse aa-loopback items dynamicallyTakashi Iwai
Similarly in patch_via.c, parse the active analog-loopback connections and create a list dynamically rather than static arrays. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-21ALSA: hda/realtek - Remove the last static quirks for ALC882Takashi Iwai
Resitance is futile. The remaining static model quirks for Apple machines with ALC882-compatible codecs are converted to the auto-parser now. We can remove all alc*_quirks.c finally. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-21ASoC: ak4642: fixup HeadPhone L/R dapm settingsKuninori Morimoto
Current ak4642 driver had wrong dapm settings for headphone L/R. If you select headphone L, and select R after that, headphone L setting was removed by R settings. This patch fixes it up. It provides just "Headphone Enable" to user side Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-21ASoC: twl4030: Debug code cleanupPeter Ujfalusi
Replace the printk(KERN_ERR* instances with dev_err in the driver. While we are here clean up some of the debug messages as well. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-21ASoC: wm_hubs: Convert headphone driver to output driver widgetMark Brown
Mostly for neatness, though it may help with sequencing in some situations. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-21ASoC: wm8776: Add WM8775 device ID to the WM8776Mark Brown
The WM8775 is register compatible with the WM8776 so can be supported with the same driver though it is an ADC only part. Add the device ID to the WM8776 driver, further updates will be added in the future. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-20ASoC: ak4104: Convert to module_spi_driver()Mark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-20ASoC: ak4104: Remove uninformative print on probe()Mark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-20ALSA: hda/realtek - Add model=fixup not to apply fix-upsTakashi Iwai
If anyone wants to debug the driver and avoid the existing fix-ups, pass model=nofixup option. Then the driver will skip to pick up the fixup list. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-20ALSA: hda/realtek - Drop all ALC880 static quirksTakashi Iwai
Finally the all static quirks for ALC880 are converted to the auto-parser. Since we are never sure whether the BIOS on so many old machines are really correct, the quirk table entries are copied as they are, but just providing the proper pin-config values accordingly. Since alc880_quirks.c is removed, alc882_quirks.c has to be adjusted slightly to be built again. There might be some compile warnings due to the remaining alc882 quirks, but these shall be killed sooner or later, I don't care it much at this point. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-20ALSA: hda/realtek - Drop model=asus* from ALC880Takashi Iwai
It turned out that BIOS on most of ASUS mobo's set the pin-config tables reasonably well for the auto-parser. We'd need GPIO setups, but should work as is other than that. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-20ALSA: hda/realtek - Rewrite ALC880 model=asus-w1v with auto-parserTakashi Iwai
ASUS W1V has a sane pin-config table set by BIOS. The only missing piece is the setup of GPIO1. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-20ALSA: hda/realtek - Rewrite ALC880 model=z71v with auto-parserTakashi Iwai
ASUS Z71V has a totally broken BIOS setup (at least the info I got), thus we need to override the whole pin-config table to make the auto-parser working correctly. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-20ALSA: hda/realtek - Rewrite ALC880 model=uniwill-dig with auto-parserTakashi Iwai
ALC880 model=uniwill-dig requires the fix-up of bogus BIOS pin default configurations. Other than that, it's pretty normal. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-20ALSA: hda/realtek - Rewrite ALC880 model=uniwill with auto-parserTakashi Iwai
The model=uniwill would work almost as is, but a couple of adjustments are needed to make the mutli-io working correctly. The headphone and speaker pins have to be marked properly in pin configs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-20ALSA: hda/realtek - Rewrite ALC880 model=uniwill-p53 with auto-parserTakashi Iwai
Uniwill p53 has a sane BIOS setup but just needs the volume-knob handling like Fujitsu laptops with ALC880. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-20ALSA: hda/realtek - Rewrite ALC880 model=F1734 with auto-parserTakashi Iwai
Similar as the previous patch for model=fujitsu, we can now move the static quirk for F1734 to the auto-parser. The only difference is the default pin configurations: F1734 has less pins than Amilo's. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-20ASoC: imx/mxs: remove redundant SND_PCM selectionShawn Guo
SND_PCM is already selected by SND_SOC, there is no need for SND_IMX_SOC and SND_MXS_SOC to select it again. Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-20ALSA: hda/realtek - Rewrite ALC880 model=futjisu with auto-parserTakashi Iwai
Now adding the support for the volume-knob widget, we can move the static quirk for ALC880 model=fujitsu to the auto-parser completely. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-20ALSA: hda/realtek - Apply probe-fixup really after probingTakashi Iwai
Move the call of alc_apply_fixup() with ALC_FIXUP_ACT_PROBE after the whole setups of patch_ops & co, so that the fix-up function may override the default setup. This will be needed for installing the own unsol event handler (e.g. for volume-knob controls). Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-20ALSA: Fixed a trailing white space errorJeffrin Jose
This is a patch to the sound/core/misc.c file that fixes up a trailing white space issue found by the checkpatch.pl tool. Signed-off-by: Jeffrin Jose <ahiliation@yahoo.co.in> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-19ASoC: fsi: Add DMAEngine supportKuninori Morimoto
This patch supports DMAEngine to FSI driver. It supports only Tx case at this point. If platform/cpu doesn't support DMAEngine, FSI driver will use PIO transfer. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-19Merge tag 'v3.3-rc4' into for-3.4 in order to resolve the conflictMark Brown
resolved below within the FSI driver and allow the application of the dmaeengine conversion that depends on this resolution. Linux 3.3-rc4 Conflicts: sound/soc/sh/fsi.c