summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-05-21ASoC: fsl-ssi: Cleanup probe functionMarkus Pargmann1-60/+53
Reorder the probe function to be able to move the second imx-specific block to the seperate imx probe function. The patch also removes some comments/variables/code that are not used anymore or could be simply replaced by other variables. Signed-off-by: Markus Pargmann <mpa@pengutronix.de> Tested-By: Michael Grzeschik <mgr@pengutronix.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-21ASoC: fsl-ssi: Remove useless DMA codeMarkus Pargmann1-37/+3
Simplify dma DT property handling. fsl,ssi-dma-events is not used anymore. It passes invalid data to imx_pcm_dma_params_init_data() which copies some data into an imx dma struct. This struct is never used in imx-dma or imx-sdma because of generic OF DMA handling. The "fsl,ssi-dma-events" is not used anywhere in dts files. Signed-off-by: Markus Pargmann <mpa@pengutronix.de> Tested-By: Michael Grzeschik <mgr@pengutronix.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-21ASoC: fsl-ssi: Move imx-specific probe to seperate functionMarkus Pargmann1-82/+103
Move imx specific probe code to a seperate function. It reduces the size of the probe() function and makes the code and error handling easier to understand. Signed-off-by: Markus Pargmann <mpa@pengutronix.de> Tested-By: Michael Grzeschik <mgr@pengutronix.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-21ASoC: fsl-ssi: Use dev_name for DAI driver structMarkus Pargmann1-8/+3
Instead of creating a name using string manipulation functions, we can simply use the device name for the DAI driver struct. Signed-off-by: Markus Pargmann <mpa@pengutronix.de> Tested-By: Michael Grzeschik <mgr@pengutronix.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-21ASoC: fsl-ssi: Move debugging to seperate fileMarkus Pargmann4-236/+232
Move all code that is only used for debugging to a seperate file. This makes it easier to see what functions are used for debugging only. Signed-off-by: Markus Pargmann <mpa@pengutronix.de> Tested-By: Michael Grzeschik <mgr@pengutronix.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-21ASoC: fsl-ssi: Fix register values when disablingMarkus Pargmann1-5/+35
The bits we have to clear when disabling are different when the other stream is still active. This patch fixes the calculation of new register values after disabling one stream. It also adds a more detailed description of the new register value calculation. Signed-off-by: Markus Pargmann <mpa@pengutronix.de> Tested-By: Michael Grzeschik <mgr@pengutronix.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-21ASoC: mop500_ab8500: Replace instances of rtd->codec->card with rtd->cardLars-Peter Clausen1-1/+1
No need to go via the CODEC to get a pointer to the card. This will help to eventually remove the card field from the snd_soc_codec struct. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-21ASoC: omap: Replace instances of rtd->codec->card with rtd->cardLars-Peter Clausen3-7/+5
No need to go via the CODEC to get a pointer to the card. This will help to eventually remove the card field from the snd_soc_codec struct. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Jarkko Nikula <jarkko.nikula@bitmer.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-21ASoC: ad1980: Replace goto loop with do-while loopLars-Peter Clausen1-20/+19
Using a proper do-while loop here instead of a open-coded goto loop is both cleaner and shorter. Also fixes the following warnings from smatch: sound/soc/codecs/ad1980.c:213 ad1980_reset() info: loop could be replaced with if statement. sound/soc/codecs/ad1980.c:212 ad1980_reset() info: ignoring unreachable code. sound/soc/codecs/ad1980.c:215 ad1980_reset() info: ignoring unreachable code. While we are at it also change retry_cnt to unsigned int, using u16 for a on-stack loop counter doesn't make that much sense. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-19ASoC: Intel: Fix pcm stream context restore crashKevin Strasser1-1/+3
In some cases the pcm stream is closed while context has been scheduled to be restored, causing a null pointer deref panic. Cancel work to ensure stream does not get freed while work is still active/pending. Also, restoring the pcm context can be safely skipped after the stream has been stopped. Check if pcm stream is still running before restoring stream context to help pending work finish more quickly in stream close path. Signed-off-by: Kevin Strasser <kevin.strasser@intel.com> Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-19ASoC: rt5645: Fix updating wrong register for T5645_AIF2 caseAxel Lin1-2/+2
This looks like a copy-paste bug, fix it. Signed-off-by: Axel Lin <axel.lin@ingics.com> Tested-by: Oder Chiou <oder_chiou@realtek.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-19ASoC: Remove needless snd_soc_dapm_enable_pin() from machine driver initsJarkko Nikula15-96/+0
ALSA SoC core marks widgets as connected by default when they are initialized in snd_soc_dapm_new_control() so there is no need to call snd_soc_dapm_enable_pin() from machine driver init functions. Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-19ASoC: Remove needless snd_soc_dapm_sync() from machine driver initsJarkko Nikula3-6/+1
ALSA SoC core takes care of calling snd_soc_dapm_sync() at the end snd_soc_instantiate_card() so there is no need to call it from machine driver init functions. Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-19ASoC: rt5651: Do not use rtd->codecLars-Peter Clausen1-2/+1
rtd->codec does not necessarily point to the CODEC instance for which the callback was called (e.g. for CODEC<->CODEC or multi-CODEC links). Use dai->codec instead. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-19ASoC: cs42xx8: Do not use rtd->codecLars-Peter Clausen1-2/+1
rtd->codec does not necessarily point to the CODEC instance for which the callback was called (e.g. for CODEC<->CODEC or multi-CODEC links). Use dai->codec instead. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Brian Austin <brian.austin@cirrus.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-16ASoC: max98090: Move microphone bias voltage setting to probe functionJarkko Nikula1-7/+3
Microphone bias level configuration register can configure voltage between 2.2 V and 2.8 V but doesn't manage is voltage on or off. Microphone bias on/off state is controlled by "MICBIAS" DAPM widget. Therefore there is no need to update bias voltage conditionally depending on jack state each time when codec goes to SND_SOC_BIAS_ON state and setting can be moved to max98090_probe() as driver currently doesn't support other levels than 2.8 V. Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-16ASoC: max98090: Make sure we configure BCLK in one placeLiam Girdwood2-3/+6
BCL is being configured in two places producing a warning message. Make sure we only configure BCLK once and when we are master. Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-16ASoC: max98090: Add ACPI probing supportJarkko Nikula1-2/+26
Add ACPI ID for MAX98090 and ACPI 5 I2C device probing support. Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-16ASoC: max98090: Mark cache as dirty prior to restoringLiam Girdwood1-0/+2
Make sure the cache is fully flushed at resume time. Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-16ASoC: max98090: Reset codec on resumeLiam Girdwood1-0/+23
Make sure we reset codec and clear any IRQs on resume. This matches the init sequence in probe. Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-16ASoC: max98090: Fix reset at resume timeLiam Girdwood1-0/+3
Reset needs to wait 20ms before other codec IO is performed. This wait was not being performed. Fix this by making sure the reset register is not restored with the cache, but use the manual reset method in resume with the wait. Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org> Cc: stable@vger.kernel.org
2014-05-16ASoC: max98090: Fix digital sidetone gain TLVLiam Girdwood1-1/+2
TLV for digital sidetone volume is wrong, this fix matches it to the datasheet. Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-16ASoC: Intel: remove codec memeber from codec structsVinod Koul3-7/+0
As we already have a memeber struct snd_sst_params.codec to fill this. so removing duplicate instance Signed-off-by: Vinod Koul <vinod.koul@intel.com> Acked-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-16ASoC: Intel: add drain_notify supportVinod Koul2-0/+13
This patch adds the support to implement drain_notify in Intels mfld driver Signed-off-by: Vinod Koul <vinod.koul@intel.com> Acked-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-16ASoC: Intel: Revert "rename pcm dias to media dai"Vinod Koul1-19/+19
This reverts commit 0cac6fc3eb5218fe40d1c2910abc643ab21d9f19. This comiit was dropped from rev2 and would not be required as it renames the platform ops as well which is not required. Signed-off-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-15ASoC: Intel: Fix simultaneous Baytrail SST capture and playbackJarkko Nikula1-1/+1
I managed to drop a change to stream ID setting from commit 49fee1781634 ("ASoC: Intel: Only export one Baytrail DAI") leading to non-working simultaneous capture-playback since after one DAI conversion rtd->cpu_dai->id + 1 will be the same for both playback and capture. Use substream->stream + 1 like it was in original Liam's patch. Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-15ASoC: rsnd: Fix warnings due to improper printk formatsLaurent Pinchart1-7/+7
Use the %pap printk specifier to print resource_size_t variables. This fixes warnings on platforms where resource_size_t has a different size than int. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-14ASoC: Intel: Only export one Baytrail DAILiam Girdwood2-18/+3
We don't need more than one DAI for Baytrail SST. Usage becomes also more straightforward by grouping playback and capture streams under the same PCM device. [Jarkko: I made Liam's sst-baytrail-pcm.c change a few lines smaller and squashed together with my byt-rt5640.c change] Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-14ASoC: Intel: Make Baytrail PCM data per stream rather than per DAI deviceLiam Girdwood1-8/+8
Prepare for single Baytrail DAI playback/capture link by accessing PCM data using stream ID instead of rtd->dev. Now rtd->dev is unique for playback and capture since they are exported as separate DAIs but not once converted to single DAI. [Jarkko: Separated from another commit with updated commit log] Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-14ASoC: compress: indent an if statementDan Carpenter1-2/+3
The return statement was not indented correctly. I lined up the condition a bit as well. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-14Merge remote-tracking branch 'asoc/fix/pcm' into asoc-linusMark Brown1-1/+1
2014-05-14Merge remote-tracking branch 'asoc/fix/dapm' into asoc-linusMark Brown1-5/+10
2014-05-14Merge remote-tracking branches 'asoc/fix/audmux', 'asoc/fix/cs42l52', ↵Mark Brown10-26/+46
'asoc/fix/fsl-esai', 'asoc/fix/fsl-spdif', 'asoc/fix/rcar', 'asoc/fix/tlv320aic31xx' and 'asoc/fix/wm8962' into asoc-linus
2014-05-14ASoC: samsung: Add missing pm ops for Snow sound card driverTushar Behera1-0/+1
Adding missing pm ops so that audio playback works across suspend and resume cycle. Signed-off-by: Tushar Behera <tushar.behera@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-14ASoC: ak4642: Add support for extended sysclk frequencies of the ak4648Sascha Hauer1-0/+20
Additionally to the ak4642 pll frequencies the ak4648 also supports 13MHz, 19.2MHz and 26MHz. This adds support for these frequencies. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-14ASoC: ak4642: Add driver data and driver private structSascha Hauer1-11/+40
Currently unused, this is done to let the driver distinguish between the different supported codec types in later patches. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-14ASoC: ak4642: Add ALC controlsSascha Hauer1-0/+2
ALC and ALC Zero crossing detection has been enabled unconditionally. Add controls for this. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-14ASoC: ak4642: Fix typo zoro -> zeroSascha Hauer1-1/+1
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-13ASoC: rsnd: add DVC supportKuninori Morimoto8-2/+376
This patch adds DVC (Digital Volume Controller) support which is member of CMD unit. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-13ASoC: rsnd: enable to use multi parameter on rsnd_dai_call/rsnd_mod_callKuninori Morimoto1-13/+13
rsnd_mod_ops would like to come to use multi parameter. modify macro to enable it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-13ASoC: rsnd: remove duplicate parameter from rsnd_mod_opsKuninori Morimoto4-94/+65
Now, it can get rsnd_dai_stream pointer from rsnd_mod. Remove duplicate parameter from rsnd_mod_ops Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-13ASoC: rsnd: add rsnd_get_adinr()Kuninori Morimoto3-23/+30
SRC module needs ADINR register settings, but, it has many similar xxx_ADINR register, and needs same settings. This patch adds rsnd_get_adinr() to sharing code. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-13ASoC: rsnd: add rsnd_path_parse() macroKuninori Morimoto1-21/+22
Current R-Car sound supports only SRC/SSI, but, other module will be supported. This patch adds rsnd_path_parse() macro to share code Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-13ASoC: wm8962: Update register CLASS_D_CONTROL_1 to be non-volatileCharles Keepax2-3/+16
The register CLASS_D_CONTROL_1 is marked as volatile because it contains a bit, DAC_MUTE, which is also mirrored in the ADC_DAC_CONTROL_1 register. This causes problems for the "Speaker Switch" control, which will report an error if the CODEC is suspended because it relies on a volatile register. To resolve this issue mark CLASS_D_CONTROL_1 as non-volatile and manually keep the register cache in sync by updating both bits when changing the mute status. Reported-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Tested-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org> Cc: stable@vger.kernel.org
2014-05-13Merge branch 'fix/intel' of ↵Mark Brown11-62/+129
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-intel Conflicts: sound/soc/intel/sst-baytrail-dsp.c
2014-05-13ASoC: Intel: Fix Baytrail SST DSP firmware loadingJarkko Nikula1-1/+1
Commit 10df350977b1 ("ASoC: Intel: Fix Audio DSP usage when IOMMU is enabled.") caused following regression in Baytrail SST: baytrail-pcm-audio baytrail-pcm-audio: error: DMA alloc failed baytrail-pcm-audio baytrail-pcm-audio: error: failed to load firmware Fix this by calling dma_coerce_mask_and_coherent() in sst_byt_init() with the same dma_dev device what is now used in sst_fw_new() when allocating the DMA buffer. Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-13ASoC: Intel: Use ACPI device for Baytrail PCM buffer allocationJarkko Nikula1-5/+3
This follows the same idea than commit 10df350977b1 ("ASoC: Intel: Fix Audio DSP usage when IOMMU is enabled.") by using only ACPI device for all DMA allocations. Since DMA masking is already done in firmware loading it can be removed from here. Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-13ASoC: fsl_esai: Bypass divider settings if clock requirement is not changedNicolin Chen1-3/+20
We don't need to change those dividers if bclk and mclk remains the same directions and values. Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-13ASoC: fsl_esai: Set PCRC and PRRC registers at the end of hw_params()Nicolin Chen1-6/+5
According to Reference Manual -- ESAI Initialization chapter, as the standard procedure of ESAI personal reset, the PCRC and PRRC registers should be remained in its reset value and then configured after T/RCCR and T/RCR configurations's done but before TE/RE's enabling. So this patch moves PCRC and PRRC settings to the end of hw_params(). Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-13ASoC: fsl_esai: Only bypass sck_div for EXTAL sourceNicolin Chen1-1/+7
ESAI can only output EXTAL clock source directly. But for FSYS clock source, ESAI can not output it without getting through PSR PM dividers. So this patch adds an extra check in the code. Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>