Skip to content

Commit 6ef46a6

Browse files
lucaceresolibroonie
authored andcommitted
ASoC: trace: add component to set_bias_level trace events
The snd_soc_bias_level_start and snd_soc_bias_level_done trace events currently look like: aplay-229 [000] 1250.140778: snd_soc_bias_level_start: card=vscn-2046 val=1 aplay-229 [000] 1250.140784: snd_soc_bias_level_done: card=vscn-2046 val=1 aplay-229 [000] 1250.140786: snd_soc_bias_level_start: card=vscn-2046 val=2 aplay-229 [000] 1250.140788: snd_soc_bias_level_done: card=vscn-2046 val=2 kworker/u8:1-21 [000] 1250.140871: snd_soc_bias_level_start: card=vscn-2046 val=1 kworker/u8:0-11 [000] 1250.140951: snd_soc_bias_level_start: card=vscn-2046 val=1 kworker/u8:0-11 [000] 1250.140956: snd_soc_bias_level_done: card=vscn-2046 val=1 kworker/u8:0-11 [000] 1250.140959: snd_soc_bias_level_start: card=vscn-2046 val=2 kworker/u8:0-11 [000] 1250.140961: snd_soc_bias_level_done: card=vscn-2046 val=2 kworker/u8:1-21 [000] 1250.167219: snd_soc_bias_level_done: card=vscn-2046 val=1 kworker/u8:1-21 [000] 1250.167222: snd_soc_bias_level_start: card=vscn-2046 val=2 kworker/u8:1-21 [000] 1250.167232: snd_soc_bias_level_done: card=vscn-2046 val=2 kworker/u8:0-11 [000] 1250.167440: snd_soc_bias_level_start: card=vscn-2046 val=3 kworker/u8:0-11 [000] 1250.167444: snd_soc_bias_level_done: card=vscn-2046 val=3 kworker/u8:1-21 [000] 1250.167497: snd_soc_bias_level_start: card=vscn-2046 val=3 kworker/u8:1-21 [000] 1250.167506: snd_soc_bias_level_done: card=vscn-2046 val=3 There are clearly multiple calls, one per component, but they cannot be discriminated from each other. Change the ftrace events to also print the component name, to make it clear which part of the code is involved. This requires changing the passed value from a struct snd_soc_card, where the DAPM context is not kwown, to a struct snd_soc_dapm_context where it is obviously known but the a card pointer is also available. With this change, the resulting trace becomes: aplay-247 [000] 1436.357332: snd_soc_bias_level_start: card=vscn-2046 component=(none) val=1 aplay-247 [000] 1436.357338: snd_soc_bias_level_done: card=vscn-2046 component=(none) val=1 aplay-247 [000] 1436.357340: snd_soc_bias_level_start: card=vscn-2046 component=(none) val=2 aplay-247 [000] 1436.357343: snd_soc_bias_level_done: card=vscn-2046 component=(none) val=2 kworker/u8:4-215 [000] 1436.357437: snd_soc_bias_level_start: card=vscn-2046 component=ff560000.codec val=1 kworker/u8:5-231 [000] 1436.357518: snd_soc_bias_level_start: card=vscn-2046 component=ff320000.i2s val=1 kworker/u8:5-231 [000] 1436.357523: snd_soc_bias_level_done: card=vscn-2046 component=ff320000.i2s val=1 kworker/u8:5-231 [000] 1436.357526: snd_soc_bias_level_start: card=vscn-2046 component=ff320000.i2s val=2 kworker/u8:5-231 [000] 1436.357528: snd_soc_bias_level_done: card=vscn-2046 component=ff320000.i2s val=2 kworker/u8:4-215 [000] 1436.383217: snd_soc_bias_level_done: card=vscn-2046 component=ff560000.codec val=1 kworker/u8:4-215 [000] 1436.383221: snd_soc_bias_level_start: card=vscn-2046 component=ff560000.codec val=2 kworker/u8:4-215 [000] 1436.383231: snd_soc_bias_level_done: card=vscn-2046 component=ff560000.codec val=2 kworker/u8:5-231 [000] 1436.383468: snd_soc_bias_level_start: card=vscn-2046 component=ff320000.i2s val=3 kworker/u8:5-231 [000] 1436.383472: snd_soc_bias_level_done: card=vscn-2046 component=ff320000.i2s val=3 kworker/u8:4-215 [000] 1436.383503: snd_soc_bias_level_start: card=vscn-2046 component=ff560000.codec val=3 kworker/u8:4-215 [000] 1436.383513: snd_soc_bias_level_done: card=vscn-2046 component=ff560000.codec val=3 Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Link: https://msgid.link/r/20240306-improve-asoc-trace-events-v1-1-edb252bbeb10@bootlin.com Signed-off-by: Mark Brown <broonie@kernel.org>
1 parent 2ca7033 commit 6ef46a6

File tree

2 files changed

+18
-15
lines changed

2 files changed

+18
-15
lines changed

include/trace/events/asoc.h

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,38 +17,41 @@ struct snd_soc_card;
1717
struct snd_soc_dapm_widget;
1818
struct snd_soc_dapm_path;
1919

20-
DECLARE_EVENT_CLASS(snd_soc_card,
20+
DECLARE_EVENT_CLASS(snd_soc_dapm,
2121

22-
TP_PROTO(struct snd_soc_card *card, int val),
22+
TP_PROTO(struct snd_soc_dapm_context *dapm, int val),
2323

24-
TP_ARGS(card, val),
24+
TP_ARGS(dapm, val),
2525

2626
TP_STRUCT__entry(
27-
__string( name, card->name )
28-
__field( int, val )
27+
__string( card_name, dapm->card->name)
28+
__string( comp_name, dapm->component ? dapm->component->name : "(none)")
29+
__field( int, val)
2930
),
3031

3132
TP_fast_assign(
32-
__assign_str(name, card->name);
33+
__assign_str(card_name, dapm->card->name);
34+
__assign_str(comp_name, dapm->component ? dapm->component->name : "(none)");
3335
__entry->val = val;
3436
),
3537

36-
TP_printk("card=%s val=%d", __get_str(name), (int)__entry->val)
38+
TP_printk("card=%s component=%s val=%d",
39+
__get_str(card_name), __get_str(comp_name), (int)__entry->val)
3740
);
3841

39-
DEFINE_EVENT(snd_soc_card, snd_soc_bias_level_start,
42+
DEFINE_EVENT(snd_soc_dapm, snd_soc_bias_level_start,
4043

41-
TP_PROTO(struct snd_soc_card *card, int val),
44+
TP_PROTO(struct snd_soc_dapm_context *dapm, int val),
4245

43-
TP_ARGS(card, val)
46+
TP_ARGS(dapm, val)
4447

4548
);
4649

47-
DEFINE_EVENT(snd_soc_card, snd_soc_bias_level_done,
50+
DEFINE_EVENT(snd_soc_dapm, snd_soc_bias_level_done,
4851

49-
TP_PROTO(struct snd_soc_card *card, int val),
52+
TP_PROTO(struct snd_soc_dapm_context *dapm, int val),
5053

51-
TP_ARGS(card, val)
54+
TP_ARGS(dapm, val)
5255

5356
);
5457

sound/soc/soc-dapm.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -725,7 +725,7 @@ static int snd_soc_dapm_set_bias_level(struct snd_soc_dapm_context *dapm,
725725
struct snd_soc_card *card = dapm->card;
726726
int ret = 0;
727727

728-
trace_snd_soc_bias_level_start(card, level);
728+
trace_snd_soc_bias_level_start(dapm, level);
729729

730730
ret = snd_soc_card_set_bias_level(card, dapm, level);
731731
if (ret != 0)
@@ -739,7 +739,7 @@ static int snd_soc_dapm_set_bias_level(struct snd_soc_dapm_context *dapm,
739739

740740
ret = snd_soc_card_set_bias_level_post(card, dapm, level);
741741
out:
742-
trace_snd_soc_bias_level_done(card, level);
742+
trace_snd_soc_bias_level_done(dapm, level);
743743

744744
return ret;
745745
}

0 commit comments

Comments
 (0)