All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lars-Peter Clausen <lars@metafoo.de>
To: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>,
	linux-kernel@vger.kernel.org, Liam Girdwood <lrg@ti.com>,
	Graeme Gregory <gg@slimlogic.co.uk>,
	Samuel Oritz <sameo@linux.intel.com>
Subject: Re: [PATCH 6/6 v5] regmap: Incorporate the regcache core into regmap
Date: Mon, 19 Sep 2011 18:28:31 +0200	[thread overview]
Message-ID: <4E776DAF.2050204@metafoo.de> (raw)
In-Reply-To: <20110919161358.GA540@opensource.wolfsonmicro.com>

On 09/19/2011 06:13 PM, Mark Brown wrote:
> On Mon, Sep 19, 2011 at 05:57:49PM +0200, Lars-Peter Clausen wrote:
>> On 09/19/2011 03:34 PM, Dimitris Papastamos wrote:
> 
>>> +	if (!map->cache_bypass) {
>>> +		ret = regcache_write(map, reg, val);
>>> +		if (!ret || map->cache_only)
>>> +			return 0;
> 
>> The hw write shouldn't be skipped if the cache write is successful. We should
>> only exit here if cache_only is set.
> 
> There's a couple of other issues too.  I've already got the following
> patch for this one locally:
> 
> --- a/drivers/base/regmap/regmap.c
> +++ b/drivers/base/regmap/regmap.c
> @@ -304,7 +304,9 @@ static int _regmap_write(struct regmap *map,
> unsigned int re
>  
>         if (!map->cache_bypass) {
>                 ret = regcache_write(map, reg, val);
> -               if (!ret || map->cache_only)
> +               if (ret != 0)
> +                       return ret;

Hm... last time we said we want to fallback to hw read/write even if the cache
operation has failed. The issue is that regcache_write will check for
regmap_writeable, so you'll get different behaviour if caching is enabled for
registers where regmap_writeable returns false.

> +               if (map->cache_only)
>                         return 0;
>         }
>  
>> I also wonder if we should pass the return value of regcache_write on to the
>> caller if cache_only is set.
> 
> Yup.
> 
>> Btw. what should happen if both cache_bypass and cache_only are set? Or is that
>> an invalid configuration?
> 
> That's not sensible.  Probably BUG_ON().

BUG_ON might be a bit to strict, if we wanted to allow cache_only to be enabled
through debugfs like it is done for ASoC right now.

  parent reply	other threads:[~2011-09-19 16:29 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-19 13:33 [PATCH 0/6 v5] Introduce caching support for regmap Dimitris Papastamos
2011-09-19 13:34 ` [PATCH 1/6 v5] regmap: Introduce caching support Dimitris Papastamos
2011-09-19 13:34 ` [PATCH 2/6 v5] regmap: Add the indexed cache support Dimitris Papastamos
2011-09-19 13:34 ` [PATCH 3/6 v5] regmap: Add the rbtree " Dimitris Papastamos
2011-09-19 13:34 ` [PATCH 4/6 v5] regmap: Add the LZO " Dimitris Papastamos
2011-09-19 13:34 ` [PATCH 5/6 v5] regmap: Add the regcache_sync trace event Dimitris Papastamos
2011-09-19 13:34 ` [PATCH 6/6 v5] regmap: Incorporate the regcache core into regmap Dimitris Papastamos
2011-09-19 15:57   ` Lars-Peter Clausen
2011-09-19 16:13     ` Mark Brown
2011-09-19 16:20       ` Dimitris Papastamos
2011-09-19 16:28       ` Lars-Peter Clausen [this message]
2011-09-19 16:36         ` Mark Brown
2011-09-19 17:59 ` [PATCH 0/6 v5] Introduce caching support for regmap Mark Brown
2011-09-19 18:03   ` [PATCH 1/5] regmap: A cache type of _NONE behaves like a bypassed cache Mark Brown
2011-09-19 18:03     ` [PATCH 2/5] regmap: Prototype regcache_sync() Mark Brown
2011-09-19 18:03     ` [PATCH 3/5] regmap: Allow drivers to control cache_only flag Mark Brown
2011-09-19 18:03     ` [PATCH 4/5] regmap: Indentation tweaks in regcache Mark Brown
2011-09-19 18:03     ` [PATCH 5/5] regmap: Fix hookup of regcache into regmap Mark Brown
2011-09-19 18:04   ` [PATCH 0/6 v5] Introduce caching support for regmap 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=4E776DAF.2050204@metafoo.de \
    --to=lars@metafoo.de \
    --cc=broonie@opensource.wolfsonmicro.com \
    --cc=dp@opensource.wolfsonmicro.com \
    --cc=gg@slimlogic.co.uk \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lrg@ti.com \
    --cc=sameo@linux.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 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.