regmap: Use async I/O for patch application
Try to speed up patch application a little using async I/O. Signed-off-by: Mark Brown <broonie@linaro.org>
This commit is contained in:
Родитель
915f441b6f
Коммит
1a25f26138
|
@ -2029,6 +2029,7 @@ int regmap_register_patch(struct regmap *map, const struct reg_default *regs,
|
||||||
bypass = map->cache_bypass;
|
bypass = map->cache_bypass;
|
||||||
|
|
||||||
map->cache_bypass = true;
|
map->cache_bypass = true;
|
||||||
|
map->async = true;
|
||||||
|
|
||||||
/* Write out first; it's useful to apply even if we fail later. */
|
/* Write out first; it's useful to apply even if we fail later. */
|
||||||
for (i = 0; i < num_regs; i++) {
|
for (i = 0; i < num_regs; i++) {
|
||||||
|
@ -2052,10 +2053,13 @@ int regmap_register_patch(struct regmap *map, const struct reg_default *regs,
|
||||||
}
|
}
|
||||||
|
|
||||||
out:
|
out:
|
||||||
|
map->async = false;
|
||||||
map->cache_bypass = bypass;
|
map->cache_bypass = bypass;
|
||||||
|
|
||||||
map->unlock(map->lock_arg);
|
map->unlock(map->lock_arg);
|
||||||
|
|
||||||
|
regmap_async_complete(map);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(regmap_register_patch);
|
EXPORT_SYMBOL_GPL(regmap_register_patch);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче