Commit e56235e0 authored by Mark Brown's avatar Mark Brown

ASoC: Add another DAPM stat for neighbour checks

The number of times we look at a potentially connected neighbour is just
as important as the number of times we actually recurse into looking at
that neighbour so also collect that statistic.
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent 7aefb086
...@@ -540,6 +540,7 @@ struct snd_soc_dapm_widget_list { ...@@ -540,6 +540,7 @@ struct snd_soc_dapm_widget_list {
struct snd_soc_dapm_stats { struct snd_soc_dapm_stats {
int power_checks; int power_checks;
int path_checks; int path_checks;
int neighbour_checks;
}; };
#endif #endif
...@@ -226,16 +226,19 @@ TRACE_EVENT(snd_soc_dapm_walk_done, ...@@ -226,16 +226,19 @@ TRACE_EVENT(snd_soc_dapm_walk_done,
__string( name, card->name ) __string( name, card->name )
__field( int, power_checks ) __field( int, power_checks )
__field( int, path_checks ) __field( int, path_checks )
__field( int, neighbour_checks )
), ),
TP_fast_assign( TP_fast_assign(
__assign_str(name, card->name); __assign_str(name, card->name);
__entry->power_checks = card->dapm_stats.power_checks; __entry->power_checks = card->dapm_stats.power_checks;
__entry->path_checks = card->dapm_stats.path_checks; __entry->path_checks = card->dapm_stats.path_checks;
__entry->neighbour_checks = card->dapm_stats.neighbour_checks;
), ),
TP_printk("%s: %d power checks, %d path checks", __get_str(name), TP_printk("%s: checks %d power, %d path, %d neighbour",
(int)__entry->power_checks, (int)__entry->path_checks) __get_str(name), (int)__entry->power_checks,
(int)__entry->path_checks, (int)__entry->neighbour_checks)
); );
TRACE_EVENT(snd_soc_jack_irq, TRACE_EVENT(snd_soc_jack_irq,
......
...@@ -677,6 +677,8 @@ static int is_connected_output_ep(struct snd_soc_dapm_widget *widget) ...@@ -677,6 +677,8 @@ static int is_connected_output_ep(struct snd_soc_dapm_widget *widget)
} }
list_for_each_entry(path, &widget->sinks, list_source) { list_for_each_entry(path, &widget->sinks, list_source) {
DAPM_UPDATE_STAT(widget, neighbour_checks);
if (path->weak) if (path->weak)
continue; continue;
...@@ -732,6 +734,8 @@ static int is_connected_input_ep(struct snd_soc_dapm_widget *widget) ...@@ -732,6 +734,8 @@ static int is_connected_input_ep(struct snd_soc_dapm_widget *widget)
} }
list_for_each_entry(path, &widget->sources, list_sink) { list_for_each_entry(path, &widget->sources, list_sink) {
DAPM_UPDATE_STAT(widget, neighbour_checks);
if (path->weak) if (path->weak)
continue; continue;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment