summaryrefslogtreecommitdiff
path: root/sound
AgeCommit message (Collapse)Author
2015-03-09ASoC: sgtl5000: Fix VAG_POWER enabling/disabling orderEric Nelson
Backport of commit dd4d2d6 from main-line. The VAG_POWER must be enabled after all other bits in CHIP_ANA_POWER and disabled before any other bit in CHIP_ANA_POWER. See the SGTL5000 datasheet (Table 31, BIT 7, page 42-43). Failing to follow this order will result in ugly loud "POP" noise at the end of playback. To achieve such order, use the _PRE and _POST DAPM widgets to trigger the power_vag_event, where the event type check has to be fixed accordingly as well. Signed-off-by: Marek Vasut <marex@denx.de> Signed-off-by: Mark Brown <broonie@linaro.org> Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com> (cherry picked from commit ff27114ab094a3a662e3c770794a62522ea3a83b)
2015-03-09ASoC: sgtl5000: remove useless register write clearingEric Nelson
CHRGPUMP_POWERUP The SGTL5000_CHIP_ANA_POWER register is cached. Update the cached value instead of writing it directly. Upstream-status: sent Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com> (cherry picked from commit 309abdeda8c9331013f25b1a1209d9ce8334237b)
2015-03-09ASoC: sgtl5000: add delay before first I2C accessEric Nelson
Updated to match patch sent to mainline. Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com> (cherry picked from commit b6a502e0748578efc2ba55c8c8c9a59c760b0f70)
2015-03-09ASoC: sgtl5000: add delay before first I2C accessEric Nelson
Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com> (cherry picked from commit df3d987038f53c8a76f28b3e6b374d0cc7941fed)
2015-03-09ASoC: sgtl5000: add delay before first I2C accessEric Nelson
Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com> (cherry picked from commit 750009656f7c56a19339864c137566611157f6ba)
2015-03-09Revert "ASoC: sgtl5000: Fix driver probe after reset"Eric Nelson
This reverts commit 3d64385594ab68f6818fac19e40e8a587790f8cf. Pull from mainline was naive and requires additional precursor work. (cherry picked from commit 74cfed78c018c768a6026aef0781b8429276efcc)
2015-03-09ASoC: sgtl5000: Fix driver probe after resetFabio Estevam
After a 'reboot' command in Linux or after pressing the system's reset button the sgtl5000 driver fails to probe: sgtl5000 0-000a: Device with ID register ffff is not a sgtl5000 sgtl5000 0-000a: ASoC: failed to probe CODEC -19 imx-sgtl5000 sound.12: ASoC: failed to instantiate card -19 imx-sgtl5000 sound.12: snd_soc_register_card failed (-19) sgtl5000 codec does not have a reset line, nor a reset command in software, so after a system reset the codec does not contain the default register values from sgtl5000_reg_defaults[] anymore, as these are only valid after a power-on-reset cycle. Fix this issue by explicitly reading all the reset register values from sgtl5000_reg_defaults[] and writing them back into sgtl5000 to ensure a sane state. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Tested-by: Eric Nelson <eric.nelson@boundarydevices.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> (cherry picked from commit 281a32f28fe1304f366cc54c490cdf2bb20ca818)
2015-03-09ASoC: sgtl5000: Fix SMALL_POP bit definitionFabio Estevam
On a mx28evk with a sgtl5000 codec we notice a loud 'click' sound to happen 5 seconds after the end of a playback. The SMALL_POP bit should fix this, but its definition is incorrect: according to the sgtl5000 manual it is bit 0 of CHIP_REF_CTRL register, not bit 1. Fix the definition accordingly and enable the bit as intended per the code comment. After applying this change, no loud 'click' sound is heard after playback Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Mark Brown <broonie@kernel.org> Cc: stable@vger.kernel.org (cherry picked from commit a3e2b6b00e0ece0e8e45f9afa17dc211f5578c5e)
2014-07-07regulator: allow GPIO 0 to be used for an enable signalMax Krummenacher
GPIO number 0 *is* legal and must be accepted. Set .ena_gpio to -ENODEV on regulators having no GPIO in preparation of a code change to accept GPIO 0 in the config.
2014-06-23mxc_spdif.c: set the validity bit to 'valid'Max Krummenacher
Each spdif sample is qualified by the validity bit. The bit shall be logic '0' if the audio sample is valid. This commit configures the transmitter to always send '0' rather than always send '1'.
2014-05-05sgtl5000: fix reboot audio by restoring power up conditionShawn Guo
2014-04-03ENGR00306875-1 Revert "ENGR00305624-2 ASoC: imx-hdmi-dma: Correct the appl ↵Nicolin Chen
pointer" After change the pointer, ALSA lib would re-copy the initial data to DMA buffer because the pointer is pointing the zero position at the beginning, which results an audiable duplicated playback at the first eight periods. Even though dropping this patch would cause pointer being incorrectly estimated. But to maintain the sanity of basic playback, we revert the previous patch. This reverts commit 5d0d4e1558fa0c235691436e1c5d26d9c8950775. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
2014-03-27ENGR00305624-2 ASoC: imx-hdmi-dma: Correct the appl pointerNicolin Chen
We might not be able to get appl_ptr, so we estimated it by using hw_ptr, while the distance between then should not be 2 * priv->period_bytes initially but 8 * priv->period_bytes as we pri-filled one entire buffer size at the beginning. The driver's memory access might be overlapped with ALSA's buffer updating. So this patch fixes this inaccurate distance. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
2014-03-27ENGR00305624-1 ASoC: imx-hdmi-dma: Use neon data copy functionNicolin Chen
Use neon data copy function as default to improve data copy performance so that we can prevent some noise issue happening to HDMI audio due to the performance issue. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
2014-03-25ENGR00304914-1 ASoC: imx-hdmi-dma: Limit period size for 6DQNicolin Chen
The HDMI IP in i.MX6DQ has a bug that it limits the dma period size within 8K. Patch 'ENGR00300188-1 ASoC: imx-hdmi-dma: Double the buffer and period sizes' doubled the period size which works great with Dual Lite but broke the HDMI audio function on DQ. Thus fix it for 6DQ case. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
2014-03-11ENGR00300188-2 ASoC: imx-hdmi-dma: Clear offset in the trigger initNicolin Chen
The offset reflects the current position of DMA access in the ALSA ring buffer. So we should clear it before re-start DMA engine becasue the DMA access should re-start its job from the 0 position. If we don't do this, the driver might get a wrong idea about current position of DMA access. Thus fix it. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com> (cherry picked from commit 8f265543ffda0a19e3f469967a7d61d8b344f080)
2014-03-11ENGR00300188-1 ASoC: imx-hdmi-dma: Double the buffer and period sizesNicolin Chen
We found HDMI Audio has a performance issue when playback 8 channels 192KHz files, CPU might lag its interrupt responsing while SDMA continues updating HDMI internal AHB DMA's address and restarting AHB DMA, which resulted the noise when AHB DMA access overlaps with the data copy procedures in this driver. Thus we here double the buffer size and period size of HDMI Audio to chop the CPU interrupt to its half in the same span of time so that we can keep the data copy procedures safe and provent it from overlapping access with AHB DMA. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com> (cherry picked from commit 04af1a351e016f52276ae002fd9f64b6b2962168)
2014-02-19ENGR00299756-5 ASoC: fsl_esai: Add default init for ESAI after probe()Nicolin Chen
This patch extracts the register init code for ESAI along with the default slot number which is more common to I2S and LEFT_J mode. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com> (cherry picked from commit ad9c7ab4ff75488c0cc44bcc5d87af2d5d1139cf)
2014-02-19ENGR00299756-4 ASoC: imx-cs42888: Use ESAI LEFT_J master modeNicolin Chen
This patch sets ESAI as LEFT_J format master so as to let ESAI provide bit clock and frame clock for stability. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com> (cherry picked from commit 38df16f71c95e2aa8e0b4c1ddd2ed7ec2c4fef4b)
2014-02-19ENGR00299756-1 ASoC: fsl_esai: Add missing clock enabler to ASoC interfacesNicolin Chen
All of these functions might be called before we enable the core clock in the startup() by set_bias_level() or late_probe() in machine driver for example. To make it safe, we here add pair of clock en/disabling to each function. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com> (cherry picked from commit e6df36df2bc8062f3d1c0a19d18acc843a77619d)
2014-01-16ENGR00295423-5 Revert "ENGR00274386-1 ASoC: imx-wm8962: Fix 192KHz playback ↵Nicolin Chen
slow issue" The root cause of playback slow issue should be trying to get DSPCLK_DIV before enabling SYSCLK of WM8962. Since we have a patch fixed it, we can revert this work round. This reverts commit 49a3ca545a88cdf4aa597c4dd7d904b4faaea555. Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com> (cherry picked from commit a4d253a8ab038661f515d72a175eb11688774874)
2014-01-16ENGR00295423-4 ASoC: fsl_ssi: Set the default slot number in startup()Nicolin Chen
Set a default slot number in startup() so that those who use I2S or other 2-channel DAI format would not need to call set_dai_tdm_slot() in their machine drivers. Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com> (cherry picked from commit eb22fac84c62cccb98dc4503bc9a537c435d216b)
2014-01-16ENGR00295423-3 ASoC: fsl_ssi: Don't disable SSIEN if SSI is already enabledNicolin Chen
If disabling SSI when SSI is already in the working state, the whole running substream would be broken. Thus we here replace it to a safer way -- saving the current SSIEN value and restore it afterward. This patch also adds a slot number checking code before setting slot number. Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com> (cherry picked from commit 2f71335a5b39afec4cf976b45683e5de1baed31d)
2014-01-16ENGR00295423-2 ASoC: fsl_ssi: Don't set clock rate in hw_params()Nicolin Chen
Leaving clk_set_rate() in hw_params() is a bit dangerous when handling two substreams. So we let set_sysclk() finish the clk_set_rate() directly. This patch also adds spinlock to protect the baud clock configuration so that it won't be broken during race. Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com> (cherry picked from commit d3818ba35e4cbb6a3fa769eb83ceb7335b7c19e6)
2014-01-16ENGR00295423-1 ASoC: fsl_ssi: Implement full symmetry for synchronous modeNicolin Chen
Since we introduced symmetric_channels and symmetric_samplebits, we can implement these new feature to SSI synchronous mode and drop the useless code accordingly. Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com> (cherry picked from commit 63a818ebd8fa88d8a91faa491c4f7909e7c8bdd5)
2014-01-16ASoC: wm8962: Enable SYSCLK provisonally before fetching generated DSPCLK_DIVNicolin Chen
DSPCLK_DIV can be only generated correctly after enabling SYSCLK. But if the current bias_level hasn't reached SND_SOC_BIAS_ON, DAPM won't enable SYSCLK, which would cause the calculation result from DSPCLK_DIV invalid since bit DSPCLK_DIV will be finally turned to its true value after DAPM enables SYSCLK while the driver won't calculate it again for the current instance. In this circumstance, a playback which needs non-zero DSPCLK_DIV would be distorted due to unexpected clock frequency resulted from an invalid DSPCLK_DIV value. So this patch provisionally enables the SYSCLK to get a valid DSPCLK_DIV for calculation and then disables it afterward. Signed-off-by: Nicolin Chen <b42378@freescale.com> Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org> (cherry picked from commit 75704ecfbb4124139b78b71dd603f05d61abe689) (cherry picked from commit 46ff60a75d0db92848913435bc345def2a2ccc5e)
2014-01-16ASoC: soc-pcm: Use valid condition for snd_soc_dai_digital_mute() in hw_free()Nicolin Chen
The snd_soc_dai_digital_mute() here will be never executed because we only decrease codec->active in snd_soc_close(). Thus correct it. Signed-off-by: Nicolin Chen <b42378@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org> (cherry picked from commit 7f62b6ee767586ee7e5d12787dbaaaf47a91979a) (cherry picked from commit 7ff4bd4a786d049cd4bc7306920e01f348acdaca)
2014-01-16ASoC: soc-pcm: move DAIs parameters cleaning into hw_free()Nicolin Chen
We're now applying soc_hw_params_symmetry() to reject unmatched parameters while we clear parameters in soc_pcm_close(). So here's a use case might be broken by this mechanism: aplay -Dhw:0 44100.wav 48000.wav 32000.wav In this case, we call soc_pcm_open()->soc_pcm_hw_params()->soc_pcm_hw_free() ->soc_pcm_hw_params()->soc_pcm_hw_free()->soc_pcm_close() in order. As we only clear parameters in soc_pcm_close(). The parameters would be remained in the system even if the playback of 44100.wav is finished. Thus, this patch is trying to move parameters cleaning into hw_free() so that the system can continue to serve this kind of use case. Also, since we set them in hw_params(), it should be better to clear them in hw_free() for symmetry. Signed-off-by: Nicolin Chen <b42378@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org> (cherry picked from commit d3383420c969c25deffd33270ebe321e8401191a) (cherry picked from commit eb745901177ab907ee2ec2ab8c8ca9b4deb0e35a)
2014-01-16ASoC: soc-pcm: add symmetry for channels and sample bitsNicolin Chen
Some SoCs can only work in mono or stereo mode at one time. So if we let them capture a mono stream while playing a stereo stream, there might be a problem occur to one of these two streams: double paced or slowed down. In soc-pcm.c, we have soc_pcm_apply_symmetry() to apply the rate symmetry. But we don't have one for channels. Likewise, we can treat symmetric_rate as a solution for those SoCs or CODECs which can not handle asymmetrical LRCLK. But it's also impossible for them to handle asymmetrical BCLK. And accodring to BCLK = LRCLK * channel number * slot size(fixed or sample bits), sample bits might also be a problem if they are not using a fixed slot size. Thus, this patch applys symmetry for channels and sample bits. Meanwhile, there might be a race between two substreams if starting simultaneously. Previously, we only added warning to compalin but still using conservative way to let it carry on. However, this patch rejects the second stream with any unmatched parameter to make sure the first existing stream won't be broken. Signed-off-by: Nicolin Chen <b42378@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org> (cherry picked from commit 3635bf09a89cf92b80ac44198c5c8f0989624ea6) (cherry picked from commit bb3317659966b170d9481fad887df8808774c696)
2013-11-29ENGR00290229 ASoC: fsl: Drop snd_soc_dapm_sync() in imx-wm8962Nicolin Chen
As DAPM would do the sync() for us, we don't need to handle it by ourselves. And leaving snd_soc_dapm_sync() here is dangerous because it would disable the clock from WM8962 during the short period of the output route changing since we don't leave the alternative route's enanbling to this machine driver but to DAPM core. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <b42378@freescale.com>
2013-11-27ENGR00289643-2 ASoC: fsl: Add missing spba clock for esai and spdifNicolin Chen
Both esai and spdif are using SDMA script to transmit and receive data while the essential spba clock is missed in the current two drivers. Thus add them. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <b42378@freescale.com>
2013-11-21ENGR00264453 asoc: when codec probe failed, alsa return RETRY error.Shengjiu Wang
If there is no codec device, the machine driver will not register the card. then alsa will not return RETRY error. update the error handling for machine driver. Add for cs42888 and si476x. update dts file for sound-fm. Signed-off-by: Shengjiu Wang <b02247@freescale.com>
2013-11-19ENGR00288421-3 ASoC: fsl_ssi: Move i2s_mode from static to ssi_privateNicolin Chen
It's no good to use static variable because there might be several drivers calling the function and the value would be overwritten by all of them. Thus we move it into ssi_private. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <b42378@freescale.com>
2013-11-19ENGR00288421-2 ASoC: fsl_spdif: Ignore system clock due to potential riskNicolin Chen
The current clock selecting mechanism would choose a clock and set its rate later when using it. It might be feasible for other clock sources but not for sysclk -- ipg clock. Changing ipg clock rate in specific driver would be a dangerous operation, so we here ingore the sysclk and will restore it after we accomplish a better mechanism. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <b42378@freescale.com>
2013-11-19ENGR00288421-1 ASoC: fsl_spdif: Use correct clock for Rx clock rate calculationNicolin Chen
According to the Reference Manual, we should use system clock to calculate rx clock rate instead of spdif own clock. Thus add system clock to spdif driver and replace the incorrect one in rate calculation. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <b42378@freescale.com>
2013-11-13ENGR00286961-5 ASoC: fsl: set tdm slot number for imx-si476xNicolin Chen
When using SSI I2S master mode, we need to decide the time slot number. Because we use SSI normal mode to trick I2S signal, we here need to set time slot number to two (left/right). Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <b42378@freescale.com>
2013-11-13ENGR00286961-4 ASoC: fsl_ssi: add monaural audio supportNicolin Chen
We use SSI's normal mode to trick I2S signal by fetching data only from one side of time slot so that we can purely get or put the monaural audio data. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <b42378@freescale.com>
2013-11-13ENGR00286961-2 ASoC: fsl_ssi: Move DC configuration to set_dai_tdm_slot()Nicolin Chen
DC indicates Frame Rate Divider. By setting it we can get a desired time slot numbers. Thus it should be more plausible to set DC in set_dai_tdm_slot() instead of hw_params(). Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <b42378@freescale.com>
2013-11-13ENGR00286961-1 ASoC: fsl_ssi: add period size constraint for dual fifo modeNicolin Chen
When using dual fifo mode, we need to keep period size as an even number due to behavior of SDMA script. Otherwise, it might neglect the 2nd fifo at each period when its size appears to be an odd number. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <b42378@freescale.com>
2013-11-08ASoC: generic-dmaengine-pcm: Use SNDRV_DMA_TYPE_DEV_IRAM as defaultNicolin Chen
When allocating memory space for DMA buffer, use on-chip internal SRAM as default choice to save power. Since the core would allocate memory from traditional external memory if iram allocation failed, we don't need to worry about any side effect. Signed-off-by: Nicolin Chen <b42378@freescale.com> Acked-by: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Mark Brown <broonie@linaro.org> Signed-off-by: Takashi Iwai <tiwai@suse.de> (cherry picked from commit ca2b029515b4a81bbedcffc69a5d9574bb5ba475)
2013-11-05sound/core/memalloc.c: use gen_pool_dma_alloc() to allocate iram bufferNicolin Chen
Since gen_pool_dma_alloc() is introduced, we implement it to simplify code. Signed-off-by: Nicolin Chen <b42378@freescale.com> Acked-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2013-11-05ALSA: memalloc: Yet another ifdef CONFIG_GENERIC_ALLOCATOR protectionTakashi Iwai
I obviously forgot to merge the right version... Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Nicolin Chen <b42378@freescale.com>
2013-11-05ALSA: Add ifdef CONFIG_GENERIC_ALLOCATOR for SNDRV_DMA_TYPE_IRAM codeTakashi Iwai
It turned out that we can't use gen_pool_*() functions on archs without CONFIG_GENERIC_ALLOCATOR (resulting in missing symbols), since linux/genalloc.h doesn't provide dummy functions for all. We'd be able to fix linux/genalloc.h size, but I take an easier path for now... Reported-by: Fengguang Wu <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Nicolin Chen <b42378@freescale.com>
2013-10-30ENGR00283079-1 ASoC: fsl: Implement different DMA buffer sizesNicolin Chen
Each CPU DAI driver has its own defined DMA buffer size, so this patch just drops the original one that uses a fixed size for all drivers and implements a different DMA buffer size to each driver. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <b42378@freescale.com>
2013-10-30ALSA: Add SoC on-chip internal ram support for DMA buffer allocationNicolin Chen
Now it's quite common that an SoC contains its on-chip internal RAM. By using this RAM space for DMA buffer during audio playback/record, we can shutdown the voltage for external RAM to save power. So add new DEV type with iram malloc()/free() and accordingly modify current default mmap() for the iram circumstance. Signed-off-by: Nicolin Chen <b42378@freescale.com> Reviewed-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-10-30ASoC: fsl_spdif: Remove redundant semicolonSachin Kamat
Redundant semicolon at the end of brace is removed. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org> Signed-off-by: Nicolin Chen <b42378@freescale.com>
2013-10-30ASoC: fsl_spdif: Select regmap-mmioMark Brown
The S/PDIF driver needs regmap so select it to make sure it gets included in the build. Reported-by: Fengguang Wu <fengguang.wu@intel.com> Acked-by: Nicolin Chen <b42378@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org> Signed-off-by: Nicolin Chen <b42378@freescale.com>
2013-10-30ENGR00281859-3 ASoC: fsl: Prepare dmaengine before submit itNicolin Chen
ASRC and HDMI audio might meet unexpected stop, 'ctrl+z' for example, and then disable its sdma channel. But after 'fg' resume, because sdma channel's status has already been set into DMA_ERROR, we need to prepare dmaengine again to clear its error state, otherwise sdma driver would bypass its channel enabling and 'Input/Output error' would happen to ALSA lib. The combined prepare and submit are also being used in soc-dmaengine, the common ASoC dmaengine driver. And since we already use a proper way to handle sdma channel status, there's no need to make an exception for HDMI any more, so drop it. Signed-off-by: Nicolin Chen <b42378@freescale.com>
2013-10-30ENGR00281859-2 ASoC: fsl: Use priv instead of params for imx-hdmi-dmaNicolin Chen
'params' might be confused with snd_pcm_hw_params, so use 'priv' instead. Signed-off-by: Nicolin Chen <b42378@freescale.com>
2013-10-30ENGR00280852 ASoC: fsl: Use generic function dmaengine_prep_dma_cyclic()Nicolin Chen
Use generic dmaengine_prep_dma_cyclic() in imx-hdmi-dma.c and fsl-asrc.c Signed-off-by: Nicolin Chen <b42378@freescale.com>