All of lore.kernel.org
 help / color / mirror / Atom feed
* Patch "ASoC: rsnd: avoid pointless loop in rsnd_mod_interrupt()" has been added to the 4.4-stable tree
@ 2017-08-28  7:01 gregkh
  0 siblings, 0 replies; only message in thread
From: gregkh @ 2017-08-28  7:01 UTC (permalink / raw)
  To: kuninori.morimoto.gx, broonie, gregkh, nhan.nguyen.yb, thong.ho.px
  Cc: stable, stable-commits


This is a note to let you know that I've just added the patch titled

    ASoC: rsnd: avoid pointless loop in rsnd_mod_interrupt()

to the 4.4-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     asoc-rsnd-avoid-pointless-loop-in-rsnd_mod_interrupt.patch
and it can be found in the queue-4.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@vger.kernel.org> know about it.


>From 2daf71ad8da6cb57f919c9c876ee7e42530371df Mon Sep 17 00:00:00 2001
From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Date: Mon, 26 Oct 2015 08:41:53 +0000
Subject: ASoC: rsnd: avoid pointless loop in rsnd_mod_interrupt()

From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>

commit 2daf71ad8da6cb57f919c9c876ee7e42530371df upstream.

Current Renesas sound driver doesn't have 1:1 relationship between
stream <-> mod because it is supporting MIX. Because of this reason
rsnd_mod_interrupt() is searching correspond mod by for loop.
But this loop is not needed, because each mod has own type.
This patch avoid pointless loop by using mod->type.

This patch is good for SSI-parent support, because stream might have
2 SSI as SSI-parent/child. SSI interrupt handler will be called twice
if stream has SSI-parent without this patch.

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/core.c |   19 ++++++++-----------
 1 file changed, 8 insertions(+), 11 deletions(-)

--- a/sound/soc/sh/rcar/core.c
+++ b/sound/soc/sh/rcar/core.c
@@ -192,19 +192,16 @@ void rsnd_mod_interrupt(struct rsnd_mod
 	struct rsnd_priv *priv = rsnd_mod_to_priv(mod);
 	struct rsnd_dai_stream *io;
 	struct rsnd_dai *rdai;
-	int i, j;
+	int i;
 
-	for_each_rsnd_dai(rdai, priv, j) {
+	for_each_rsnd_dai(rdai, priv, i) {
+		io = &rdai->playback;
+		if (mod == io->mod[mod->type])
+			callback(mod, io);
 
-		for (i = 0; i < RSND_MOD_MAX; i++) {
-			io = &rdai->playback;
-			if (mod == io->mod[i])
-				callback(mod, io);
-
-			io = &rdai->capture;
-			if (mod == io->mod[i])
-				callback(mod, io);
-		}
+		io = &rdai->capture;
+		if (mod == io->mod[mod->type])
+			callback(mod, io);
 	}
 }
 


Patches currently in stable-queue which might be from kuninori.morimoto.gx@renesas.com are

queue-4.4/asoc-rsnd-add-missing-initialization-of-adg-req_rate.patch
queue-4.4/asoc-rsnd-avoid-pointless-loop-in-rsnd_mod_interrupt.patch
queue-4.4/asoc-rsnd-disable-src.out-only-when-stop-timing.patch
queue-4.4/asoc-rsnd-don-t-call-update-callback-if-it-was-null.patch
queue-4.4/asoc-rsnd-ssi-24bit-data-needs-right-aligned-settings.patch

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2017-08-28  7:01 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-08-28  7:01 Patch "ASoC: rsnd: avoid pointless loop in rsnd_mod_interrupt()" has been added to the 4.4-stable tree gregkh

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.