regmap: Add tracepoints for cache only and cache bypass
Useful for figuring out where the hardware interaction went or came from. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
parent
a3c3774176
commit
5d5b7d4f80
2 changed files with 38 additions and 0 deletions
|
@ -313,6 +313,7 @@ void regcache_cache_only(struct regmap *map, bool enable)
|
||||||
mutex_lock(&map->lock);
|
mutex_lock(&map->lock);
|
||||||
WARN_ON(map->cache_bypass && enable);
|
WARN_ON(map->cache_bypass && enable);
|
||||||
map->cache_only = enable;
|
map->cache_only = enable;
|
||||||
|
trace_regmap_cache_only(map->dev, enable);
|
||||||
mutex_unlock(&map->lock);
|
mutex_unlock(&map->lock);
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(regcache_cache_only);
|
EXPORT_SYMBOL_GPL(regcache_cache_only);
|
||||||
|
@ -350,6 +351,7 @@ void regcache_cache_bypass(struct regmap *map, bool enable)
|
||||||
mutex_lock(&map->lock);
|
mutex_lock(&map->lock);
|
||||||
WARN_ON(map->cache_only && enable);
|
WARN_ON(map->cache_only && enable);
|
||||||
map->cache_bypass = enable;
|
map->cache_bypass = enable;
|
||||||
|
trace_regmap_cache_bypass(map->dev, enable);
|
||||||
mutex_unlock(&map->lock);
|
mutex_unlock(&map->lock);
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(regcache_cache_bypass);
|
EXPORT_SYMBOL_GPL(regcache_cache_bypass);
|
||||||
|
|
|
@ -139,6 +139,42 @@ TRACE_EVENT(regcache_sync,
|
||||||
__get_str(type), __get_str(status))
|
__get_str(type), __get_str(status))
|
||||||
);
|
);
|
||||||
|
|
||||||
|
DECLARE_EVENT_CLASS(regmap_bool,
|
||||||
|
|
||||||
|
TP_PROTO(struct device *dev, bool flag),
|
||||||
|
|
||||||
|
TP_ARGS(dev, flag),
|
||||||
|
|
||||||
|
TP_STRUCT__entry(
|
||||||
|
__string( name, dev_name(dev) )
|
||||||
|
__field( int, flag )
|
||||||
|
),
|
||||||
|
|
||||||
|
TP_fast_assign(
|
||||||
|
__assign_str(name, dev_name(dev));
|
||||||
|
__entry->flag = flag;
|
||||||
|
),
|
||||||
|
|
||||||
|
TP_printk("%s flag=%d", __get_str(name),
|
||||||
|
(int)__entry->flag)
|
||||||
|
);
|
||||||
|
|
||||||
|
DEFINE_EVENT(regmap_bool, regmap_cache_only,
|
||||||
|
|
||||||
|
TP_PROTO(struct device *dev, bool flag),
|
||||||
|
|
||||||
|
TP_ARGS(dev, flag)
|
||||||
|
|
||||||
|
);
|
||||||
|
|
||||||
|
DEFINE_EVENT(regmap_bool, regmap_cache_bypass,
|
||||||
|
|
||||||
|
TP_PROTO(struct device *dev, bool flag),
|
||||||
|
|
||||||
|
TP_ARGS(dev, flag)
|
||||||
|
|
||||||
|
);
|
||||||
|
|
||||||
#endif /* _TRACE_REGMAP_H */
|
#endif /* _TRACE_REGMAP_H */
|
||||||
|
|
||||||
/* This part must be outside protection */
|
/* This part must be outside protection */
|
||||||
|
|
Loading…
Add table
Reference in a new issue