summaryrefslogtreecommitdiff
path: root/sound
AgeCommit message (Collapse)Author
2013-07-25Merge remote-tracking branch 'fsl-linux-sdk/imx_3.0.35_4.1.0' into ↵guoyin.chen
imx_3.0.35_android
2013-07-19ENGR00271718 ASoC: Fix check for symmetric rate enforcementNicolin Chen
This patch is copied from commit 25b7679136fd85b1e5197e36a0ca126163e89590 Just unable to cherry-pick due to different file names. The ASoC core tries to not enforce symmetric rates when two streams open simultaneously. It does so by checking rtd->rate being zero. This works exactly once after booting because it is not set to zero again when the streams close. Fix this by setting rtd->rate when no active stream is left. [This leads to lots of warnings about not enforcing the symmetry in some situations as there's a race in the userspace API where we know we've got two applications but don't know what rates they want to set. -- broonie ] Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Nicolin Chen <b42378@freescale.com>
2013-07-19ENGR00268119 ASoC: WM8962: Fix tilted left-right volume setting for ADCNicolin Chen
In probe(), we set LEFT_ADC_VOLUME but failed to set RIGHT_ADC_VOLUME due to typo during coding, thus fix it. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <b42378@freescale.com> (cherry picked from commit ae3eb591ed9f61579a4217c6ddfd19d32e8f3cc5)
2013-07-15Merge remote-tracking branch 'fsl-linux-sdk/imx_3.0.35_4.1.0' into ↵guoyin.chen
imx_3.0.35_android Conflicts: arch/arm/mach-mx6/Kconfig arch/arm/mach-mx6/board-mx6q_arm2.c arch/arm/mach-mx6/board-mx6q_arm2.h arch/arm/mach-mx6/board-mx6q_hdmidongle.c arch/arm/mach-mx6/board-mx6q_sabreauto.c arch/arm/mach-mx6/board-mx6q_sabreauto.h arch/arm/mach-mx6/board-mx6q_sabrelite.c arch/arm/mach-mx6/board-mx6q_sabresd.c arch/arm/mach-mx6/board-mx6q_sabresd.h arch/arm/mach-mx6/clock.c arch/arm/mach-mx6/pcie.c arch/arm/plat-mxc/include/mach/iomux-mx6q.h arch/arm/plat-mxc/include/mach/pcie.h drivers/dma/imx-sdma.c drivers/input/touchscreen/egalax_ts.c drivers/media/video/mxc/capture/csi_v4l2_capture.c drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c drivers/mxc/mlb/mxc_mlb150.c drivers/mxc/thermal/thermal.c drivers/net/fec.c drivers/usb/host/ehci-arc.c drivers/video/mxc/mxc_ipuv3_fb.c include/linux/fec.h sound/soc/imx/imx-wm8962.c
2013-07-11ENGR00270401 ASoC: imx-wm8962: Add parameters checking for hw_paramsNicolin Chen
WM8962 doesn't support asymmetric parameters for playback and capture, so add hw_params check in machine driver to obviate some potential risks. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <b42378@freescale.com> (cherry picked from commit 85059ec43e34662feca2c58b3a31cf93d79d00bc)
2013-06-04ENGR00265377 ASoC: fm: fix section mismatch during kernel compilingNicolin Chen
Use __devinit instead of __int to fix section mismatch issue. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <b42378@freescale.com>
2013-04-10Merge remote-tracking branch 'fsl-linux-sdk/imx_3.0.35_4.0.0' into ↵guoyin.chen
imx_3.0.35_android
2013-04-10ENGR00257755-4 ASoC: WM8962: Disable FLL when chip's not being usedNicolin Chen
There might be a case that SYSCLK_SRC is not FLL, but FLL's still open. If so, next time we use FLL as SYSCLK_SRC, it won't work normally. This patch disabled FLL if FLL's enabled no matter what SYSCLK_SRC is. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <b42378@freescale.com>
2013-04-10ENGR00257755-3 Revert "ENGR00256933 ASoC: WM8962: Add delay after FLL-enable"Nicolin Chen
This reverts commit 0ed997878dd59c1dac6bf8f9eda412790bdd1df6. We already reverted FLL-enable code in set_fll(), so we don't need delay any more. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <b42378@freescale.com>
2013-04-10ENGR00257755-2 Revert "ENGR00256310 ASoC: imx-wm8962: Fix playback abnormally"Nicolin Chen
This reverts commit 85c5c1eb91a25787f8cdefdb40bcd4735d37270e. With this patch, WM8962 couldn't work normally after SabreSD power-on. So revert it and find a better solution. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <b42378@freescale.com>
2013-04-10ENGR00257755-1 Revert "ASoC: wm8962: Don't automatically enable and disable"Nicolin Chen
This reverts commit 1fe3d0961814ad1fb1c1d691bfb85fc664caab05. With this patch, WM8962 couldn't work normally after SabreSD power-on. So revert it and find a better solution. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <b42378@freescale.com>
2013-04-10ENGR00257755-4 ASoC: WM8962: Disable FLL when chip's not being usedNicolin Chen
There might be a case that SYSCLK_SRC is not FLL, but FLL's still open. If so, next time we use FLL as SYSCLK_SRC, it won't work normally. This patch disabled FLL if FLL's enabled no matter what SYSCLK_SRC is. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <b42378@freescale.com>
2013-04-10ENGR00257755-3 Revert "ENGR00256933 ASoC: WM8962: Add delay after FLL-enable"Nicolin Chen
This reverts commit 739325483d12276b80b34d7916e6cdb6d8774900. We already reverted FLL-enable code in set_fll(), so we don't need delay any more. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <b42378@freescale.com>
2013-04-10ENGR00257755-2 Revert "ENGR00256310 ASoC: imx-wm8962: Fix playback abnormally"Nicolin Chen
This reverts commit 80dd80156772ff155aaf5420e41346674a9521f0. With this patch, WM8962 couldn't work normally after SabreSD power-on. So revert it and find a better solution. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <b42378@freescale.com>
2013-04-10ENGR00257755-1 Revert "ASoC: wm8962: Don't automatically enable and disable"Nicolin Chen
This reverts commit e2bd4d2117e1c78cfd487fb10848f3361b358057. With this patch, WM8962 couldn't work normally after SabreSD power-on. So revert it and find a better solution. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <b42378@freescale.com>
2013-04-03Merge remote-tracking branch 'fsl-linux-sdk/imx_3.0.35_4.0.0' into ↵guoyin.chen
imx_3.0.35_android Conflicts: drivers/net/fec.c
2013-04-02ENGR00256933 ASoC: WM8962: Add delay after FLL-enableNicolin Chen
There's a start-up time after FLL_ENA bit is set. While the driver didn't run the delay code which already exists in the set_fll() function. This patch let the driver run into the delay section, and made it work more perfectly. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <b42378@freescale.com>
2013-04-02ENGR00256310 ASoC: imx-wm8962: Fix playback abnormally slower issueNicolin Chen
Previously, we didn't close FLL after playback/capture, which might cause FLL work werid after a long time suspend. This patch manually disables FLL after playback/capture. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <b42378@freescale.com>
2013-04-02ASoC: wm8962: Don't automatically enable and disable FLLMark Brown
Only enable and disable the FLL when explicitly told to, supporting some additional use cases and making the driver behaviour more standard. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Nicolin Chen <b42378@freescale.com> (cherry picked from commit a968d9db3b3a9329587b09bd15f4981473c63a9d)
2013-04-02ENGR00256933 ASoC: WM8962: Add delay after FLL-enableNicolin Chen
There's a start-up time after FLL_ENA bit is set. While the driver didn't run the delay code which already exists in the set_fll() function. This patch let the driver run into the delay section, and made it work more perfectly. Signed-off-by: Nicolin Chen <b42378@freescale.com>
2013-04-02ENGR00256310 ASoC: imx-wm8962: Fix playback abnormally slower issueNicolin Chen
Previously, we didn't close FLL after playback/capture, which might cause FLL work werid after a long time suspend. This patch manually disables FLL after playback/capture. Signed-off-by: Nicolin Chen <b42378@freescale.com>
2013-04-02ASoC: wm8962: Don't automatically enable and disable FLLMark Brown
Only enable and disable the FLL when explicitly told to, supporting some additional use cases and making the driver behaviour more standard. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Nicolin Chen <b42378@freescale.com> (cherry picked from commit a968d9db3b3a9329587b09bd15f4981473c63a9d)
2013-04-02ENGR00255104 The opening time of cs42888 is very long, about 400msb02247
In this commit 957bc47ffbad8532f0e8f6463946e8c04bc3176f, add msleep(400) for reducing noise in the hw_params, but this time is very long for opening device. In this patch, remove this time and use the "Soft Ramp on Zero Crossings" to reduce the noise. Signed-off-by: b02247 <b02247@freescale.com>
2013-04-01ENGR00256820-2 ASoC: imx-wm8962: Fix incorrect setting of wm8962's FLL sourceNicolin Chen
WM8962's internal FLL is sourced from MCLK on SabreSD, while the machine driver set its source to OSC, which's definitely wrong. So This patch changed its source to MCLK to prevent some potential issue. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <b42378@freescale.com>
2013-04-01ENGR00256820-1 ASoC: WM8962: revert FLL-disable before FLL-settingNicolin Chen
The patch at the commit 30293bc6 dropped FLL-disabling code from wm8962 driver, which was a work around for CR 00209905. Since we fixed the issue in a better way(commit 018958f4), we don't need the work around any more. And in wm8962's datasheet, Wolfson suggests that driver should disable and re-enable the FLL after the other registers're updated. So it's better for us to revert the code to prevent some potential issue. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <b42378@freescale.com>
2013-04-01ENGR00256820-2 ASoC: imx-wm8962: Fix incorrect setting of wm8962's FLL sourceNicolin Chen
WM8962's internal FLL is sourced from MCLK on SabreSD, while the machine driver set its source to OSC, which's definitely wrong. So This patch changed its source to MCLK to prevent some potential issue. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <b42378@freescale.com>
2013-04-01ENGR00256820-1 ASoC: WM8962: revert FLL-disable before FLL-settingNicolin Chen
The patch at the commit 30293bc6 dropped FLL-disabling code from wm8962 driver, which was a work around for CR 00209905. Since we fixed the issue in a better way(commit 018958f4), we don't need the work around any more. And in wm8962's datasheet, Wolfson suggests that driver should disable and re-enable the FLL after the other registers're updated. So it's better for us to revert the code to prevent some potential issue. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <b42378@freescale.com>
2013-03-29ENGR00255104 The opening time of cs42888 is very long, about 400msb02247
In this commit 957bc47ffbad8532f0e8f6463946e8c04bc3176f, add msleep(400) for reducing noise in the hw_params, but this time is very long for opening device. In this patch, remove this time and use the "Soft Ramp on Zero Crossings" to reduce the noise. Signed-off-by: b02247 <b02247@freescale.com>
2013-03-22ENGR00255482 ASoC: HDMI-audio: Add error message for HDMI-video detect failureNicolin Chen
HDMI-audio depends on HDMI-video. If users want to use HDMI-audio function, they need to load HDMI-video first. Sometime users would forget to put video info into U-boot cmdline, "video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24" for example. That might cause HDMI-auido driver fail to detect HDMI-video. Previously, if this happened to system, driver only returned with "ENOMEM" and system would print "Can't allocate memory". This might confuse users due to the vague infomation. Users would be hard to figure out the root cause. So this patch just add some error message to give users a clear indication, and changed the "ENOMEM" error number to the more precise "ENODEV". Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <b42378@freescale.com>
2013-03-22ENGR00255482 ASoC: HDMI-audio: Add error message for HDMI-video detect failureNicolin Chen
HDMI-audio depends on HDMI-video. If users want to use HDMI-audio function, they need to load HDMI-video first. Sometime users would forget to put video info into U-boot cmdline, "video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24" for example. That might cause HDMI-auido driver fail to detect HDMI-video. Previously, if this happened to system, driver only returned with "ENOMEM" and system would print "Can't allocate memory". This might confuse users due to the vague infomation. Users would be hard to figure out the root cause. So this patch just add some error message to give users a clear indication, and changed the "ENOMEM" error number to the more precise "ENODEV". Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <b42378@freescale.com>
2013-03-21ENGR00255029 ASoC: spdif: fix clk_enable/disable() mismatched issueNicolin Chen
The function might be returned if the CNEW wasn't detected, while in this case the code won't disable the clk. This patch just fixed the mismatch. Signed-off-by: Nicolin Chen <b42378@freescale.com>
2013-03-21ENGR00255029 ASoC: spdif: fix clk_enable/disable() mismatched issueNicolin Chen
The function might be returned if the CNEW wasn't detected, while in this case the code won't disable the clk. This patch just fixed the mismatch. Signed-off-by: Nicolin Chen <b42378@freescale.com>
2013-03-14Merge remote-tracking branch 'fsl-linux-sdk/imx_3.0.35_4.0.0' into ↵guoyin.chen
imx_3.0.35_android Conflicts: arch/arm/mach-mx6/board-mx6q_sabresd.c arch/arm/plat-mxc/include/mach/mxc.h drivers/video/mxc/mxc_ipuv3_fb.c sound/soc/imx/imx-wm8962.c
2013-03-13ENGR00253861 Android, No sound from HeadPhoneb02247
WM8962 use the Jack for headphone, So the "switch" event for android need to be changed to jack callback function. Signed-off-by: b02247 <b02247@freescale.com>
2013-03-12ENGR00234501 ASoC: spdif: fix Ubuntu reboot hang issueNicolin Chen
spdif driver registered kcontrol for ALSA subsystem controlling, while some of those kcontrol functions lack of clk_enable() before register-accessing. So system would definitely hang when those functions're called, which did happen during reboot test on Ubuntu due to its pulse-audio. This patch added paired clk_en/disable() to those functions so as to pevent system hang issue. Acked-by: Wang Shengjiu <b02247@freescale.com> Tested-by: Anson Huang <b20788@freescale.com> Signed-off-by: Nicolin Chen <b42378@freescale.com>
2013-03-12ENGR00253290-2 ASoC: imx-wm8962: fix continuous playback distortion issueNicolin Chen
If DAC volume's set to a value that's lower than 0xd8, contineously FLL setting of wm8962 in machine driver would cause playback distortion issue, which happens to ENGR219882. so we have to put some another code in machine driver to prevent distortion issue. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <b42378@freescale.com>
2013-03-12ENGR00253290-1 ASoC: wm8962: fix over-gained audio playback issueNicolin Chen
We put some code to set default volumes in codec driver, but later we found that one of volume was higher than 0db, which would cause over-gained volume. So this patch removed DAC default volume setting, and reverted the volume interface of it to let user control the register from user space. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <b42378@freescale.com>
2013-03-12ENGR00234501 ASoC: spdif: fix Ubuntu reboot hang issueNicolin Chen
spdif driver registered kcontrol for ALSA subsystem controlling, while some of those kcontrol functions lack of clk_enable() before register-accessing. So system would definitely hang when those functions're called, which did happen during reboot test on Ubuntu due to its pulse-audio. This patch added paired clk_en/disable() to those functions so as to pevent system hang issue. Acked-by: Wang Shengjiu <b02247@freescale.com> Tested-by: Anson Huang <b20788@freescale.com> Signed-off-by: Nicolin Chen <b42378@freescale.com>
2013-03-08ENGR00253290-2 ASoC: imx-wm8962: fix continuous playback distortion issueNicolin Chen
If DAC volume's set to a value that's lower than 0xd8, contineously FLL setting of wm8962 in machine driver would cause playback distortion issue, which happens to ENGR219882. so we have to put some another code in machine driver to prevent distortion issue. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <b42378@freescale.com>
2013-03-08ENGR00253290-1 ASoC: wm8962: fix over-gained audio playback issueNicolin Chen
We put some code to set default volumes in codec driver, but later we found that one of volume was higher than 0db, which would cause over-gained volume. So this patch removed DAC default volume setting, and reverted the volume interface of it to let user control the register from user space. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <b42378@freescale.com>
2013-02-27Merge remote-tracking branch 'fsl-linux-sdk/imx_3.0.35' into imx_3.0.35_androidguoyin.chen
Conflicts: arch/arm/mach-mx6/Makefile arch/arm/mach-mx6/board-mx6dl_hdmidongle.h arch/arm/mach-mx6/board-mx6q_hdmidongle.c arch/arm/mach-mx6/board-mx6q_hdmidongle.h arch/arm/mach-mx6/board-mx6q_sabreauto.c arch/arm/mach-mx6/board-mx6q_sabrelite.c drivers/media/video/mxc/capture/csi_v4l2_capture.c drivers/media/video/mxc/capture/ipu_csi_enc.c drivers/mxc/gpu-viv/arch/XAQ2/hal/kernel/gc_hal_kernel_hardware.c drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel.c drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel.h drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal.h drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_compiler.h drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_enum.h drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_options.h drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_device.c drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_driver.c drivers/mxc/vpu/mxc_vpu.c drivers/usb/gadget/arcotg_udc.c drivers/video/mxc/mxc_ipuv3_fb.c drivers/video/mxc_hdmi.c include/linux/mxcfb.h sound/soc/imx/imx-wm8962.c
2013-01-05ENGR00238943 wm8962: add judgement for no det_pin caseGary Zhang
add judgement to avoid no detect pin case Signed-off-by: Gary Zhang <b13634@freescale.com>
2013-01-05ENGR00238809-2 mx6sl: ssi: add IRAM supportGary Zhang
locate SSI playback buffer into IRAM in mx6sl. because left IRAM room is not enough to contain record buffer, if IRAM allocation for record fails, record buffer will use external ram Signed-off-by: Gary Zhang <b13634@freescale.com>
2013-01-04Merge tag 'rel_imx_3.0.35_1.1.0' into imx_3.0.35_androidXinyu Chen
Conflicts: drivers/mxc/vpu/mxc_vpu.c drivers/usb/gadget/arcotg_udc.c sound/soc/imx/imx-wm8962.c
2012-12-19ENGR00236910 wm8962: use alsa jack mechanism to handle pin detectionGary Zhang
use alsa jack mechanism to handle pin detection Signed-off-by: Gary Zhang <b13634@freescale.com>
2012-12-12ENGR00236020-2 wm8962: hp/speaker switching afer resumeGary Zhang
implement headphone and speaker automatically switch even if headphone is plugin/out during suspend Signed-off-by: Gary Zhang <b13634@freescale.com>
2012-12-12ENGR00236020-1 ALSA: add calling of trigger in machine driverGary Zhang
soc_pcm_trigger() calls trigger functions of cpu_dai, codec_dai and platform, but the trigger function of machine is not called. add calling of trigger in machine driver in soc_pcm_trigger() Signed-off-by: Gary Zhang <b13634@freescale.com>
2012-12-11ENGR00236020-2 wm8962: hp/speaker switching afer resumeGary Zhang
implement headphone and speaker automatically switch even if headphone is plugin/out during suspend Signed-off-by: Gary Zhang <b13634@freescale.com>
2012-12-11ENGR00236020-1 ALSA: add calling of trigger in machine driverGary Zhang
soc_pcm_trigger() calls trigger functions of cpu_dai, codec_dai and platform, but the trigger function of machine is not called. add calling of trigger in machine driver in soc_pcm_trigger() Signed-off-by: Gary Zhang <b13634@freescale.com>
2012-11-30Merge remote-tracking branch 'fsl-linux-sdk/imx_3.0.35_1.1.0' into ↵Xinyu Chen
imx_3.0.35_android Conflicts: arch/arm/mach-mx6/board-mx6q_sabrelite.c arch/arm/mach-mx6/board-mx6q_sabresd.c arch/arm/plat-mxc/cpufreq.c