Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5d5b7d4f authored by Mark Brown's avatar Mark Brown
Browse files

regmap: Add tracepoints for cache only and cache bypass



Useful for figuring out where the hardware interaction went or came from.

Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent a3c37741
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -313,6 +313,7 @@ void regcache_cache_only(struct regmap *map, bool enable)
	mutex_lock(&map->lock);
	WARN_ON(map->cache_bypass && enable);
	map->cache_only = enable;
	trace_regmap_cache_only(map->dev, enable);
	mutex_unlock(&map->lock);
}
EXPORT_SYMBOL_GPL(regcache_cache_only);
@@ -350,6 +351,7 @@ void regcache_cache_bypass(struct regmap *map, bool enable)
	mutex_lock(&map->lock);
	WARN_ON(map->cache_only && enable);
	map->cache_bypass = enable;
	trace_regmap_cache_bypass(map->dev, enable);
	mutex_unlock(&map->lock);
}
EXPORT_SYMBOL_GPL(regcache_cache_bypass);
+36 −0
Original line number Diff line number Diff line
@@ -139,6 +139,42 @@ TRACE_EVENT(regcache_sync,
		  __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 */

/* This part must be outside protection */