Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1282652 > unrolled thread
| Started by | Xiubo Li <lixiubo@cmss.chinamobile.com> |
|---|---|
| First post | 2015-12-03 03:30 +0100 |
| Last post | 2015-12-10 02:40 +0100 |
| Articles | 5 — 2 participants |
Back to article view | Back to linux.kernel
[PATCH] regmap: speed up the regcache_init() Xiubo Li <lixiubo@cmss.chinamobile.com> - 2015-12-03 03:30 +0100
Re: [PATCH] regmap: speed up the regcache_init() Mark Brown <broonie@kernel.org> - 2015-12-08 18:10 +0100
Re: [PATCH] regmap: speed up the regcache_init() Xiubo Li <lixiubo@cmss.chinamobile.com> - 2015-12-09 04:30 +0100
Re: [PATCH] regmap: speed up the regcache_init() Mark Brown <broonie@kernel.org> - 2015-12-09 16:10 +0100
Re: [PATCH] regmap: speed up the regcache_init() Xiubo Li <lixiubo@cmss.chinamobile.com> - 2015-12-10 02:40 +0100
| From | Xiubo Li <lixiubo@cmss.chinamobile.com> |
|---|---|
| Date | 2015-12-03 03:30 +0100 |
| Subject | [PATCH] regmap: speed up the regcache_init() |
| Message-ID | <qBrOG-7bg-13@gated-at.bofh.it> |
If the cache is not used by the device driver, there is not need to
check the striding of the registers. It will just return 0 from
regcache_init() and let the register striding be checked in proper
place when needed.
Signed-off-by: Xiubo Li <lixiubo@cmss.chinamobile.com>
---
drivers/base/regmap/regcache.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/base/regmap/regcache.c b/drivers/base/regmap/regcache.c
index 4c07802..edc3bd9 100644
--- a/drivers/base/regmap/regcache.c
+++ b/drivers/base/regmap/regcache.c
@@ -100,15 +100,15 @@ int regcache_init(struct regmap *map, const struct regmap_config *config)
int i;
void *tmp_buf;
- for (i = 0; i < config->num_reg_defaults; i++)
- if (config->reg_defaults[i].reg % map->reg_stride)
- return -EINVAL;
-
if (map->cache_type == REGCACHE_NONE) {
map->cache_bypass = true;
return 0;
}
+ for (i = 0; i < config->num_reg_defaults; i++)
+ if (config->reg_defaults[i].reg % map->reg_stride)
+ return -EINVAL;
+
for (i = 0; i < ARRAY_SIZE(cache_types); i++)
if (cache_types[i]->type == map->cache_type)
break;
--
1.8.3.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | Mark Brown <broonie@kernel.org> |
|---|---|
| Date | 2015-12-08 18:10 +0100 |
| Message-ID | <qDtW2-59U-27@gated-at.bofh.it> |
| In reply to | #1282652 |
[Multipart message — attachments visible in raw view] — view raw
On Thu, Dec 03, 2015 at 10:19:10AM +0800, Xiubo Li wrote:
> If the cache is not used by the device driver, there is not need to
> check the striding of the registers. It will just return 0 from
> regcache_init() and let the register striding be checked in proper
> place when needed.
> - for (i = 0; i < config->num_reg_defaults; i++)
> - if (config->reg_defaults[i].reg % map->reg_stride)
> - return -EINVAL;
> -
> if (map->cache_type == REGCACHE_NONE) {
> map->cache_bypass = true;
> return 0;
> }
If we're not using the register cache why are there defaults in the
first place?
[toc] | [prev] | [next] | [standalone]
| From | Xiubo Li <lixiubo@cmss.chinamobile.com> |
|---|---|
| Date | 2015-12-09 04:30 +0100 |
| Message-ID | <qDDC1-2Px-7@gated-at.bofh.it> |
| In reply to | #1286702 |
On 09/12/2015 01:05, Mark Brown wrote:
> On Thu, Dec 03, 2015 at 10:19:10AM +0800, Xiubo Li wrote:
>
>> If the cache is not used by the device driver, there is not need to
>> check the striding of the registers. It will just return 0 from
>> regcache_init() and let the register striding be checked in proper
>> place when needed.
>> - for (i = 0; i < config->num_reg_defaults; i++)
>> - if (config->reg_defaults[i].reg % map->reg_stride)
>> - return -EINVAL;
>> -
>> if (map->cache_type == REGCACHE_NONE) {
>> map->cache_bypass = true;
>> return 0;
>> }
> If we're not using the register cache why are there defaults in the
> first place?
Yes, usually when the register cache is not used, the number of the
defaults should be zero, but for some drivers like drv2267.c/led_lp8860.c
will add the defaults register values though the cache type is
REGCACHE_NONE for some reasons.
This patch may be not the best, but will be a bit meaningful for some
drivers like drv2267.c/led_lp8860.c for now.
Thanks,
BRs
Xiubo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Mark Brown <broonie@kernel.org> |
|---|---|
| Date | 2015-12-09 16:10 +0100 |
| Message-ID | <qDOxs-1zF-11@gated-at.bofh.it> |
| In reply to | #1287054 |
[Multipart message — attachments visible in raw view] — view raw
On Wed, Dec 09, 2015 at 11:17:22AM +0800, Xiubo Li wrote: > Yes, usually when the register cache is not used, the number of the > defaults should be zero, but for some drivers like drv2267.c/led_lp8860.c > will add the defaults register values though the cache type is > REGCACHE_NONE for some reasons. I can't find either of those in the kernel tree... > This patch may be not the best, but will be a bit meaningful for some > drivers like drv2267.c/led_lp8860.c for now. TBH if we're going to do something here it might be as well to print a warning if something is providing register defaults but no cache.
[toc] | [prev] | [next] | [standalone]
| From | Xiubo Li <lixiubo@cmss.chinamobile.com> |
|---|---|
| Date | 2015-12-10 02:40 +0100 |
| Message-ID | <qDYn8-7KL-9@gated-at.bofh.it> |
| In reply to | #1287546 |
On 09/12/2015 23:05, Mark Brown wrote: > On Wed, Dec 09, 2015 at 11:17:22AM +0800, Xiubo Li wrote: > >> Yes, usually when the register cache is not used, the number of the >> defaults should be zero, but for some drivers like drv2267.c/led_lp8860.c >> will add the defaults register values though the cache type is >> REGCACHE_NONE for some reasons. > I can't find either of those in the kernel tree... This could be found in the for-next branch of regmap tree. >> This patch may be not the best, but will be a bit meaningful for some >> drivers like drv2267.c/led_lp8860.c for now. > TBH if we're going to do something here it might be as well to print a > warning if something is providing register defaults but no cache. Yes, Agreed. I will enhance this later in another patch, just abandon this one please. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web