summaryrefslogtreecommitdiff
path: root/sound
AgeCommit message (Collapse)AuthorFilesLines
2015-03-24ASoC: samsung: Add 32khz clock control logic for codec mclk2Inha Song1-1/+18
This patch add 32khz clock control logic for codec's master clock 2(MCLK2). WM1811 codec can use MCLK1 and MCLK2 as FLL's source clocks. Change-Id: Ifc57ae1772db9a905b0d1c101442ccf649d53c6b Signed-off-by: Inha Song <ideal.song@samsung.com>
2014-11-27ASoC: samsung: Add NULL check in i2s.cSachin Kamat1-1/+2
'res' could be NULL from one of the operations above (line 1243). Thus check 'res' for NULL before releasing the region to avoid null pointer dereference. Change-Id: Iade84bccdfb1858c55ccf4cc5ef5ece3d51d9e00 Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-11-27ASoC: samsung: dma: Fix the memory resource leakage issueHuang Chao1-4/+0
After we use kzalloc to allocate memory and make chan point to this block resource, then dma_request_slave_channel will overwrite the pointer chan, which can result to memory leak where chan points to. Change-Id: Ie659df4e1855abc3f57ac3c54e97a6a448dac26e Signed-off-by: Huang Chao <chao7.huang@samsung.com>
2014-11-18ASoC: samsung: Add XUSBXTI power state control function for BT call when ↵Inha Song1-11/+33
sleep state This patch add XUSBXTI power-state control function for BT call when sleep state. When sound codec is enabled and entering sleep mode, XUSBXTI_SYS_PWR_REG must be set to enables for BT call. Change-Id: I5b385aad102e19c38d048609d99736ba13336253 Signed-off-by: Inha Song <ideal.song@samsung.com>
2014-11-18ASoC: samsung: dma: reduce period_bytes value for playback stabilityInha Song1-2/+3
This patch reduce period_bytes_min to 128 bytes and period_bytes_max to 1K bytes. If period_bytes values is too large, underrun error occures in PULSEAUDIO. I/PULSEAUDIO( 1619): alsa-sink.c: Underrun! Change-Id: I33fd95d4748b2016740dd673108377181726df66 Signed-off-by: Inha Song <ideal.song@samsung.com>
2014-11-18ASoC: samsung: dma: reduce period_bytes_max from 64K to 20KKwang-Hui Cho1-0/+4
reduce period_bytes_max from 64K to 20K bytes if period_bytes configured more than that it causes dma pl330 error. Change-Id: Ia5012b0a9452b2c0db43cb469317d1904b4d299b Signed-off-by: Kwang-Hui Cho <kwanghui.cho@samsung.com>
2014-11-18ASoC: samsung: Add ASoC machine driver for Rinato board with YMU831 codecInha Song3-0/+292
This patch add ASoC machine driver for Rinato board with YMU831 codec. Change-Id: Ifaf3417aac668f5a6236f9c74f22a1b92208a79d Signed-off-by: Inha Song <ideal.song@samsung.com> Signed-off-by: Hyunhee Kim <hyunhee.kim@samsung.com>
2014-11-18ASoC: Samsung: i2s: make sure the i2s bus clock is enabled before starting ↵Inha Song1-7/+20
operation This patch add i2s bus clock enable/disable function. If boards does not have Audio Sub System, seperate clock is necessary for i2s bus control. This patch should not effect Exynos4 SoC boards. Change-Id: Ibcc696767526b3bafaa02b08eec2150410e296c8 Signed-off-by: Inha Song <ideal.song@samsung.com>
2014-11-18sound: soc/samsung: i2s: Handle bus clock gatingTomasz Figa1-0/+9
This patch adds handling of controller bus clock gating to make sure that the clock is enabled before starting operation. Change-Id: Ib7069487e3d4477fc6b7d09e411b06bfc3f8f263 Signed-off-by: Tomasz Figa <t.figa@samsung.com>
2014-11-18ASoC: samsung: add Headset dapm widgets for Odroid U3Joonyoung Shim1-1/+2
Odroid U3 can support Headset Stereophone and Headset Mic. Change-Id: Ia682256a21cef262d4539ce0b5f1b9bc54ddffb1 Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
2014-11-18ASoC: samsung: remove unnecessary controls of odroidx2_max98090Joonyoung Shim1-20/+1
The control by user about external connectors is unnecesary. Change-Id: Ib86f8ccccbb462c2ae17853dcc29313220eb407f Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
2014-11-18ASoC: Samsung: I2S: Add quirks as driver data in I2SPadmavathi Venna1-25/+35
Samsung has different versions of I2S introduced in different platforms. Each version has some new support added for multichannel, secondary fifo, s/w reset control and internal mux for rclk src clk. Each newly added change has a quirk. So this patch adds all the required quirks as driver data and based on compatible string from dtsi fetches the quirks. Change-Id: Ib8d12633f3971f59284a5a1ae40d60f40411b2cc Signed-off-by: Padmavathi Venna <padma.v@samsung.com> Reviewed-by: Tomasz Figa <t.figa@samsung.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-11-18ASoC: odroidx2_max98090: Update odroidx2_audio_probe from upstreamHuang Chao1-23/+21
This patch mainly updates the audio probe and remove function from the upstream driver, replace the of_parse_phandle return pointer from the global variables to be local ones. And update the goto error jump symbols. Change-Id: Ie0724f1cc0709f72d4feccda4af60985cb732764 Signed-off-by: Huang Chao <chao7.huang@samsung.com>
2014-11-18ASoC: Samsung: i2s: Check whether other i2s_dai is NULLInha Song1-1/+3
If i2s don't have a secondary i2s dai, other i2s_dai is NULL. So we need to check whether other i2s_dai is NULL before set other->cdclk_out to i2s->cdclk_out in i2s_shutdown function. Signed-off-by: Inha Song <ideal.song@samsung.com>
2014-11-18sound: soc/samsung: i2s: Add DT property to support NO_MUXPSR quirkTomasz Figa1-0/+3
This patch adds property to samsung-i2s DT binding indicating that controller does not have RCLK source selection bit in IISMOD register. Signed-off-by: Tomasz Figa <t.figa@samsung.com>
2014-11-18sound: soc/samsung: i2s: Init clock hierarchy only for audio subsystemTomasz Figa1-5/+7
Clock hierarchy needs to be initialized only for I2S that is a part of Audio Subsystem. Remaining I2S do not need this, so this patch makes the initialization conditional, based on presence of secondary DAI, which is present only in Audio Subsystem I2S block. Signed-off-by: Tomasz Figa <t.figa@samsung.com>
2014-11-18ASoC: ymu831: Add Yamaha YMU831 codec supportInha Song42-0/+71315
Signed-off-by: Inha Song <ideal.song@samsung.com>
2014-11-18ASoC: odroidx2_max98090: Rectify module device table nameHuang Chao1-1/+1
The module device table name should match the OF device id. Change-Id: I2594ab705c9a6a5e86357692cb61c62679a252ed Signed-off-by: Huang Chao <chao7.huang@samsung.com>
2014-11-18ASoC: odroidx2_max98090: Move clock settings from ops to late_probeChen Zhen1-27/+9
after move the clock operations to late_probe,the configuration of clock would be done only once and the ops can be removed altogether. Change-Id: I96b9ffc1374c9404d401728796c8abdfe70f020a Signed-off-by: Chen Zhen <zhen1.chen@samsung.com>
2014-11-18ASoC: samsung-i2s: Maintain CDCLK settings across i2s_{shutdown/startup}Sylwester Nawrocki1-2/+11
Currently configuration of the CDCLK pad is being overwritten in the i2s_shutdown() callback in order to gate the SoC output clock. However if an ASoC machine driver doesn't restore that clock settings each time after opening the sound device this results in the CDCLK pin being permanently configured into input mode. I.e. the output clock will always stay disabled. Fix that by saving the CDCLKCON bit state in i2s_shutdown() and and restoring it in the i2s_startup() callback. Change-Id: Id8852022e385674b07ed79415198aff6814733d8 Signed-off-by: Chen Zhen <zhen1.chen@samsung.com> Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-11-18ASoC: odroidx2_max98090: dapm: Add pin switch controlHuang Chao1-0/+20
This patch enables to control pins information switch by virtual mixer. Change-Id: I02a3546d8aaf69a05e50e71c42b2e9daa03e203c Signed-off-by: Huang Chao <chao7.huang@samsung.com>
2014-11-18ASoC: samsung: dma: Remove the unnecessary dma chan pointer checkHuang Chao1-5/+0
After DMA request slave channel failed and return NULL in dma_open, the snd_dmaengine_pcm_open function will check and handle it. Besides, there is no need to call kfree with NULL argument when a dma_request_slave_channel call fails. Change-Id: I02629dd74b9c535bb134f5516bf3c03a239bd241 Signed-off-by: Huang Chao <chao7.huang@samsung.com>
2014-11-18ASoC: samsung: i2s: Add missing newlines in error messsagesHuang Chao1-2/+2
This is trivial, but generally speaking, linefeed should be the last character of error messages. Change-Id: I49e595989942d8862f25b6348979ddee6645ea51 Signed-off-by: Huang Chao <chao7.huang@samsung.com>
2014-11-18ASoC: samsung: Add missing pm ops assignment for odroidx2_max98090Sylwester Nawrocki1-0/+1
Assign pm ops to this driver so sound keeps working after system suspend/resume cycle. Change-Id: I3ec57d082be5362386947a069dd1904b91c56934 Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
2014-11-18ASoC: samsung: dma: Replace the private pcm operations with the generic onesHuang Chao1-263/+44
This patch reshapes the whole samsung platform driver which is composed by samsung private dmaengine pcm operations, replacing them with the generic asoc dmaengine pcm operations implemented by alsa soc subsystem. The dma channel is requested in open callback, and will be released when the pcm stream is closed. And the pcm trigger operations are also changed to the asoc generic dmaengine based pcm trigger implementation. Change-Id: Ib70b973720e5d57a40c7d583b74c11b971b4776c Signed-off-by: Huang Chao <chao7.huang@samsung.com>
2014-11-18ASoC: samsung: Kconfig: Support sound generic dmaengine pcm operationsHuang Chao1-0/+1
This patch makes the generic dmaengine support for samsung pcm operations, which can be used to substitute for samsung private dmaengine operations. Change-Id: I4ab828fc95199bda7999e1c0c770100000aa2f74 Signed-off-by: Huang Chao <chao7.huang@samsung.com>
2014-11-18ASoC: samsung: i2s: Configure dmaengine playback/capture DAI DMA dataHuang Chao1-17/+18
This patch configures the standard alsa dmaengine configure dai data. The dma address, width and maxburst size will be initialized during cpu dai probe process, in which the address width is assigned with a default value as four bytes. Then when the hardware parameters are configured as playback or capture are started, the dma address width will be configured again according to current sound channels. After the configuration, this patch will set the dai dma data into the private dma data field in snd_soc_dai structure. Change-Id: I46ece6472464d003a19d409441619ebbe4ef30cd Signed-off-by: Huang Chao <chao7.huang@samsung.com>
2014-11-18ASoC: samsung: i2s: Add sound dmaengine playback/capture DAI DMA dataHuang Chao1-0/+3
This patch adds the standard alsa dmaengine configuration dai data, which can make the dma slave channel runtime data be configured by generic sound dmaengine slave config callback. This dmaengine dai configuration data mainly contain dma address, width and maxburst. Change-Id: Ief0688913ef89faafb90a1cf72c8a0977f3cb688 Signed-off-by: Huang Chao <chao7.huang@samsung.com>
2014-11-18ASoC: samsung: i2s: Fix the checked out code style problemsHuang Chao1-3/+2
This patch just fix the code style issues about required space missing and redundant line continuations have been checked out: ./scripts/checkpatch.pl -f ./sound/soc/samsung/i2s.c ERROR: space required before the open brace '{' \#1033: FILE: sound/soc/samsung/i2s.c:1033: + if (!IS_ERR(i2s->op_clk)){ WARNING: Avoid unnecessary line continuations \#1225: FILE: sound/soc/samsung/i2s.c:1225: + dev_err(&pdev->dev, "idma address is not"\ total: 1 errors, 1 warnings, 1398 lines checked ./sound/soc/samsung/i2s.c has style problems, please review. If any of these errors are false positives, please report them to the maintainer, see CHECKPATCH in MAINTAINERS. Change-Id: I51f2bf0f6b203613b3a81d604b69c6e08ed97507 Signed-off-by: Huang Chao <chao7.huang@samsung.com>
2014-11-18ASoC: odroidx2_max98090: Support audio routing specified in DTSylwester Nawrocki1-7/+51
This patch adds support for specifying the audio routing in device tree. Change-Id: Iebbd8d4dff79afba888f4e7620cbf1f2debc81de Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
2014-11-18ASoC: odroidx2_max98090: Allow defining sound card name in DTSylwester Nawrocki1-1/+4
The 'samsung,model' property allows to define the sound card name in device tree, rather than relying on single name coded in the driver for all Odroid boards. Change-Id: Iad446b3d95d578d8d5390af5d0a9d8f9dcdd2a46 Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
2014-11-18ASoC: odroidx2_max98090: Add missing of_node_put() callsSylwester Nawrocki1-2/+19
Ensure the acquired references to the DT nodes are properly released on error paths and upon the driver's removal. Change-Id: I8ffff330041ad6d6adbc1afff3c85154e18dd85d Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
2014-11-18ASoC: odroidx2_max98090: Drop unnecessary of_node checkSylwester Nawrocki1-3/+0
There is no way we can have probe() called with dev->of_node being NULL on Exynos, so remove the unneeded check. Change-Id: Icc815a56d2c0da14240dabc2097836e59117ccac Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
2014-11-18ASoC: odroidx2_max98090: Drop unneeded assignment to NULLSylwester Nawrocki1-3/+0
odroidx2_dai is a static variable so reinitialization of some of its members to NULL can be removed. Change-Id: I8448a6166a5008640ef3fd5d467acbcbc8e3cea9 Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
2014-11-18ASoC: odroidx2_max98090: Make debug logs dev_dbg()Sylwester Nawrocki1-6/+3
It's just a debug information so make it dev_dbg(). While at it use snd_pcm_stream_str() rather than open coding it. Change-Id: Ib3c9820660bc69fb0c98a12762c6c009a55a6020 Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
2014-11-18ASoC: odroidx2_max98090: Indentation changesSylwester Nawrocki1-25/+24
Purely cosmetic, i.e. no functionality changes. Change-Id: I092e33f8a944c495cbb1ba6f1255c9794f4e76fc Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
2014-11-18ASoC: samsung: dma: Add pause/resume support for pcm stream informationHuang Chao1-1/+3
This patch expands the sound pcm hardware information set, which makes dma driver support audio stream pause/resume when playback music, and triggering the push/release commands respectively. Change-Id: I2f89c13afd335c964d144e9ba1b9d101ceb14a0d Signed-off-by: Huang Chao <chao7.huang@samsung.com>
2014-11-18ASoC: samsung: dma: Implement audio stream pause/resume interfacesHuang Chao1-0/+10
This patch implements the pause/resume operations for audio stream when users are playback the music, which will call the correlative pause/resume callbacks from samsung dma operations set. Change-Id: I151a9b48152dab52b9b618c54af4200fecd3fd8a Signed-off-by: Huang Chao <chao7.huang@samsung.com>
2014-11-18ASoC: samsung: odroidx2/u3: Remove unnecessary system clock settingHuang Chao1-9/+0
This patch removes the redundant sysclk setting of odroid cpu_dai. Since the audio working mode has been changed from I2S master mode to I2S slave mode, so we don't need to set the cpu_dai I2S clock mode to operation any more. Besides, the hw_params function will set cpu_dai I2S sysclk to CDCCLK mode, which makes the cpu_dai to use the system clock generated by audio codec max98090. Change-Id: Ia09f9774c07d22991a706eff6553892b9d7ca39c Signed-off-by: Huang Chao <chao7.huang@samsung.com>
2014-11-18ASoC: samsung: odroidx2/u3: Add secondary I2S bind DAI linkHuang Chao1-0/+13
This patch enables the I2S0 secondary DAI and create a related audio playback device node, which will use the internal DMA (IDMA) platform driver for PCM data transfer. IDMA can support up to two channel sound for playback. Change-Id: If7a84437cf0dda6d018ced22f52e4e995b72f01c Signed-off-by: Huang Chao <chao7.huang@samsung.com>
2014-11-18ASoC: samsung: odroidx2/u3: Fix the checking out code style problemHuang Chao1-1/+1
This patch fix the redundant line continuation problem checked over: ./scripts/checkpatch.pl -f ./sound/soc/samsung/odroidx2_max98090.c WARNING: Avoid unnecessary line continuations \#52: FILE: sound/soc/samsung/odroidx2_max98090.c:52: + ((substream->stream == SNDRV_PCM_STREAM_PLAYBACK) ? \ total: 0 errors, 1 warnings, 145 lines checked ./sound/soc/samsung/odroidx2_max98090.c has style problems, please review. If any of these errors are false positives, please report them to the maintainer, see CHECKPATCH in MAINTAINERS. Change-Id: Idf5a7c8a57c06e5b35401c24141d740887c5d65c Signed-off-by: Huang Chao <chao7.huang@samsung.com>
2014-11-18ASoC: samsung: add audio interface support for BT, modem, idmaInha Song1-16/+56
- Support for BT and mode, add Digital Audio Interface 2 and 3. - Support for idma, modify Secondary DAI's cpu_dai_name and platform_name. Change-Id: I90fc3786f043aca9463e255ad3388c2d341fd17b Signed-off-by: Inha Song <ideal.song@samsung.com>
2014-11-18ASoC: samsung: Modify i2s driver to support idmaInha Song1-4/+21
i2s-sec driver uses the internal dma. Because ASoC idma devices are not registered as platform device, asoc_idma_platform_register() should be called for idma registration. Change-Id: Iaf7b0c0e3cdf66f4eda720cd705cf802c391d76b Signed-off-by: Inha Song <ideal.song@samsung.com>
2014-11-18ASoC: Samsung: Add irq member in s3c_dma_params structInha Song1-0/+1
ASoC dma/idma devices are not registered as platform device any more. In order to save irq value, "irq" member is added to the s3c_dma_params data structure. Change-Id: I1bfd0cfd9a6b4d67582dddade52b4eb4822afcac Signed-off-by: Inha Song <ideal.song@samsung.com>
2014-11-18ASoC: Samsung: Don't register idma device as platform deviceInha Song2-23/+11
Previously, the ASoC idma was instantiated via a platform_device. But it was a virtual device with sole purpose to call snd_soc_register_platform(). Each Samsung DAI now registers the ASoC 'platform' itself. Change-Id: Ie1c9b2bdf5522dc085fe2bbb271cd9ceb86252f7 Signed-off-by: Inha Song <ideal.song@samsung.com>
2014-11-18ASoC: samsung: Expand odroidx2 compatible of match tableHuang Chao1-0/+1
This patch updates the compatible match table for odroid. Since the machine driver is not only used on odroidx2 board, but is also used on odroidu3 board, so it's better to expand the compatible match table string for compatibility concern. Change-Id: I668ab8236091d1336a0101142cbbadf6a0e23591 Signed-off-by: Huang Chao <chao7.huang@samsung.com>
2014-11-18upstream: consolidate the reassignments of ->f_op in ->open() instancesAl Viro2-30/+9
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2014-11-18upstream: [media] tea575x: Move from sound to mediaOndrej Zary3-584/+4
Move tea575x from sound/i2c/other to drivers/media/radio Includes Kconfig changes by Hans Verkuil. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Ondrej Zary <linux@rainbow-software.org> Acked-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-11-18upstream: [media] tea575x: Move header from sound to mediaOndrej Zary3-3/+3
Move include/sound/tea575x-tuner.h to include/media/tea575x.h and update files that include it. Signed-off-by: Ondrej Zary <linux@rainbow-software.org> Acked-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-11-18upstream: treewide: relase -> releaseGeert Uytterhoeven1-1/+1
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Jiri Kosina <jkosina@suse.cz>