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: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
parent
7aefb086c1
commit
e56235e099
3 changed files with 10 additions and 2 deletions
|
@ -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,
|
||||||
__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)
|
||||||
}
|
}
|
||||||
|
|
||||||
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)
|
||||||
}
|
}
|
||||||
|
|
||||||
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;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue