From: Greg Kroah-Hartman Date: Mon, 28 Aug 2017 06:44:00 +0000 (+0200) Subject: 4.4-stable patches X-Git-Tag: v3.18.68~6 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4d38df21cd266592320fe9bd4ed7b2f74f838528;p=thirdparty%2Fkernel%2Fstable-queue.git 4.4-stable patches added patches: asoc-rsnd-disable-src.out-only-when-stop-timing.patch asoc-simple-card-don-t-fail-if-sysclk-setting-is-not-supported.patch --- diff --git a/queue-4.4/asoc-rsnd-disable-src.out-only-when-stop-timing.patch b/queue-4.4/asoc-rsnd-disable-src.out-only-when-stop-timing.patch new file mode 100644 index 00000000000..abefab2e908 --- /dev/null +++ b/queue-4.4/asoc-rsnd-disable-src.out-only-when-stop-timing.patch @@ -0,0 +1,64 @@ +From b761bf272bce6dff4d8a7ccf4385c9f3d4018094 Mon Sep 17 00:00:00 2001 +From: Kuninori Morimoto +Date: Mon, 26 Oct 2015 08:40:59 +0000 +Subject: ASoC: rsnd: disable SRC.out only when stop timing + +From: Kuninori Morimoto + +commit b761bf272bce6dff4d8a7ccf4385c9f3d4018094 upstream. + +Because SRC is connected to DMA and DMA want to keep dreq when stop +timing. This patch makes SRC stop SRC.out only when stop timing. And +it stops both SRC.out/SRC.in when quit timing + +Signed-off-by: Kuninori Morimoto +Signed-off-by: Mark Brown +Signed-off-by: Thong Ho +Signed-off-by: Nhan Nguyen +Signed-off-by: Greg Kroah-Hartman + + +--- + sound/soc/sh/rcar/src.c | 18 ++++++++++++++++-- + 1 file changed, 16 insertions(+), 2 deletions(-) + +--- a/sound/soc/sh/rcar/src.c ++++ b/sound/soc/sh/rcar/src.c +@@ -691,13 +691,27 @@ static int _rsnd_src_stop_gen2(struct rs + { + rsnd_src_irq_disable_gen2(mod); + +- rsnd_mod_write(mod, SRC_CTRL, 0); ++ /* ++ * stop SRC output only ++ * see rsnd_src_quit_gen2 ++ */ ++ rsnd_mod_write(mod, SRC_CTRL, 0x01); + + rsnd_src_error_record_gen2(mod); + + return rsnd_src_stop(mod); + } + ++static int rsnd_src_quit_gen2(struct rsnd_mod *mod, ++ struct rsnd_dai_stream *io, ++ struct rsnd_priv *priv) ++{ ++ /* stop both out/in */ ++ rsnd_mod_write(mod, SRC_CTRL, 0); ++ ++ return 0; ++} ++ + static void __rsnd_src_interrupt_gen2(struct rsnd_mod *mod, + struct rsnd_dai_stream *io) + { +@@ -971,7 +985,7 @@ static struct rsnd_mod_ops rsnd_src_gen2 + .probe = rsnd_src_probe_gen2, + .remove = rsnd_src_remove_gen2, + .init = rsnd_src_init_gen2, +- .quit = rsnd_src_quit, ++ .quit = rsnd_src_quit_gen2, + .start = rsnd_src_start_gen2, + .stop = rsnd_src_stop_gen2, + .hw_params = rsnd_src_hw_params, diff --git a/queue-4.4/asoc-simple-card-don-t-fail-if-sysclk-setting-is-not-supported.patch b/queue-4.4/asoc-simple-card-don-t-fail-if-sysclk-setting-is-not-supported.patch new file mode 100644 index 00000000000..7dd1a59ed53 --- /dev/null +++ b/queue-4.4/asoc-simple-card-don-t-fail-if-sysclk-setting-is-not-supported.patch @@ -0,0 +1,43 @@ +From ee43a1a0cd2a8f33cddfa1323a60b5cfcf865ba0 Mon Sep 17 00:00:00 2001 +From: Aaro Koskinen +Date: Sun, 24 Jan 2016 00:36:40 +0200 +Subject: ASoC: simple-card: don't fail if sysclk setting is not supported + +From: Aaro Koskinen + +commit ee43a1a0cd2a8f33cddfa1323a60b5cfcf865ba0 upstream. + +Commit e22579713ae1 ("ASoC: simple card: set cpu-dai sysclk +with mclk-fs") added sysclk / SND_SOC_CLOCK_OUT setting, that makes +asoc_simple_card_hw_params fail if the operation is not supported, +although the intention clearly was to ignore ENOTSUPP. Fix it. + +The patch fixes audio playback on Kirkwood / OpenRD client, +where the following errors are seen: + + asoc-simple-card sound: ASoC: machine hw_params failed: -524 + alsa-lib: /alsa-lib-1.0.28/src/pcm/pcm_hw.c:327:(snd_pcm_hw_hw_params) SNDRV_PCM_IOCTL_HW_PARAMS failed (-524): Unknown error 524 + +Fixes: e22579713ae1 ("ASoC: simple card: set cpu-dai sysclk with mclk-fs") +Signed-off-by: Aaro Koskinen +Reviewed-by: Andrew Lunn +Signed-off-by: Mark Brown +Signed-off-by: Thong Ho +Signed-off-by: Nhan Nguyen +Signed-off-by: Greg Kroah-Hartman + +--- + sound/soc/generic/simple-card.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/sound/soc/generic/simple-card.c ++++ b/sound/soc/generic/simple-card.c +@@ -100,7 +100,7 @@ static int asoc_simple_card_hw_params(st + if (ret && ret != -ENOTSUPP) + goto err; + } +- ++ return 0; + err: + return ret; + } diff --git a/queue-4.4/series b/queue-4.4/series index be8bfde794c..ec4c8f68a4c 100644 --- a/queue-4.4/series +++ b/queue-4.4/series @@ -41,3 +41,5 @@ android-binder-fix-proc-tsk-check.patch iio-imu-adis16480-fix-acceleration-scale-factor-for-adis16480.patch iio-hid-sensor-trigger-fix-the-race-with-user-space-powering-up-sensors.patch staging-rtl8188eu-add-rnx-n150nub-support.patch +asoc-simple-card-don-t-fail-if-sysclk-setting-is-not-supported.patch +asoc-rsnd-disable-src.out-only-when-stop-timing.patch