- 03 10月, 2019 1 次提交
-
-
由 Robin Murphy 提交于
If rockchip_pcm_platform_register() fails, e.g. upon deferring to wait for an absent DMA channel, we return without disabling RPM, which makes subsequent re-probe attempts scream with errors about the unbalanced enable. Don't do that. Fixes: ebb75c0b ("ASoC: rockchip: i2s: Adjust devm usage") Signed-off-by: NRobin Murphy <robin.murphy@arm.com> Link: https://lore.kernel.org/r/bcb12a849a05437fb18372bc7536c649b94bdf07.1570029862.git.robin.murphy@arm.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 09 9月, 2019 1 次提交
-
-
由 Katsuhiro Suzuki 提交于
This patch ignores sysclk setting if it is 0Hz. Some codecs treat 0Hz sysclk as signal of applying no constraints. This driver does not have such feature but current implementation outputs 'Failed to set mclk' error message if machine driver sets 0Hz sysclk to this driver. Signed-off-by: NKatsuhiro Suzuki <katsuhiro@katsuster.net> Link: https://lore.kernel.org/r/20190907174332.19586-1-katsuhiro@katsuster.netSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 26 7月, 2019 1 次提交
-
-
由 Cheng-Yi Chiang 提交于
This reverts commit db51707b. Revert "ASoC: rockchip: i2s: Support mono capture" Previous discussion in https://patchwork.kernel.org/patch/10147153/ explains the issue of the patch. While device is configured as 1-ch, hardware is still generating a 2-ch stream. When user space reads the data and assumes it is a 1-ch stream, the rate will be slower by 2x. Revert the change so 1-ch is not supported. User space can selectively take one channel data out of two channel if 1-ch is preferred. Currently, both channels record identical data. Signed-off-by: NCheng-Yi Chiang <cychiang@chromium.org> Link: https://lore.kernel.org/r/20190726044202.26866-1-cychiang@chromium.orgSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 19 6月, 2019 1 次提交
-
-
由 Thomas Gleixner 提交于
Based on 2 normalized pattern(s): this program is free software you can redistribute it and or modify it under the terms of the gnu general public license version 2 as published by the free software foundation this program is free software you can redistribute it and or modify it under the terms of the gnu general public license version 2 as published by the free software foundation # extracted by the scancode license scanner the SPDX license identifier GPL-2.0-only has been chosen to replace the boilerplate/reference in 4122 file(s). Signed-off-by: NThomas Gleixner <tglx@linutronix.de> Reviewed-by: NEnrico Weigelt <info@metux.net> Reviewed-by: NKate Stewart <kstewart@linuxfoundation.org> Reviewed-by: NAllison Randal <allison@lohutok.net> Cc: linux-spdx@vger.kernel.org Link: https://lkml.kernel.org/r/20190604081206.933168790@linutronix.deSigned-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 18 6月, 2018 1 次提交
-
-
由 Jianqun Xu 提交于
This patch makes the rockchip i2s pcm configurable by adding rockchip pcm config for devm_snd_dmaengine_pcm_register. Signed-off-by: NJianqun Xu <jay.xu@rock-chips.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 09 1月, 2018 1 次提交
-
-
由 John Keeping 提交于
When restoring registers during runtime resume, we must not write to I2S_TXDR which is the transmit FIFO as this queues up a sample to be output and pushes all of the output channels down by one. This can be demonstrated with the speaker-test utility: for i in a b c; do speaker-test -c 2 -s 1; done which should play a test through the left speaker three times but if the I2S hardware starts runtime suspended the first sample will be played through the right speaker. Fix this by marking I2S_TXDR as volatile (which also requires marking it as readble, even though it technically isn't). This seems to be the most robust fix, the alternative of giving I2S_TXDR a default value is more fragile since it does not prevent regcache writing to the register in all circumstances. While here, also fix the configuration of I2S_RXDR and I2S_FIFOLR; these are not writable so they do not suffer from the same problem as I2S_TXDR but reading from I2S_RXDR does suffer from a similar problem. Fixes: f0447f6c ("ASoC: rockchip: i2s: restore register during runtime_suspend/resume cycle", 2016-09-07) Signed-off-by: NJohn Keeping <john@metanate.com> Signed-off-by: NMark Brown <broonie@kernel.org> Cc: stable@vger.kernel.org
-
- 08 1月, 2018 1 次提交
-
-
由 Matthias Kaehlcke 提交于
The Rockchip I2S controller only allows to configure even numbers of capture channels. It is still possible to capture monophonic audio by using dual-channel mode and ignoring the 'data' from the second channel. Signed-off-by: NMatthias Kaehlcke <mka@chromium.org> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 15 9月, 2017 1 次提交
-
-
由 John Keeping 提交于
mclk is enabled and disabled only in i2s_runtime_{resume,suspend}() and we ensure that the device is runtime suspended before reaching this clk_disable_unprepare() call, so it is wrong to call it again here. Signed-off-by: NJohn Keeping <john@metanate.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 15 8月, 2017 1 次提交
-
-
由 Markus Elfring 提交于
Omit an extra message for a memory allocation failure in this function. This issue was detected by using the Coccinelle software. Link: http://events.linuxfoundation.org/sites/events/files/slides/LCJ16-Refactor_Strings-WSang_0.pdfSigned-off-by: NMarkus Elfring <elfring@users.sourceforge.net> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 16 6月, 2017 1 次提交
-
-
由 Mark Brown 提交于
Reported-by: NChristophe Jaillet <christophe.jaillet@wanadoo.fr> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 15 6月, 2017 1 次提交
-
-
由 Christophe Jaillet 提交于
If this memory allocation fail, we must disable what has been enabled. Do not return immediately but go thrue the error handling path instead. Also use 'devm_kmemdup' instead of 'devm_kzalloc+memcpy' to simplify code. Signed-off-by: NChristophe JAILLET <christophe.jaillet@wanadoo.fr> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 14 6月, 2017 2 次提交
-
-
由 Sugar Zhang 提交于
in order to guarantee i2s lrck signal integrity, when i2s stop, need at least one lrck cycle to ensure signal integrity. the max delay time is when lrck is 8khz, the delay time is 125us(1/8khz), using udelay(150) with a 25us margin. Signed-off-by: NSugar Zhang <sugar.zhang@rock-chips.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 zhangjun 提交于
simple-audio-card,bitclock-inversion = <1> : bclk falling edge taken simple-audio-card,format = "dsp_a" : pcm no delay mode simple-audio-card,format = "dsp_b" : pcm late 1 mode Signed-off-by: Nzhangjun <zhangjun@rock-chips.com> Signed-off-by: NSugar Zhang <sugar.zhang@rock-chips.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 13 9月, 2016 1 次提交
-
-
由 Sugar Zhang 提交于
when step into runtime_suspend, i2s pd will be disabled and loss state. so need to restore register when runtime_resume. Signed-off-by: NSugar Zhang <sugar.zhang@rock-chips.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 30 5月, 2016 2 次提交
-
-
由 Sugar Zhang 提交于
this patch make it more reasonable and readable, because when we chose I2S_CKR_TRCM_TXONLY, we only output clk_lrck_tx, and hardware need to confirm this signal is wired to external codec lrck_tx/rx at the same time. for convenience, we just handle lrck_txonly if we enable symmetric_rates in driver and dai_link. otherwise, we use the separate lrck_tx/rx. Signed-off-by: NSugar Zhang <sugar.zhang@rock-chips.com> Signed-off-by: NXing Zheng <zhengxing@rock-chips.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Sugar Zhang 提交于
There are 3 i2s sdio pins, which iomux mode is as follows: - sdi3_sdo1 - sdi2_sdo2 - sdi1_sdo3 we need to configure these pins' iomux mode via the GRF register when use multi channel playback/capture. Signed-off-by: NSugar Zhang <sugar.zhang@rock-chips.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 05 5月, 2016 2 次提交
-
-
由 John Keeping 提交于
This reverts commit eba65d17. This broke audio on Veyron Jerry Chromebooks and I now cannot reproduce the problem I was trying to fix even with this commit reverted, so it seems that this was completely the wrong thing to do. Reported-by: NEnric Balletbo Serra <eballetbo@gmail.com> Signed-off-by: NJohn Keeping <john@metanate.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 John Keeping 提交于
This reverts commit 5938448b. It turns out that the commit that made these variables unused is wrong so we're about to revert it. Bring back the variables in prepration. Signed-off-by: NJohn Keeping <john@metanate.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 22 2月, 2016 2 次提交
-
-
由 Sugar Zhang 提交于
this patch add default values for registers according description from TRM. Signed-off-by: NSugar Zhang <sugar.zhang@rock-chips.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Jianqun Xu 提交于
Add devicetree bindings for i2s controller found on rk3399 processors from rockchip. It's helpful to add full set of compatible strings for serials of Rockchip SoCs (rk3066, rk3188, rk3288, rk3399). Acked-by: NRob Herring <robh@kernel.org> Signed-off-by: NJianqun Xu <jay.xu@rock-chips.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 10 1月, 2016 1 次提交
-
-
由 Michael Trimarchi 提交于
Signed-off-by: NMichael Trimarchi <michael@amarulasolutions.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 10 12月, 2015 2 次提交
-
-
由 John Keeping 提交于
The previous commit removed the only use of these variables. Signed-off-by: NJohn Keeping <john@metanate.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 John Keeping 提交于
If we only clear the tx/rx state when both are disabled it is not possible to start/stop one multiple times while the other is running. Since the two are independently controlled, treat them as such and remove the false dependency between capture and playback. Signed-off-by: NJohn Keeping <john@metanate.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 17 11月, 2015 1 次提交
-
-
由 Sugar Zhang 提交于
there maybe more than one i2s module inside chip, and these i2s modules have different channels features. for example: there are 3 i2s in rk3066, one support 8 channels playback and 2 channels capture, but the others only support 2 channels playback and 2 channels capture. in order to compatible with these various chips, we add playback and capture property to specify these values. there are default channels configuration in driver: 8 channels playback and 2 channels capture. if not add property, we use the default values. Signed-off-by: NSugar Zhang <sugar.zhang@rock-chips.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 16 11月, 2015 1 次提交
-
-
由 Caesar Wang 提交于
This patch sets the dividers autonomously. when i2s works on master mode, and sample rates changed. We need to change bclk and lrck at the same time for cpu internal side. As the input source clock to the module is MCLK_I2S, and by the divider of the module, the clock generator generates SCLK and LRCK to transmitter and receiver. Signed-off-by: NCaesar Wang <wxt@rock-chips.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 23 10月, 2015 2 次提交
-
-
由 Sugar Zhang 提交于
share lrck_tx to lrck_rx when symmetric_rates enabled. Signed-off-by: NSugar Zhang <sugar.zhang@rock-chips.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Sugar Zhang 提交于
support max 8 channels capture, please add property 'rockchip,capture-channels' in dts to enable this, if not, support 2 channels capture default. Signed-off-by: NSugar Zhang <sugar.zhang@rock-chips.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 20 8月, 2015 1 次提交
-
-
由 Vaishali Thakkar 提交于
Remove use of snd_soc_unregister_component in remove function as devm_snd_soc_register_component in probe function automatically handles it. Also, convert call of snd_dmaengine_pcm_register to managed resource function devm_snd_dmaengine_pcm_register and remove usage of snd_dmaengine_pcm_unregister in probe and remove functions. Signed-off-by: NVaishali Thakkar <vthakkar1994@gmail.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 08 1月, 2015 1 次提交
-
-
由 Jianqun Xu 提交于
This patch applys rate symmetry for rockchip i2s DAI. Signed-off-by: NJianqun Xu <jay.xu@rock-chips.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 24 12月, 2014 2 次提交
-
-
由 Jianqun Xu 提交于
Set Transmit Data Level(TDL) and Receive Data Level(RDL) to 16 samples. Without this setting, the TDL is default to be 0x00 (means 0 sample), and the RDL is default to be 0x1f (means 32 samples). Signed-off-by: NJianqun Xu <jay.xu@rock-chips.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Jianqun Xu 提交于
Since RK3288 DMAC's burst length only support max to 4, here set maxburst of playback and capture dma data to 4. Signed-off-by: NJianqun Xu <jay.xu@rock-chips.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 29 10月, 2014 1 次提交
-
-
由 Jianqun 提交于
We can get into an infinite loop if the I2S_CLR register fails to clear due to a missing break statement, so add that. Signed-off-by: NJianqun <jay.xu@rock-chips.com> Signed-off-by: NMark Brown <broonie@kernel.org> Cc: stable@vger.kernel.org
-
- 20 10月, 2014 1 次提交
-
-
由 Wolfram Sang 提交于
A platform_driver does not need to set an owner, it will be populated by the driver core. Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
- 08 10月, 2014 1 次提交
-
-
由 Sonny Rao 提交于
We can get into an infinite loop if the I2S_CLR register fails to clear due to a missing break statement, so add that. Signed-off-by: NSonny Rao <sonnyrao@chromium.org> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 14 9月, 2014 4 次提交
-
-
由 Jianqun 提交于
Add playback/capture dma data to snd_soc_dai. Test on RK3288 with max98090. Signed-off-by: NJianqun Xu <jay.xu@rock-chips.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Jianqun 提交于
As "hclk" is used for rockchip I2S controller, driver must to enable it in probe. Tested on RK3288 with max98090. Signed-off-by: NJianqun Xu <jay.xu@rock-chips.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Jianqun 提交于
Reference rockchip I2S controller TRM, modify some registers' property I2S_FIFOLR: read / write, but not volatile, not precious I2S_INTSR: read / write I2S_CLR: volatile, register value will be cleared by read Test on RK3288 with max98090. Signed-off-by: NJianqun Xu <jay.xu@rock-chips.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Jianqun 提交于
Fix error format set to I2S master or slave mode. Test on RK3288 board with max98090. Signed-off-by: NJianqun Xu <jay.xu@rock-chips.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 28 7月, 2014 1 次提交
-
-
由 Wei Yongjun 提交于
There is a error message within devm_ioremap_resource already, so remove the dev_err call to avoid redundant error message. Signed-off-by: NWei Yongjun <yongjun_wei@trendmicro.com.cn> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 15 7月, 2014 1 次提交
-
-
由 JianqunXu 提交于
This resulted from an unfortunate copy/paste to similar DEFINE name. Detected automagically by kbuild. Signed-off-by: xujianqun <xjq@rock-chips.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-