Age | Commit message (Collapse) | Author |
|
The slow downed ramp causes a higher voltage level at the turn off time
generating an audible pop noise.
Signed-off-by: Klaus Goger <klaus.goger@theobroma-systems.com>
|
|
Many devices require MCLK to work, So add mclk
Change-Id: I666e46c8968330afd81506d0c64769b59ad0837d
Signed-off-by: Xiaotan Luo <lxt@rock-chips.com>
|
|
This issue was caused by two cards using the same dai(cpu_dai/codec_dai).
the second one will fail to register as a card, then will release the
same dai resource, leading to the first card crash.
[ 79.032274] Unable to handle kernel paging request at virtual address ffffffffffffffe0
[ 79.035543] Hardware name: Rockchip RK3399 Excavator Board edp (Android) (DT)
[ 79.036171] task: ffffffc0dd126c00 task.stack: ffffffc0d109c000
[ 79.036717] PC is at dapm_widget_invalidate_output_paths+0x98/0xe0
[ 79.037268] LR is at soc_dapm_dai_stream_event+0x60/0x9c
[ 79.184613] Call trace:
[ 79.192401] [<ffffff80088e9028>] dapm_widget_invalidate_output_paths+0x98/0xe0
[ 79.193044] [<ffffff80088ea0d0>] soc_dapm_dai_stream_event+0x60/0x9c
[ 79.193611] [<ffffff80088eeb9c>] snd_soc_dapm_stream_event+0x44/0x94
[ 79.194175] [<ffffff80088e515c>] snd_soc_suspend+0x23c/0x2fc
[ 79.194686] [<ffffff800852d1f0>] platform_pm_suspend+0x38/0x54
[ 79.195208] [<ffffff8008536e88>] dpm_run_callback+0x110/0x1bc
[ 79.195726] [<ffffff8008537578>] __device_suspend+0x164/0x2a4
[ 79.196242] [<ffffff80085392b0>] dpm_suspend+0x70/0x338
[ 79.196713] [<ffffff8008539ab0>] dpm_suspend_start+0x64/0x68
[ 79.197226] [<ffffff80080f0b9c>] suspend_devices_and_enter+0x74/0x2d8
[ 79.197800] [<ffffff80080f140c>] pm_suspend+0x60c/0x668
[ 79.198272] [<ffffff80080ef7b4>] state_store+0x50/0x84
[ 79.198734] [<ffffff800839d128>] kobj_attr_store+0x14/0x24
[ 79.199234] [<ffffff8008232fd8>] sysfs_kf_write+0x38/0x50
[ 79.199718] [<ffffff8008232208>] kernfs_fop_write+0x124/0x180
[ 79.200237] [<ffffff80081bf76c>] __vfs_write+0x38/0xfc
[ 79.200695] [<ffffff80081bffd4>] vfs_write+0x9c/0x170
[ 79.201153] [<ffffff80081c0a18>] SyS_write+0x5c/0xbc
[ 79.201604] [<ffffff80080832f0>] el0_svc_naked+0x24/0x28
[ 79.202079] Code: 54000081 f9408000 d1040000 17ffffef (39406025)
[ 79.202693] ---[ end trace dec5980253348a7f ]---
Change-Id: I6bbbeefaa68a7d5dfccc1bba57d61216b4be1035
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
|
|
Change-Id: I54c968f8fcf37cc4d7a52137ac0aac57d4367dc7
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
|
|
There is playback's sound L/R channel conversion problem when recording is opened
Change-Id: Iae7160e25bdd834df9904fbd34fe964449c93560
Signed-off-by: Binyuan Lan <lby@rock-chips.com>
|
|
Change-Id: Ie9d1d4fc8854cc4111cbb1a324525f849c5c470a
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
|
|
Change-Id: I8a2a113df7fd427634e1a1f81632725d7d4ecdc0
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
|
|
Change-Id: I64dcc55a993e00eee91a6fdf9ec6cd18ef40d3e1
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
|
|
Change-Id: I38ce7b06ff265213908e45edcda38f146e78a736
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
|
|
From the TRM, the MIC PGA gains for 8 ADCs:
- version A:
0dB, 20dB
- version B:
0dB, 6.6dB, 13dB, 20dB
Change-Id: I9cf758708ec80afe06340f48a2f71f24654f36fe
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
|
|
Change-Id: I35cd9fc3e237b5abd6c9a81099b3a35a01f427c0
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
|
|
Change-Id: I23b3e58ad361ad026e836dc19e1f727c350046f1
Signed-off-by: Jianhui Wang <wjh@rock-chips.com>
|
|
Change-Id: I5881829fe29729784d1f16d918f932062664b961
Signed-off-by: Jianhui Wang <wjh@rock-chips.com>
|
|
Change-Id: I0e21dac2b89230250b70de217afc28447501a906
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
|
|
If we use the channels which are less than en_always_grps_num,
we don't need to set the flag to skip_grps which are not used.
And, the skip grps need to refer to mapped_grps
For example, if:
rockchip,en-always-grps = <1 2 3>;
rockchip,adc-grps-route = <2 1 3 0>;
The DUT startup and capture 2ch at first, we just open grp2
and set skip_grp[2]=1.
Then, if we capture 4ch, we just skip grp2, open grp1, and
set skip_grp[1]=1.
To capture 6ch: we skip grp2/grp1, open grp3 and set skip_grp[3]=1.
To capture 8ch: we skip grp2/grp1/grp3 and open grp0.
Change-Id: I88c0b220ce0e714abafda1be3c895ad1c5c9ddca
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
|
|
Change-Id: I850fb7a2745320ff4e325905cdf2cab625419977
Signed-off-by: Leo Wen <leo.wen@rock-chips.com>
|
|
Change-Id: Ibe8edc413df2944464848ba81afdc447edbd405e
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
|
|
This patch simplifies the mclk calculation to 128fs, which
is generally required in some receivers.
Change-Id: I2914ab57453ee5f764885fa8fa9dacd44a67e775
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
|
|
git://git.linaro.org/kernel/linux-linaro-stable.git
* linux-linaro-lsk-v4.4-android: (812 commits)
Linux 4.4.167
mac80211: ignore NullFunc frames in the duplicate detection
mac80211: fix reordering of buffered broadcast packets
mac80211: ignore tx status for PS stations in ieee80211_tx_status_ext
mac80211: Clear beacon_int in ieee80211_do_stop
mac80211_hwsim: Timer should be initialized before device registered
kgdboc: fix KASAN global-out-of-bounds bug in param_set_kgdboc_var()
tty: serial: 8250_mtk: always resume the device in probe.
cifs: Fix separator when building path from dentry
Staging: lustre: remove two build warnings
xhci: Prevent U1/U2 link pm states if exit latency is too long
SUNRPC: Fix leak of krb5p encode pages
virtio/s390: fix race in ccw_io_helper()
virtio/s390: avoid race on vcdev->config
ALSA: pcm: Fix interval evaluation with openmin/max
ALSA: pcm: Call snd_pcm_unlink() conditionally at closing
ALSA: pcm: Fix starvation on down_write_nonblock()
ALSA: hda: Add support for AMD Stoney Ridge
ALSA: usb-audio: Fix UAF decrement if card has no live interfaces in card.c
USB: check usb_get_extra_descriptor for proper size
...
Conflicts:
drivers/gpu/drm/rockchip/rockchip_drm_drv.c
drivers/usb/host/xhci-ring.c
Change-Id: I4304b0875908403a7d88a0d77da52cea04563c11
|
|
This patch fix the wrong reg value for rk322x/rk322xh,
cuz there is no STORE JUSTIFIED MODE on it.
on rk322x/rk322xh, the same bit means PDM_MODE/RESERVED,
if the bit is set to RESERVED, the controller will not work.
Change-Id: I9bfc055e792d73a66f51c78c7c2ff5c4cba620ae
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
|
|
This patch marks RXFIFO_DATA as precious to avoid being read
outside a call from the driver, such as regmap debugfs
Change-Id: Id94a3d6f4ea382fc09547241dabc6ab84ca74139
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
|
|
This patch marks SPDIFRX_SMPDR as precious to avoid being read
outside a call from the driver, such as regmap debugfs.
Change-Id: Icc5398e0e192b86e191770b9ebd1251f97e6a048
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
|
|
This patch marks SPDIF_SMPDR as volatile to make it resaonable,
which also requires marking it as readable, even though it isn't.
Change-Id: Ia59136a4d7a9a3984d4f4b2518f835ead7419aec
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
|
|
This patch adds grf configs to fix the clk paths
when used in tx/rx only slave mode.
Change-Id: I704687d86f1e8c25181d1e87e00107560c9e36fe
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
|
|
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 with 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 readable, 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.
Change-Id: Id91d3f54f3fda0e9140c9da162b0dff2c3df067b
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
|
|
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 readable, 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.
Change-Id: I47e67b51f8251486bb5e937619fdec89fc055f14
Fixes: f0447f6cbb20 ("ASoC: rockchip: i2s: restore register during runtime_suspend/resume cycle", 2016-09-07)
Signed-off-by: John Keeping <john@metanate.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: stable@vger.kernel.org
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
(cherry picked from commit c66234cfedfc3e6e3b62563a5f2c1562be09a35d)
|
|
This patch brings i2s back to normal by resetting i2s m/h
logic if i2s' clear operation is failed.
Change-Id: I2fd47039b522ac89499b4a2912d5ffb7a469e75e
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
|
|
This patch brings i2s back to normal by resetting i2s tx/rx
relative logic if i2s' clear operation is failed.
Change-Id: I52e4713d26f781962278802bd1f9bbce3fe4b751
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
|
|
Change-Id: I4a6834a95bf34a8fd75613296488517134321c9d
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
|
|
Change-Id: I6867569d9dd9dd1a5137cded4f6aa21b802a53d7
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
|
|
Change-Id: I25b50b8bfe8255e2bf99124334323845a1a24705
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
|
|
[ Upstream commit 27d30400c448264c1ac9434cb836de0c230af213 ]
platform_get_irq() returns an error code, but the spdif_in driver
ignores it and always returns -EINVAL. This is not correct, and
prevents -EPROBE_DEFER from being propagated properly.
Notice that platform_get_irq() no longer returns 0 on error:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e330b9a6bb35dc7097a4f02cb1ae7b6f96df92af
Print error message and propagate the return value of platform_get_irq
on failure.
Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
|
|
[ Upstream commit 50c7a0ef2d97e56c7ce2f1ea5fe1d8e25aadc1bb ]
The wm8940 driver is using a regmap cache sync to restore the
configuration of the chip when switching from OFF to STANDBY, but does
not actually define a register cache which means that the restore is
never going to work and we trigger asserts in regmap. Fix this by
enabling caching.
Based on commit d3030d11961a8c10 ("ASoC: ak4642: Enable cache usage to
fix crashes on resume") by Mark Brown <broonie@kernel.org>.
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
|
|
[ Upstream commit dcd2d1f78664fdc75eadaaf65257834e24383d01 ]
During system resume:
kernel BUG at drivers/base/regmap/regcache.c:347!
...
PC is at regcache_sync+0x1c/0x128
LR is at ak4613_resume+0x28/0x34
The ak4613 driver is using a regmap cache sync to restore the
configuration of the chip on resume but does not actually define a
register cache which means that the resume is never going to work and we
trigger asserts in regmap. Fix this by enabling caching.
Based on commit d3030d11961a8c10 ("ASoC: ak4642: Enable cache usage to
fix crashes on resume") by Mark Brown <broonie@kernel.org>.
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
|
|
For compatibility, this patch remove some useless
cut-off freqs for HPF.
Change-Id: I143901adb49c3ac387f0eab8bde4c72f65b8309b
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
|
|
Isolate HPMIX and LINEOUT when disable DAC.
Change-Id: I337b77a418a764cc4edb3fc0c3c4696db107cbb8
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
|
|
This patch fix some coding style, and update some
processes for version B. Also, keep the coding
compatible with version A and version B.
Change-Id: I0d110ffaf18eac9b8b0218b979bc0b38ac1ff42e
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
|
|
Change-Id: Iff5ded9be8f23566e9b04c8a34affd65f9099a74
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
|
|
Change-Id: I7ceded247de4d7734eebc294542d3a59b70282cb
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
|
|
audio path
Change-Id: I9750a05ffe242c5946389b2e90902f22cfdf18e8
Signed-off-by: Meiyou Chen <cmy@rock-chips.com>
|
|
Change-Id: I6e69ec61a380f7a0ffc234aafcfdfb8e38654461
Signed-off-by: Binyuan Lan <lby@rock-chips.com>
|
|
This patch make the waterlevel more reasonable, because the pdm
controller share the single FIFO(128 entries) with each channel.
adjust waterlevel in frame to meet the vad or dma frames request.
Change-Id: I9b5808e55025347d435f47889f39ba34ac07ea1c
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
|
|
Change-Id: Id367202b6434a6dab07a0185392efc5a1e447990
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
|
|
[ Upstream commit 5ea752c6efdf5aa8a57aed816d453a8f479f1b0a ]
Fixed range in safeload conditional to allow safeload to up to 20 bytes,
without a lower limit.
Signed-off-by: Danny Smith <dannys@axis.com>
Acked-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|
[ Upstream commit 960cdd50ca9fdfeb82c2757107bcb7f93c8d7d41 ]
HID made of either Wolfson/CirrusLogic PCI ID + 8804 identifier.
This helps enumerate the HifiBerry Digi+ HAT boards on the Up2 platform.
The scripts at https://github.com/thesofproject/acpi-scripts can be
used to add the ACPI initrd overlays.
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|
200ms is too long which will make cts/gts fail,100ms
is enough in fact.
Change-Id: Ifa0c58a9cf878936f6fbc9074cf26ce3d10a3ab4
Signed-off-by: Xinhuang Li <buluess.li@rock-chips.com>
|
|
200ms is too long which will make cts/gts fail,100ms
is enough in fact.
Change-Id: I88c75c66fcb7831afb7c8a74de2f1b3d754b84aa
Signed-off-by: Xinhuang Li <buluess.li@rock-chips.com>
|
|
git://git.linaro.org/kernel/linux-linaro-stable.git
* linux-linaro-lsk-v4.4-android: (1212 commits)
ANDROID: sdcardfs: Change current->fs under lock
ANDROID: sdcardfs: Don't use OVERRIDE_CRED macro
ANDROID: restrict store of prefer_idle as boolean
BACKPORT: arm/syscalls: Optimize address limit check
UPSTREAM: syscalls: Use CHECK_DATA_CORRUPTION for addr_limit_user_check
BACKPORT: arm64/syscalls: Check address limit on user-mode return
BACKPORT: x86/syscalls: Check address limit on user-mode return
BACKPORT: lkdtm: add bad USER_DS test
UPSTREAM: bug: switch data corruption check to __must_check
BACKPORT: lkdtm: Add tests for struct list corruption
UPSTREAM: bug: Provide toggle for BUG on data corruption
UPSTREAM: list: Split list_del() debug checking into separate function
UPSTREAM: rculist: Consolidate DEBUG_LIST for list_add_rcu()
BACKPORT: list: Split list_add() debug checking into separate function
FROMLIST: ANDROID: binder: Add BINDER_GET_NODE_INFO_FOR_REF ioctl.
BACKPORT: arm64/vdso: Fix nsec handling for CLOCK_MONOTONIC_RAW
ANDROID: arm64: mm: fix 4.4.154 merge
BACKPORT: zsmalloc: introduce zs_huge_class_size()
BACKPORT: zram: drop max_zpage_size and use zs_huge_class_size()
ANDROID: tracing: fix race condition reading saved tgids
...
Change-Id: I9f23db35eb926b6fa0d7af7dbbb55c9a37d536fc
|
|
[ Upstream commit e01b4f624278d5efe5fb5da585ca371947b16680 ]
Sometime a component or topology may configure a DAI widget with no
private data leading to a dev_dbg() dereferencne of this data.
Fix this to check for non NULL private data and let users know if widget
is missing DAI.
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|
Change-Id: If8714a3182cded36bfc1d36d1d29493f2e51cccf
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
|