alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
From: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
To: broonie@kernel.org
Cc: alsa-devel@alsa-project.org, vinod.koul@intel.com,
	patches@opensource.wolfsonmicro.com, lgirdwood@gmail.com,
	tiwai@suse.com
Subject: [PATCH 07/13] ASoC: wm_adsp: Factor out finding the location of an algorithm region
Date: Tue, 8 Dec 2015 16:08:31 +0000	[thread overview]
Message-ID: <1449590917-21170-7-git-send-email-ckeepax@opensource.wolfsonmicro.com> (raw)
In-Reply-To: <1449590917-21170-1-git-send-email-ckeepax@opensource.wolfsonmicro.com>

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
---
 sound/soc/codecs/wm_adsp.c | 35 +++++++++++++++++++++--------------
 1 file changed, 21 insertions(+), 14 deletions(-)

diff --git a/sound/soc/codecs/wm_adsp.c b/sound/soc/codecs/wm_adsp.c
index b083642..2b99f46 100644
--- a/sound/soc/codecs/wm_adsp.c
+++ b/sound/soc/codecs/wm_adsp.c
@@ -1362,6 +1362,19 @@ static void *wm_adsp_read_algs(struct wm_adsp *dsp, size_t n_algs,
 	return alg;
 }
 
+static struct wm_adsp_alg_region *
+	wm_adsp_find_alg_region(struct wm_adsp *dsp, int type, unsigned int id)
+{
+	struct wm_adsp_alg_region *alg_region;
+
+	list_for_each_entry(alg_region, &dsp->alg_regions, list) {
+		if (id == alg_region->alg && type == alg_region->type)
+			return alg_region;
+	}
+
+	return NULL;
+}
+
 static struct wm_adsp_alg_region *wm_adsp_create_region(struct wm_adsp *dsp,
 							int type, __be32 id,
 							__be32 base)
@@ -1734,22 +1747,16 @@ static int wm_adsp_load_coeff(struct wm_adsp *dsp)
 				break;
 			}
 
-			reg = 0;
-			list_for_each_entry(alg_region,
-					    &dsp->alg_regions, list) {
-				if (le32_to_cpu(blk->id) == alg_region->alg &&
-				    type == alg_region->type) {
-					reg = alg_region->base;
-					reg = wm_adsp_region_to_reg(mem,
-								    reg);
-					reg += offset;
-					break;
-				}
-			}
-
-			if (reg == 0)
+			alg_region = wm_adsp_find_alg_region(dsp, type,
+						le32_to_cpu(blk->id));
+			if (alg_region) {
+				reg = alg_region->base;
+				reg = wm_adsp_region_to_reg(mem, reg);
+				reg += offset;
+			} else {
 				adsp_err(dsp, "No %x for algorithm %x\n",
 					 type, le32_to_cpu(blk->id));
+			}
 			break;
 
 		default:
-- 
2.1.4

  parent reply	other threads:[~2015-12-08 16:09 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-08 16:08 [PATCH 01/13] ASoC: wm_adsp: Fixup some minor formatting and checkpatch errors Charles Keepax
2015-12-08 16:08 ` [PATCH 02/13] ASoC: wm_adsp: Replace debugfs lock with more general DSP power lock Charles Keepax
2015-12-12 23:07   ` Applied "ASoC: wm_adsp: Replace debugfs lock with more general DSP power lock" to the asoc tree Mark Brown
2015-12-08 16:08 ` [PATCH 03/13] ASoC: wm_adsp: Add locking to DSP firmware controls Charles Keepax
2015-12-12 23:07   ` Applied "ASoC: wm_adsp: Add locking to DSP firmware controls" to the asoc tree Mark Brown
2015-12-08 16:08 ` [PATCH 04/13] ASoC: wm_adsp: Add power lock for firmware change control Charles Keepax
2015-12-12 23:07   ` Applied "ASoC: wm_adsp: Add power lock for firmware change control" to the asoc tree Mark Brown
2015-12-08 16:08 ` [PATCH 05/13] ASoC: wm_adsp: Select SND_SOC_COMPRESS Charles Keepax
2015-12-10  8:09   ` Vinod Koul
2015-12-10 13:49     ` Charles Keepax
2015-12-08 16:08 ` [PATCH 06/13] ASoC: wm5110: Provide basic hookup for voice control Charles Keepax
2015-12-08 16:08 ` Charles Keepax [this message]
2015-12-23  0:23   ` Applied "ASoC: wm_adsp: Factor out finding the location of an algorithm region" to the asoc tree Mark Brown
2015-12-08 16:08 ` [PATCH v2 RESEND 08/13] ALSA: compress: Add SND_AUDIOCODEC_BESPOKE Charles Keepax
2015-12-08 16:08 ` [PATCH 09/13] ASoC: wm_adsp: Add support for opening a compressed stream Charles Keepax
2015-12-23  0:23   ` Applied "ASoC: wm_adsp: Add support for opening a compressed stream" to the asoc tree Mark Brown
2015-12-08 16:08 ` [PATCH 10/13] ASoC: wm_adsp: Add code to locate and initialise compressed buffer Charles Keepax
2015-12-08 16:08 ` [PATCH 11/13] ASoC: wm_adsp: Attach buffers and streams together Charles Keepax
2015-12-23  0:23   ` Applied "ASoC: wm_adsp: Attach buffers and streams together" to the asoc tree Mark Brown
2015-12-08 16:08 ` [PATCH 12/13] ASoC: wm_adsp: Add a handler for the compressed IRQ Charles Keepax
2015-12-08 16:08 ` [PATCH 13/13] ASoC: wm_adsp: Pull data through compressed read Charles Keepax
2015-12-08 16:33 ` [PATCH 01/13] ASoC: wm_adsp: Fixup some minor formatting and checkpatch errors Charles Keepax
2015-12-12 23:07 ` Applied "ASoC: wm_adsp: Fixup some minor formatting and checkpatch errors" to the asoc tree Mark Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1449590917-21170-7-git-send-email-ckeepax@opensource.wolfsonmicro.com \
    --to=ckeepax@opensource.wolfsonmicro.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=lgirdwood@gmail.com \
    --cc=patches@opensource.wolfsonmicro.com \
    --cc=tiwai@suse.com \
    --cc=vinod.koul@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).