aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-01-13ASoC: alc5623: Use params_width() rather than memory formatMark Brown1-5/+5
Signed-off-by: Mark Brown <[email protected]>
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: <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
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: <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
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 <[email protected]>
2014-01-10ASoC: fsl_esai: Add ESAI CPU DAI driverNicolin Chen5-0/+1224
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 <[email protected]> Signed-off-by: Mark Brown <[email protected]>
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 <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2014-01-10mfd: wm5110: Add registers for headphone short circuit controlCharles Keepax2-0/+33
Add the registers necessary to enable/disable the headphone short circuit protection. Signed-off-by: Charles Keepax <[email protected]> Acked-by: Lee Jones <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2014-01-10Merge tag 'v3.13-rc3' into asoc-arizonaMark Brown587-3142/+7550
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 <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
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 <[email protected]> Signed-off-by: Mark Brown <[email protected]>
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 <[email protected]> Signed-off-by: Mark Brown <[email protected]>
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 <[email protected]> Signed-off-by: Mark Brown <[email protected]>
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 <[email protected]> Signed-off-by: Mark Brown <[email protected]>
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 <[email protected]> Tested-by: Shawn Guo <[email protected]> Signed-off-by: Mark Brown <[email protected]>
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 <[email protected]> Signed-off-by: Mark Brown <[email protected]>
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 <[email protected]> Signed-off-by: Mark Brown <[email protected]>
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 <[email protected]> Signed-off-by: Mark Brown <[email protected]>
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 <[email protected]> Signed-off-by: Mark Brown <[email protected]>
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 <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2014-01-09ASoC: adav80x: Use params_width() rather than memory formatMark Brown1-16/+14
Signed-off-by: Mark Brown <[email protected]> Acked-by: Lars-Peter Clausen <[email protected]>
2014-01-09ASoC: adau1701: Use params_width() rather than memory formatMark Brown1-18/+16
Signed-off-by: Mark Brown <[email protected]> Acked-by: Lars-Peter Clausen <[email protected]>
2014-01-09ASoC: adau1373: Use params_width() rather than memory formatMark Brown1-5/+5
Signed-off-by: Mark Brown <[email protected]> Acked-by: Lars-Peter Clausen <[email protected]>
2014-01-09ASoC: ad193x: Use params_width() rather than memory formatMark Brown1-5/+5
Signed-off-by: Mark Brown <[email protected]> Acked-by: Lars-Peter Clausen <[email protected]>
2014-01-09ASoC: ad1836: Use params_width() rather than explicit memory formatMark Brown1-5/+5
Signed-off-by: Mark Brown <[email protected]> Acked-by: Lars-Peter Clausen <[email protected]>
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 <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2014-01-09ASoC: fsl-ssi doc: Add list of supported compatiblesMarkus Pargmann1-1/+6
There is no list of compatibles that are supported. This patch adds a list of compatibles to the documentation. Signed-off-by: Markus Pargmann <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2014-01-09ASoC: wm_adsp: Mark wm_adsp2_boot_work as staticCharles Keepax1-1/+1
Signed-off-by: Charles Keepax <[email protected]> Signed-off-by: Mark Brown <[email protected]>
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 <[email protected]>
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 <[email protected]>
2014-01-09ALSA: Remove memory reservation code from memalloc helperTakashi Iwai7-321/+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 <[email protected]>
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 <[email protected]>
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 <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
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 <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
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 <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
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 <[email protected]> Acked-by: Florian Meier <[email protected]> Signed-off-by: Mark Brown <[email protected]>
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 <[email protected]> Signed-off-by: Mark Brown <[email protected]>
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 <[email protected]> Signed-off-by: Mark Brown <[email protected]>
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 <[email protected]> Signed-off-by: Mark Brown <[email protected]>
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 <[email protected]> Signed-off-by: Mark Brown <[email protected]>
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 <[email protected]> Signed-off-by: Mark Brown <[email protected]>
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 <[email protected]> Signed-off-by: Mark Brown <[email protected]>
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 <[email protected]> Signed-off-by: Mark Brown <[email protected]>
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 <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2014-01-08ASoC: fsl-ssi: Move sysfs stats to debugfsMarkus Pargmann1-67/+117
Interrupt statistics of fsl_ssi are mainly for debugging purpose. Most of those interrupts show error states, e.g. under/overflow. The stats should be exposed via debugfs instead of sysfs. This patch moves the statistics file to debugfs. Signed-off-by: Markus Pargmann <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2014-01-08ASoC: fsl-ssi: Fix probe error handlingMarkus Pargmann1-4/+12
This patch fixes the error handling in the fsl-ssi probe function. Signed-off-by: Markus Pargmann <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2014-01-08ALSA: hda - Split Thinkpad ACPI-related codeTakashi Iwai3-187/+105
Both patch_realtek.c and patch_conexant.c contain the fairy same code snippet for supporting Thinkpad ACPI LED controls. Split them into thinkpad_helper.c and include it from both places. Although this isn't the best approach from the code size POV, the probability for coexistence of both Realtek and Conexant codecs on a single machine is pretty low, thus it'll end up with less memory footprint than splitting to yet another module. Signed-off-by: Takashi Iwai <[email protected]>
2014-01-08ASoC: ssm2602: add 16kHz sampling rate supportAndreas Pretzsch1-4/+10
SSM260x also supports 16kHz with external master clocks of 12.000MHz, 12.288MHz and 18.432MHz. Add matching coefficients, update constraints and announced rates. Signed-off-by: Andreas Pretzsch <[email protected]> Acked-by: Lars-Peter Clausen <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2014-01-08ASoC: twl4030: Pass the twl4030_priv directly to twl4030_can_write_to_chip()Peter Ujfalusi1-3/+2
To avoid another lookup for the twl4030_priv in there. Signed-off-by: Peter Ujfalusi <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2014-01-08ASoC: twl4030: Move the ctl cache update local to twl4030_write() functionPeter Ujfalusi1-20/+16
There's no other users of this functionality, the code can be moved inside of twl4030_write. Signed-off-by: Peter Ujfalusi <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2014-01-08ASoC: twl4030: Parameter alignment fixes (for code consistency)Peter Ujfalusi1-48/+45
Over time the multi line alignment got messed up. Correct them in one go so the code will look consistent. Signed-off-by: Peter Ujfalusi <[email protected]> Signed-off-by: Mark Brown <[email protected]>