summaryrefslogtreecommitdiffstats
path: root/sound
AgeCommit message (Collapse)AuthorFilesLines
2014-01-13ASoC: max98090: Use params_width() rather than memory formatMark Brown1-2/+2
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-13ASoC: max98088: Use params_width() rather than memory formatMark Brown1-3/+3
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-13ASoC: isabelle: Use params_width() rather than memory formatMark Brown1-3/+3
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-13ASoC: da9055: Use params_width() rather than memory formatMark Brown1-5/+5
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-13ASoC: da732x: Use params_width() rather than memory formatMark Brown1-5/+5
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-13ASoC: da7213: Use params_width() rather than memory formatMark Brown1-5/+5
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-13ASoC: da7210: Use params_width() rather than memory formatMark Brown1-5/+5
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-13ASoC: cs42l51: Use params_width() rather than memory formatMark Brown1-9/+5
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-13ASoC: alc5632: Use params_width() rather than memory formatMark Brown1-4/+4
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-13ASoC: alc5623: Use params_width() rather than memory formatMark Brown1-5/+5
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-13ALSA: hda - Don't set indep_hp flag for old AD codecsTakashi Iwai1-8/+8
Some old AD codecs don't like the independent HP handling, either it contains a single DAC (AD1981) or it mandates the mixer routing (AD1986A). This patch removes the indep_hp flag for such codecs. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=68081 Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-01-11ALSA: Enable CONFIG_ZONE_DMA for smaller PCI DMA masksTakashi Iwai1-0/+12
The PCI devices with DMA masks smaller than 32bit should enable CONFIG_ZONE_DMA. Since the recent change of page allocator, page allocations via dma_alloc_coherent() with the limited DMA mask bits may fail more frequently, ended up with no available buffers, when CONFIG_ZONE_DMA isn't enabled. With CONFIG_ZONE_DMA, the system has much more chance to obtain such pages. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=68221 Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-01-11ALSA: PCM: Warn when buffer preallocation failsTakashi Iwai1-0/+5
The failures of buffer preallocations at driver initializations aren't critical but it's still helpful to inform, so that user can know that something doesn't work as expected. For example, the recent page allocator change triggered regressions, but developers didn't notice until recently because the driver didn't complain. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-01-10ASoC: fsl_esai: Add ESAI CPU DAI driverNicolin Chen4-0/+1174
This patch implements a device-tree-only CPU DAI driver for Freescale ESAI controller that supports: - 12 channels playback and 8 channels record. [ Some of the inner transmitters and receivers are sharing same group of pins. So the maxmium 12 output or 8 input channels are only valid if there is no pin conflict occurring to it. ] - Independent (asynchronous mode) or shared (synchronous mode) transmit and receive sections with separate or shared internal/external clocks and frame syncs, operating in Master or Slave mode. [ Current ALSA seems not to allow CPU DAI drivers to configure DAI format separately for PLAYBACK and CAPTURE. So this first version only supports the case that uses the same DAI format for both directions. ] - Various DAI formats: I2S, Left-Justified, Right-Justified, DSP-A and DSP-B. - Programmable word length (8, 16, 20 or 24bits) - Flexible selection between system clock or external oscillator as input clock source, programmable internal clock divider and frame sync generation. Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-10ASoC: wm5110: Add controls for headphone short circuit protectionCharles Keepax1-0/+7
Add controls to enable/disable the headphone short circuit protection of the headphone outputs. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-10Merge tag 'v3.13-rc3' into asoc-arizonaMark Brown23-126/+282
Linux 3.13-rc3
2014-01-10ALSA: ctxfi - Work around emu20k1 glitch to prevent buffered sound data lossSarah Bessmer1-0/+5
Occasionally, on playback stream ringbuffer wraparound, the EMU20K1 hardware will momentarily return 0 instead of the proper current(loop) address. This patch handles that case, fixing the problem of playback position corruption and subsequent loss of buffered sound data, that occurs with some common buffering layout patterns(e.g. multiple simultaneous output streams with differently-sized or non-power-of-2-sized buffers). An alternate means of fixing the problem would be to read the ca register continuously, until two sequential reads return the same value; however, that would be a more invasive change, has performance implications, and isn't necessary unless there are also issues with the value not being updated atomically in regards to individual bits or something similar(which I have not encountered through light testing). I have no EMU20K2 hardware to confirm if the issue is present there, but even if it's not, this change shouldn't break anything that's not already broken. Signed-off-by: Sarah Bessmer <aotos@fastmail.fm> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-01-09ASoC: simple-card: fix the cinfo error checkXiubo Li1-5/+7
If the dt is used and the cinfo is NULL, the -ENOMEM should be return. Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-09ASoC: simple-card: fix a bug where cinfo will be NULL before using itXiubo Li1-1/+1
If the dt is not used, the cinfo will be always NULL before using it. Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-09ASoC: fsl_ssi: Set default slot number for common casesNicolin Chen1-0/+11
For those platforms using DAI master mode like I2S, it's better to pre-set a default slot number so that there's no need for these common cases to set the slot number from its machine driver any more. Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-09ASoC: fsl-ssi: Add missing clk_disable_unprepare() on error in fsl_ssi_probe()Wei Yongjun1-1/+1
Add the missing clk_disable_unprepare() before return from fsl_ssi_probe() in the request irq error handling case. Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-09ASoC: Allow PCMs to restrict the supported formatsLars-Peter Clausen1-1/+4
Some DMA cores might add additional restrictions on which in memory audio formats can be supported by the compound sound card. If the PCM component specifies a set of formats it supports (by setting the formats field to non 0) take these into account when calculating the format set for the compound sound card. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Tested-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-09ASoC: ux500: Don't set unused struct snd_pcm_hardware fieldsLars-Peter Clausen1-15/+0
The ASoC core assumes that the PCM component of the ASoC card transparently moves data around and does not impose any restrictions on the memory layout or the transfer speed. It ignores all fields from the snd_pcm_hardware struct for the PCM driver that are related to this. Setting these fields in the PCM driver might suggest otherwise though, so rather not set them. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-09ASoC: sh: Don't set unused struct snd_pcm_hardware fieldsLars-Peter Clausen3-29/+0
The ASoC core assumes that the PCM component of the ASoC card transparently moves data around and does not impose any restrictions on the memory layout or the transfer speed. It ignores all fields from the snd_pcm_hardware struct for the PCM driver that are related to this. Setting these fields in the PCM driver might suggest otherwise though, so rather not set them. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-09ASoC: nuc900: Don't set unused struct snd_pcm_hardware fieldsLars-Peter Clausen1-3/+0
The ASoC core assumes that the PCM component of the ASoC card transparently moves data around and does not impose any restrictions on the memory layout or the transfer speed. It ignores all fields from the snd_pcm_hardware struct for the PCM driver that are related to this. Setting these fields in the PCM driver might suggest otherwise though, so rather not set them. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-09ASoC: kirkwood: Don't set unused struct snd_pcm_hardware fieldsLars-Peter Clausen1-16/+0
The ASoC core assumes that the PCM component of the ASoC card transparently moves data around and does not impose any restrictions on the memory layout or the transfer speed. It ignores all fields from the snd_pcm_hardware struct for the PCM driver that are related to this. Setting these fields in the PCM driver might suggest otherwise though, so rather not set them. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-09ASoC: intel: Don't set unused struct snd_pcm_hardware fieldsLars-Peter Clausen2-14/+0
The ASoC core assumes that the PCM component of the ASoC card transparently moves data around and does not impose any restrictions on the memory layout or the transfer speed. It ignores all fields from the snd_pcm_hardware struct for the PCM driver that are related to this. Setting these fields in the PCM driver might suggest otherwise though, so rather not set them. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-09ASoC: adav80x: Use params_width() rather than memory formatMark Brown1-16/+14
Signed-off-by: Mark Brown <broonie@linaro.org> Acked-by: Lars-Peter Clausen <lars@metafoo.de>
2014-01-09ASoC: adau1701: Use params_width() rather than memory formatMark Brown1-18/+16
Signed-off-by: Mark Brown <broonie@linaro.org> Acked-by: Lars-Peter Clausen <lars@metafoo.de>
2014-01-09ASoC: adau1373: Use params_width() rather than memory formatMark Brown1-5/+5
Signed-off-by: Mark Brown <broonie@linaro.org> Acked-by: Lars-Peter Clausen <lars@metafoo.de>
2014-01-09ASoC: ad193x: Use params_width() rather than memory formatMark Brown1-5/+5
Signed-off-by: Mark Brown <broonie@linaro.org> Acked-by: Lars-Peter Clausen <lars@metafoo.de>
2014-01-09ASoC: ad1836: Use params_width() rather than explicit memory formatMark Brown1-5/+5
Signed-off-by: Mark Brown <broonie@linaro.org> Acked-by: Lars-Peter Clausen <lars@metafoo.de>
2014-01-09ASoC: fsl-ssi: Fix stats compile warningMarkus Pargmann1-1/+1
single_open requires a function with signature 'int (*)(struct seq_file *, void *)'. This patch fixes the warning by fixing the wrong return type of fsl_ssi_stats_show. Signed-off-by: Markus Pargmann <mpa@pengutronix.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-09ASoC: wm_adsp: Mark wm_adsp2_boot_work as staticCharles Keepax1-1/+1
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-09ALSA: Merge memalloc code into snd-pcm moduleTakashi Iwai2-16/+4
Instead of keeping a separate snd-page-alloc module, merge into the core snd-pcm module, as we don't need to keep it as an individual module due to the drop of page reservation. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-01-09ALSA: Remove superfluous header inclusions in memalloc.cTakashi Iwai1-4/+0
After cutting off the proc and page reservation codes, we don't need many headers any longer. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-01-09ALSA: Remove memory reservation code from memalloc helperTakashi Iwai5-313/+18
Nowadays we have CMA for obtaining the contiguous memory pages efficiently. Let's kill the old kludge for reserving the memory pages for large buffers. It was rarely useful (only for preserving pages among module reloading or a little help by an early boot scripting), used only by a couple of drivers, and yet it gives too much ugliness than its benefit. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-01-09ALSA: Remove memory accounting in memalloc helperTakashi Iwai1-29/+2
It's almost superfluous, and doesn't help much for real uses. Let's reduce the layer size. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-01-09ALSA: hda/hdmi - apply all Haswell fix-ups to Broadwell display codecMengdong Lin1-6/+9
Broadwell and Haswell have the same behavior on display audio. So this patch defines is_haswell_plus() to include codecs for both Haswell and its successor Broadwell, and apply all Haswell fix-ups to Broadwell. Signed-off-by: Mengdong Lin <mengdong.lin@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-01-09ALSA: hda - add codec ID for Broadwell display audio codecMengdong Lin1-0/+2
This patch adds codec ID (0x80862808) and module alias for Broadwell display codec. Signed-off-by: Mengdong Lin <mengdong.lin@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-01-09ALSA: hda - add device ID for Broadwell display audio controllerMengdong Lin1-0/+3
This patch adds the device ID for Intel Broadwell display HD-Audio controller, and applies Haswell properties to this device. Signed-off-by: Mengdong Lin <mengdong.lin@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-01-08ASoC: bcm: Remove obsoleted Kconfig dependencyTakashi Iwai1-1/+0
CONFIG_SND_SOC_DMAENGINE_PCM was renamed to CONFIG_SND_DMAENGINE_PCM recently. And yet we don't have to select it since CONFIG_SND_GENERIC_DMAENGINE_PCM selects the dependency by itself, so just rip it off. Signed-off-by: Takashi Iwai <tiwai@suse.de> Acked-by: Florian Meier <florian.meier@koalo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-08ASoC: wm_adsp: Start DSP booting earlier in the DAPM processCharles Keepax3-13/+38
Move the start of booting the DSP to earlier in the DAPM process, and move the final starting of the DSP to later in the DAPM process. This allows us to overlap some of the processing with other components of the system being brought up. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-08ASoC: wm_adsp: Factor out ADSP2 boot proceedureCharles Keepax2-78/+105
Move the ADSP2 boot proceedure into a work structure in preparation for running it asynchronously with the reset of the audio path bring up. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-08ASoC: fsl-ssi: Drop ac97 specific trigger functionMarkus Pargmann1-53/+8
The normal trigger function can now be used for AC97. Drop AC97 trigger function. Signed-off-by: Markus Pargmann <mpa@pengutronix.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-08ASoC: fsl-ssi: Move RX/TX configuration to seperate functionsMarkus Pargmann1-43/+46
This patch defines the appropriate register values for different oparation modes and IP versions. We have to handle DMA/FIQ, AC97, DEBUG-IRQs and offline/online configuration support. With this patch we cleanup some driver code that was not reference manual conform and try to cleanup the whole trigger function to seperate the actual register values from the enable/disable logic, which is now hidden in fsl_ssi_config helpers. Signed-off-by: Markus Pargmann <mpa@pengutronix.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-08ASoC: fsl-ssi: Add configuration helper functionsMarkus Pargmann1-0/+122
This patch adds a struct 'fsl_ssi_rxtx_reg_val' which holds register values necessary to enable rx/tx. Based on those preset register values, the added configuration functions will cleanly enable/disable different parts of the SSI IP while supporting online/offline configuration. Different operating modes can be setup directly as different register values in fsl_ssi_reg_val. These functions and structs will help to cleanup and simplify the trigger function to support many different IP versions (online/offline configuration) and different operating modes. Signed-off-by: Markus Pargmann <mpa@pengutronix.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-08ASoC: fsl-ssi: Add offline_config flagMarkus Pargmann1-0/+27
imx50-ssi and later versions of this IP support online reconfiguration of all registers. The reference manual does not list any registers that can only be configured while the SSI unit is disabled. This patch introduces the flag for later use. Signed-off-by: Markus Pargmann <mpa@pengutronix.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-08ASoC: fsl-ssi: Fix interrupt stats for imxMarkus Pargmann1-8/+32
irqs should only be requested/released with enabled DMA. Previously interrupt statistics where disabled for IMX Processors because of different writeable SISR bits. This patch introduces support for irqstats on imx processors again by creating a sisr writeback mask and introducing a imx35-ssi compatible. Signed-off-by: Markus Pargmann <mpa@pengutronix.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-08ASoC: fsl-ssi: Add imx51-ssi and of_device_id matchingMarkus Pargmann1-8/+24
There is a small but significant difference between imx21-ssi and imx51-ssi and above. imx21-ssi does not allow online reconfiguration of some registers. They have to be configured at the beginning. imx51-ssi has to reconfigure the SSI unit while it is running. Otherwise it would not be possible to have two streams in parallel. The new SDMA unit in imx51 and above has to be configured before the first DMA request arrives. Therefor we need to setup TDMAE/RDMAE just before starting the stream. This patch introduces distinct imx51-ssi as compatible and adds of_device_id matching in the probe function. Signed-off-by: Markus Pargmann <mpa@pengutronix.de> Signed-off-by: Mark Brown <broonie@linaro.org>