summaryrefslogtreecommitdiff
path: root/sound/soc
AgeCommit message (Collapse)Author
2012-07-20ENGR00178459 mxc_spdif: clk_enable return checksAdrian Alonso
* Add clk_enable return checks, if clocks aren't enabled writting/reading from spdif register will cause system to become unresponsive. * Remove spdif_audio_clk enable/disable calls this clock is not assigned and is reposible for making the system unresposive. Signed-off-by: Adrian Alonso <aalonso@freescale.com>
2012-07-20ENGR00182220 WM8962: set a default volumeGary Zhang
set default volume for headphone and speaker Signed-off-by: Gary Zhang <b13634@freescale.com>
2012-07-20ENGR00181697 HDMI: fix ahb bus error bugChen Liangjun
In ARIK, to prevent noise cause by false triggered burst, we reduce the incr type to 4. and the change may cause bus_error because a burst may unexpectly stop and thus an AHB bus error happens. Reset HDMI Audio FIFO state to prevent AHB bus error. Signed-off-by: Chen Liangjun <b36089@freescale.com>
2012-07-20ENGR00181693 HDMI:threshold and INCR type configChen Liangjun
Configure information for threshold and incr: CHIP + CHANNEL THRESHOLD INCRTYPE ARIK + 2 126 4 ARIK + 4,6,8 124 4 RIGEL + 2,4,6,8 128 8 Signed-off-by: Chen Liangjun <b36089@freescale.com>
2012-07-20ENGR00181201 mx6x HDMI audio add IEC head optimization with C codeSandor Yu
mx6x HDMI audio add IEC head optimization with C code Signed-off-by: Sandor Yu <R01008@freescale.com>
2012-07-20ENGR00181188 Added miss file hdmi_cpm.S for patch ENGR00181130Sandor Yu
Added miss file hdmi_cpm.S for patch ENGR00181130 Signed-off-by: Sandor Yu <R01008@freescale.com>
2012-07-20ENGR00181130 Optimizate HDMI audio mmap to fix HDMI audio alsa underrunSandor Yu
HDMI audio DMA FIFO size is setting to 126, and use INCR4 mode to fix FIFO overflow issue. Added Neon code for PCM data IEC head and data copy. Signed-off-by: Sandor Yu <R01008@freescale.com>
2012-07-20ENGR00180236-2: spdif clk usecount is 1 when not in useAdrian Alonso
* Move spdif_core_clk enable from spdif_probe to spdif_startup function in order to avoid initializing the core clock when module is not in use. * At spdif_shutdown disable spdif core_clk. Signed-off-by: Adrian Alonso <aalonso@freescale.com>
2012-07-20ENGR00180236: mxc_spdif add spdif_clk error checkAdrian Alonso
* Add get_clk clock error check abort driver probe if wrong clock. Signed-off-by: Adrian Alonso <aalonso@freescale.com>
2012-07-20ENGR00180350-2 HDMI set infoframe informationAlan Tull
Get speaker allocation data block information from the EDID. Translate the EDID speaker allocation to audio infoframe speaker allocation (different bit mapping) given the number of channels of audio being played. Set channel count information in HDMI_FC_AUDICONF0. Set speaker allocation information in HDMI_FC_AUDICONF2. From CEA-861-D spec: NOTE—HDMI requires the CT, SS and SF fields to be set to 0 (Refer to Stream Header) as these items are carried in the audio stream. Signed-off-by: Alan Tull <r80115@freescale.com>
2012-07-20ENGR00180297 WM8962: stereo record on AMICGary Zhang
Implement stereo recording feature on analog mic Signed-off-by: Gary Zhang <b13634@freescale.com>
2012-07-20ENGR00171077 ESAI: Ends of record should not impact playbackLionel Xu
The mute process in shutdown function should only be limited to playback, or it will influence each other when they running together. Signed-off-by: Lionel Xu <Lionel.Xu@freescale.com>
2012-07-20ENGR00179127 Audio integration for AMFM module to ARD platformAlejandro Sierra
Audio integration of AMFM module to ARD platform IMX6Q and IMX6DL rev A and rev B boards. Supported on ALSA for kernel 3.0.15. Signed-off-by: Alejandro Sierra <b18039@freescale.com>
2012-07-20ENGR00179725 WM8962: remove 64KHz sample rate supportGary Zhang
because wm8962 codec does not support 64KHz sample rate, no longer declare to support 64KHz: Signed-off-by: Gary Zhang <b13634@freescale.com>
2012-07-20ENGR00179601 Synopsys approved hdmi fifo workaround - rev 3Alan Tull
This patch includes some of the clk enable/disable changes from rev2 Check the version of the HDMI IP to determine whether the fifo threshold needs to be high. The i.Mx6dl version of the HDMI doesn't need the workaround. All other parts of the workaround are used for both parts for code simplicity. ---------------------------------------------------------- For i.Mxq, set the Threshold of audio fifo as: FIFO depth - 2 (fixed and independent of the number of channels actually used). Use unspecified length ahb bursts (using fixed INCRx will make the audio dma fail). Additionally and in order to get it working on all conditions it will be necessary to run the following sw steps at startup of video and audio (or when video changes or audio changes): 1-Configure AUD_N1 and AUD_CTS1 registers with final value and let the AUD_N2, AUD_N3, AUD_CTS2 and AUD_CTS3 to 0s. 2-Configure start and end addresses of audio DMA registers. 3-Start DMA operation 4-Configure the AUD_CTS2 and AUD_CTS3 with the final value. 5-Configure the AUD_N2 and AUD_N3 with final value. Signed-off-by: Alan Tull <r80115@freescale.com>
2012-07-20ENGR00179628-1 SSI: enable dual-fifo feature as defaultGary Zhang
enable SSI dual-fifo feature as default setting Signed-off-by: Gary Zhang <b13634@freescale.com>
2012-07-20ENGR00179367: cs42888 record fix damp routing settingsAdrian Alonso
* Fix cs42888 record DAMP routing settings for ADCx Signed-off-by: Adrian Alonso <aalonso@freescale.com>
2012-07-20ENGR00179226: imx-esai remove tx personal reset during recordAdrian Alonso
* Remove transmitter personal reset during stream record this could potencially block concurrent play/record support. * Remove receiver personal reset calls, rx is always operational. Signed-off-by: Adrian Alonso <aalonso@freescale.com>
2012-07-20ENGR00179230: imx-esai add record support for S24_LE formatAdrian Alonso
* Add record support for S24_LE and S20_3LE bit format. Signed-off-by: Adrian Alonso <aalonso@freescale.com>
2012-07-20ENGR00179122 Fix SRCR configuration on SSI interfaceAlejandro Sierra
SRCR was bad configured on the DAI format configuration function on the imx-ssi.c file. When SSI was configured as master. Signed-off-by: Alejandro Sierra <b18039@freescale.com>
2012-07-20ENGR00178612 ESAI:add support for esai call asrcChen Liangjun
ESAI can call ASRC for sample rate convert if the input sample rate is not support. 1 ESAI will decide whether to use ASRC for sample rate convert in imx-cs42888.c. If ASRC is need, the asrc_enable will be set. 2 In imx-pcm-dma-mx2.c, according to the value of asrc_enable, the dma driver would decide whether to alloc another p2p dma channel to support MEMORY-->ASRC_INPUT-->ASRC_OUTPUT-->ESAI_TX_FIFO route. 3 The code support 2 channel,24/32 bit audio file playback. Signed-off-by: Chen Liangjun <b36089@freescale.com>
2012-07-20ENGR00178916: imx-esai improve dump regs formatAdrian Alonso
* Improve dump regs format to easily correlate register content. * Update copyrigth year. Signed-off-by: Adrian Alonso <aalonso@freescale.com>
2012-07-20ENGR00177281-5 WM8962: add record featureGary Zhang
1. add amic and dmic support. 2. update wm8962 codec driver Signed-off-by: Gary Zhang <b13634@freescale.com>
2012-07-20ENGR00177581-3 WM8962: add wm8962 codec driverGary Zhang
add wm8962 audio codec driver Signed-off-by: Gary Zhang <b13634@freescale.com>
2012-07-20ENGR00177098 HMDI mmap support in isr could underflowAlan Tull
Take out mmap functionality. Signed-off-by: Alan Tull <r80115@freescale.com>
2012-07-20ENGR00176374 SPDIF TX Fix channel status bit orderAlan Tull
The channel status bits in STCSCH and STCSCL are reverse of how they are defined in asoundef.h. Signed-off-by: Alan Tull <r80115@freescale.com>
2012-07-20ENGR00170526-4 ESAI: To resolve the playback no sound issue occasionally happenLionel Xu
There is no sound output any longer sometimes after several times of playback, this platch is trying to resolve this issue by: 1)move the global power control bit setting from function hw_params/shutdown to DAPM, thererfor the PWN bit will not be set/unset each time playback; 2) Signed-off-by: Lionel Xu <Lionel.Xu@freescale.com>
2012-07-20ENGR00170526-3 ESAI: Remove the workaround to reset codec before playbackingLionel Xu
Previously in order to avoid audio playback no sound issue, a hardware reset was made to the codec chip each time when doing playback. now remove this workaround. Signed-off-by: Lionel Xu <Lionel.Xu@freescale.com>
2012-07-20ENGR00175219-8 wm8958: add clock managementGary Zhang
1. add clko_clk clock management 2. use 'Headphone Jack' name Signed-off-by: Gary Zhang <b13634@freescale.com>
2012-07-20ENGR00175219-4 wm8958: add audio codec supportGary Zhang
add two channels record support. Signed-off-by: Gary Zhang <b13634@freescale.com>
2012-07-20ENGR00175219-3 wm8958: add audio codec supportGary Zhang
add wm8958 audio codec support Signed-off-by: Gary Zhang <b13634@freescale.com>
2012-07-20ENGR00171079-6 imx-cs42888 sabreauto esai configAdrian Alonso
* imx-cs42888 config esai for sabreauto support * Select lrclk_ratio according to mclk_freq * Set clkdiv relations * Add safer codec reset, request and free gpio Signed-off-by: Adrian Alonso <aalonso@freescale.com>
2012-07-20ENGR00171079-4 cs42888 imx6q-sabreauto supportted ratesAdrian Alonso
* Get audio codec platform data and overwrite supportted sample rates if defined in machine board file. * Remove machine soc specific sample rate settings. Signed-off-by: Adrian Alonso <aalonso@freescale.com>
2012-07-20ENGR00174925 HDMI Kernel panic whatever plug in or plug outAlan Tull
Panic is due to runtime being a NULL pointer. Signed-off-by: Alan Tull <r80115@freescale.com>
2012-07-20ENGR00174809 hdmi audio oops in hdmi_dma_mmap_copyAlan Tull
Runtime dma_area may be invalid after trigger stop command. This will cause an oops in hdmi_dma_mmap_copy. To fix this, disable mmap copying with trigger stop command and also check the runtime->dma_area before doing hdmi_dma_mmap_copy. Signed-off-by: Alan Tull <r80115@freescale.com>
2012-07-20ENGR00173964 make hdmi audio init dependent on hdmi video initAlan Tull
Don't show hdmi as an audio playback device if hdmi isn't configured on the command line. Signed-off-by: Alan Tull <r80115@freescale.com>
2012-07-20ENGR00174437 ESAI: Add cs42888 build support in Makefile.Lionel Xu
Add cs42888 build support. Signed-off-by: Lionel Xu <Lionel.Xu@freescale.com>
2012-07-20ENGR00172342-2 EDID parse audio data blocksAlan Tull
Add functionality to parse Audio Data Blocks from EDID data to find out what modes of LPCM are suppored by the HDMI sink device. The parsed settings are saved in the hdmi mfd. The HDMI audio driver will check the settings when the audio stream is opened and will then apply appropriate constraints. If we are unable to read from the EDID, then we default to supporting Basic Audio as defined by the HDMI specification (stereo, 16 bit, 32KHz, 44.1KHz, 48KHz PCM). Signed-off-by: Alan Tull <r80115@freescale.com>
2012-07-20ENGR00173869-9: i.mx6dl: add the misc drivers supportJason Liu
This patch change is very trivial and simply just add cpu_is_mx6dl() or using cpu_is_mx6 to replace cpu_is_mx6q each driver owner will check it and adjust it accordingly later, such as sdhc etc. Signed-off-by: Jason Liu <r64343@freescale.com>
2012-07-20ENGR00173810 clean up rej fileAlan Tull
Makefile.rej got committed from doing cherry-pick for kernel upgrade from 2.6.38 to 3.0.15 Signed-off-by: Alan Tull <r80115@freescale.com>
2012-07-20ENGR00171536 HDMI handle mmapped audio buffersAlan Tull
The ALSA userspace requires mmapped buffer access to support sample rate conversion. Our hardware requires the driver to add frame information to the pcm data. For non-mmap access, the snd_pcm_ops' copy routine will do it. For mmap access, we have to do it in the isr. This is not ideal, but it will work. Signed-off-by: Alan Tull <r80115@freescale.com>
2012-07-20ENGR00172395-2 MX6Q_ARM2: add sgtl5000 audio driverGary Zhang
add sgtl5000 driver for MX6Q_ARM2 in config file Signed-off-by: Gary Zhang <b13634@freescale.com>
2012-07-20ENGR00172427 SPDIF: Add spdif build support.Alan Tull
Add spdif to Makefile. Signed-off-by: Alan Tull <r80115@freescale.com>
2012-07-20ENGR00172374-7 Sound: Asoc: fix the snd_soc_resume resume crashJason Liu
[ 330.922320] [<800417e0>] (__bug+0x1c/0x24) from [<8007b4dc>] (__queue_work+0x24c/0x3f0) [ 330.930333] [<8007b4dc>] (__queue_work+0x24c/0x3f0) from [<8007b6e0>] (queue_work_on+0x38/0x40) [ 330.939039] [<8007b6e0>] (queue_work_on+0x38/0x40) from [<8007d568>] (queue_work+0x2c/0x58) [ 330.947401] [<8007d568>] (queue_work+0x2c/0x58) from [<803b83a4>] (snd_soc_resume+0x98/0xb8) [ 330.955852] [<803b83a4>] (snd_soc_resume+0x98/0xb8) from [<80280aa4>] (platform_pm_resume+0x2c/0x4c) [ 330.964996] [<80280aa4>] (platform_pm_resume+0x2c/0x4c) from [<80284388>] (pm_op+0xe4/0x11c) [ 330.973441] [<80284388>] (pm_op+0xe4/0x11c) from [<80284780>] (device_resume+0x78/0x13c) [ 330.981537] [<80284780>] (device_resume+0x78/0x13c) from [<802849d0>] (dpm_resume+0x144/0x194) [ 330.990154] [<802849d0>] (dpm_resume+0x144/0x194) from [<80284a2c>] (dpm_resume_end+0xc/0x18) [ 330.998692] [<80284a2c>] (dpm_resume_end+0xc/0x18) from [<8009cf18>] (suspend_devices_and_enter+0x78/0xb8) [ 331.008355] [<8009cf18>] (suspend_devices_and_enter+0x78/0xb8) from [<8009d010>] (enter_state+0xb8/0xe4) [ 331.017842] [<8009d010>] (enter_state+0xb8/0xe4) from [<8009c5b4>] (state_store+0x8c/0xc0) [ 331.026116] [<8009c5b4>] (state_store+0x8c/0xc0) from [<80223b20>] (kobj_attr_store+0x18/0x1c) [ 331.034740] [<80223b20>] (kobj_attr_store+0x18/0x1c) from [<801352ec>] (sysfs_write_file+0x104/0x184) [ 331.043969] [<801352ec>] (sysfs_write_file+0x104/0x184) from [<800e4ce8>] (vfs_write+0xb4/0x148) [ 331.052762] [<800e4ce8>] (vfs_write+0xb4/0x148) from [<800e4e4c>] (sys_write+0x40/0x70) [ 331.060781] [<800e4e4c>] (sys_write+0x40/0x70) from [<8003e380>] (ret_fast_syscall+0x0/0x30) The commit:c4e133f ASoC: core: Don't schedule deferred_resume_work twice commit c4e133f4e253b57e5d4409964a3b51f2d887e94b Author: Stephen Warren <swarren@nvidia.com> Date: Wed May 25 14:06:41 2011 -0600 ASoC: core: Don't schedule deferred_resume_work twice commit 82e14e8bdd88b69018fe757192b01dd98582905e upstream. For cards that have two or more DAIs, snd_soc_resume's loop over all DAIs ends up calling schedule_work(deferred_resume_work) once per DAI. Since this is the same work item each time, the 2nd and subsequent calls return 0 (work item already queued), and trigger the dev_err message below stating that a work item may have been lost. Solve this by adjusting the loop to simply calculate whether to run the resume work immediately or defer it, and then call schedule work (or not) one time based on that. Note: This has not been tested in mainline, but only in chromeos-2.6.38; mainline doesn't support suspend/resume on Tegra, nor does the mainline Tegra ASoC driver contain multiple DAIs. It has been compile-checked in mainline. Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> changed the defaut behaviour for non-ac97 class which cause deferred_resume_work was scheduled not by desire when card->num_rdt is zero. Signed-off-by: Jason Liu <r64343@freescale.com>
2012-07-20ENGR00172008 HDMI audio continues playing after doing ctrl-zAlan Tull
The bug is that HDMI audio continues playing after doing ctrl-z, repeating playing a small part of the buffer. Mask HDMI audio irq when we receive SNDRV_PCM_TRIGGER_STOP command. Unmask when we receive SNDRV_PCM_TRIGGER_START. Signed-off-by: Alan Tull <r80115@freescale.com>
2012-07-20ENGR00170453-1 ssi: disable ssi2 clk after probeGary Zhang
disable ssi2 clk after init ssi. Signed-off-by: Gary Zhang <b13634@freescale.com>
2012-07-20ENGR00171026 SGTL5000: remove mono supportGary Zhang
there is a issue on 24bit mono transmit of sgtl5000, temporarily disable mono support Signed-off-by: Gary Zhang <b13634@freescale.com>
2012-07-20ENGR00170999 Fix the record end, playback muteb02247
SGTL5000_VAG_POWERUP used by record and playback. when playback and record are opened, close one of them will cause the other mute Signed-off-by: b02247 <b02247@freescale.com>
2012-07-20ENGR00170453 SSI: close ssi_clk when idleGary Zhang
close ssi_clk when ssi is idle. Signed-off-by: Gary Zhang <b13634@freescale.com>
2012-07-20ENGR00170627 imx-cs42888: overwrite codec_name if passed as platform dataAdrian Alonso
* Overwrite codec_name if passed as platform data * Add codec_name in mxc_audio_platform_data * Codec name follows the naming convention <codec>.<i2c-channel>-<codec i2c address> i.e. cs42888.0-0048 * For IMX6Q-ARD this name convention doesn't follow previous settings for imx6q platforms codec is on different i2c channel and can't be resolved by CONFIG macros on imx_3stack_dai data structure; So we overwrite in probe function by getting the correct value from plat_data->codec_name. Signed-off-by: Adrian Alonso <aalonso@freescale.com>