From: Mark Brown <broonie@opensource.wolfsonmicro.com>
To: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Cc: alsa-devel@alsa-project.org, patches@opensource.wolfsonmicro.com,
Liam Girdwood <lrg@slimlogic.co.uk>
Subject: Re: [PATCH 2/4] ASoC: soc-cache: Add support for flat register caching
Date: Thu, 4 Nov 2010 14:31:40 -0400 [thread overview]
Message-ID: <20101104183140.GD6088@opensource.wolfsonmicro.com> (raw)
In-Reply-To: <1288880564-31957-3-git-send-email-dp@opensource.wolfsonmicro.com>
On Thu, Nov 04, 2010 at 02:22:42PM +0000, Dimitris Papastamos wrote:
> This patch introduces the new caching API and migrates the
> old caching interface into the new one. The flat register caching
> technique does not use compression at all and it is equivalent to
Looks good - probably the main thing I'm asking for with the single
patches is to do stuff like squashing the first patch into this.
> @@ -680,6 +722,8 @@ int snd_soc_codec_set_cache_io(struct snd_soc_codec *codec,
> return -EINVAL;
> }
>
> + mutex_init(&cache_rw_mutex);
> +
I'd kind of expect this to be with the other cache setup? I'd also
expect the lock to be a member variable next to the cache, rather than a
global. Probably not a big deal but still nicer.
> + switch (codec_drv->reg_word_size) {
...
> + default:
> + return -EINVAL;
> + }
I'd kind of expect these to be BUG() so we don't silently fall back to
direct I/O if the cache support isn't implemented at all.
> +static int snd_soc_flat_cache_init(struct snd_soc_codec *codec)
> +{
> + struct snd_soc_codec_driver *codec_drv;
> + size_t reg_size;
> +
> + codec_drv = codec->driver;
> + reg_size = codec_drv->reg_cache_size * codec_drv->reg_word_size;
> +
> + if (codec_drv->reg_cache_default)
> + codec->reg_cache = kmemdup(codec_drv->reg_cache_default,
> + reg_size, GFP_KERNEL);
> + else
> + codec->reg_cache = kzalloc(reg_size, GFP_KERNEL);
> + if (!codec->reg_cache)
> + return -EINVAL;
-ENOMEM.
> +int snd_soc_cache_init(struct snd_soc_codec *codec)
> +{
> +EXPORT_SYMBOL_GPL(snd_soc_cache_init);
Does this need to be exported? Right now the only caller is in the
core.
> @@ -3261,6 +3244,16 @@ int snd_soc_register_codec(struct device *dev,
> INIT_LIST_HEAD(&codec->dapm_widgets);
> INIT_LIST_HEAD(&codec->dapm_paths);
>
> + /* allocate CODEC register cache */
> + if (codec_drv->reg_cache_size && codec_drv->reg_word_size) {
> + ret = snd_soc_cache_init(codec);
> + if (ret < 0) {
> + dev_err(codec->dev, "Failed to set cache compression type: %d\n",
> + ret);
> + goto error_cache;
> + }
> + }
Are you sure that all the CODECs that rely on the existing shared
register cache are going to call this?
next prev parent reply other threads:[~2010-11-04 18:31 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-04 14:22 [PATCH 0/4] ASoC: Introduce the new caching API Dimitris Papastamos
2010-11-04 14:22 ` [PATCH 1/4] ASoC: soc.h: Add new caching API prototypes and hooks Dimitris Papastamos
2010-11-04 18:20 ` Mark Brown
2010-11-04 14:22 ` [PATCH 2/4] ASoC: soc-cache: Add support for flat register caching Dimitris Papastamos
2010-11-04 18:31 ` Mark Brown [this message]
2010-11-05 9:34 ` Dimitris Papastamos
2010-11-05 13:31 ` Mark Brown
2010-11-05 13:59 ` Dimitris Papastamos
2010-11-05 14:07 ` Mark Brown
2010-11-05 14:12 ` Dimitris Papastamos
2010-11-05 15:25 ` Mark Brown
2010-11-05 11:45 ` Dimitris Papastamos
2010-11-04 14:22 ` [PATCH 3/4] ASoC: soc-cache: Add support for LZO " Dimitris Papastamos
2010-11-04 22:45 ` Mark Brown
2010-11-05 10:22 ` Dimitris Papastamos
2010-11-05 13:33 ` Mark Brown
2010-11-04 14:22 ` [PATCH 4/4] ASoC: soc-cache: Add support for rbtree based " Dimitris Papastamos
2010-11-04 18:49 ` Mark Brown
2010-11-04 18:50 ` Mark Brown
2010-11-05 9:38 ` Dimitris Papastamos
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=20101104183140.GD6088@opensource.wolfsonmicro.com \
--to=broonie@opensource.wolfsonmicro.com \
--cc=alsa-devel@alsa-project.org \
--cc=dp@opensource.wolfsonmicro.com \
--cc=lrg@slimlogic.co.uk \
--cc=patches@opensource.wolfsonmicro.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 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.