--- /dev/null
+From b761bf272bce6dff4d8a7ccf4385c9f3d4018094 Mon Sep 17 00:00:00 2001
+From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
+Date: Mon, 26 Oct 2015 08:40:59 +0000
+Subject: ASoC: rsnd: disable SRC.out only when stop timing
+
+From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
+
+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 <kuninori.morimoto.gx@renesas.com>
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Thong Ho <thong.ho.px@rvc.renesas.com>
+Signed-off-by: Nhan Nguyen <nhan.nguyen.yb@renesas.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+
+---
+ 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,
--- /dev/null
+From ee43a1a0cd2a8f33cddfa1323a60b5cfcf865ba0 Mon Sep 17 00:00:00 2001
+From: Aaro Koskinen <aaro.koskinen@iki.fi>
+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 <aaro.koskinen@iki.fi>
+
+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 <aaro.koskinen@iki.fi>
+Reviewed-by: Andrew Lunn <andrew@lunn.ch>
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Thong Ho <thong.ho.px@rvc.renesas.com>
+Signed-off-by: Nhan Nguyen <nhan.nguyen.yb@renesas.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ 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;
+ }