diff options
Diffstat (limited to 'meta/recipes-kernel/lttng/lttng-modules/0002-Fix-ASoC-add-component-to-set_bias_level-events-in-l.patch')
-rw-r--r-- | meta/recipes-kernel/lttng/lttng-modules/0002-Fix-ASoC-add-component-to-set_bias_level-events-in-l.patch | 132 |
1 files changed, 132 insertions, 0 deletions
diff --git a/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-ASoC-add-component-to-set_bias_level-events-in-l.patch b/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-ASoC-add-component-to-set_bias_level-events-in-l.patch new file mode 100644 index 0000000000..6ea10ffc91 --- /dev/null +++ b/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-ASoC-add-component-to-set_bias_level-events-in-l.patch | |||
@@ -0,0 +1,132 @@ | |||
1 | From d8379ec6365a925db33cae94fb6783cdbdb6a922 Mon Sep 17 00:00:00 2001 | ||
2 | From: Kienan Stewart <kstewart@efficios.com> | ||
3 | Date: Mon, 25 Mar 2024 09:40:29 -0400 | ||
4 | Subject: [PATCH 2/4] Fix: ASoC add component to set_bias_level events in linux | ||
5 | 6.9-rc1 | ||
6 | |||
7 | See upstream commit: | ||
8 | |||
9 | commit 6ef46a69ec32fe1cf56de67742fcd01af4bf48af | ||
10 | Author: Luca Ceresoli <luca.ceresoli@bootlin.com> | ||
11 | Date: Wed Mar 6 10:30:00 2024 +0100 | ||
12 | |||
13 | ASoC: trace: add component to set_bias_level trace events | ||
14 | |||
15 | The snd_soc_bias_level_start and snd_soc_bias_level_done trace events | ||
16 | currently look like: | ||
17 | |||
18 | aplay-229 [000] 1250.140778: snd_soc_bias_level_start: card=vscn-2046 val=1 | ||
19 | aplay-229 [000] 1250.140784: snd_soc_bias_level_done: card=vscn-2046 val=1 | ||
20 | aplay-229 [000] 1250.140786: snd_soc_bias_level_start: card=vscn-2046 val=2 | ||
21 | aplay-229 [000] 1250.140788: snd_soc_bias_level_done: card=vscn-2046 val=2 | ||
22 | kworker/u8:1-21 [000] 1250.140871: snd_soc_bias_level_start: card=vscn-2046 val=1 | ||
23 | kworker/u8:0-11 [000] 1250.140951: snd_soc_bias_level_start: card=vscn-2046 val=1 | ||
24 | kworker/u8:0-11 [000] 1250.140956: snd_soc_bias_level_done: card=vscn-2046 val=1 | ||
25 | kworker/u8:0-11 [000] 1250.140959: snd_soc_bias_level_start: card=vscn-2046 val=2 | ||
26 | kworker/u8:0-11 [000] 1250.140961: snd_soc_bias_level_done: card=vscn-2046 val=2 | ||
27 | kworker/u8:1-21 [000] 1250.167219: snd_soc_bias_level_done: card=vscn-2046 val=1 | ||
28 | kworker/u8:1-21 [000] 1250.167222: snd_soc_bias_level_start: card=vscn-2046 val=2 | ||
29 | kworker/u8:1-21 [000] 1250.167232: snd_soc_bias_level_done: card=vscn-2046 val=2 | ||
30 | kworker/u8:0-11 [000] 1250.167440: snd_soc_bias_level_start: card=vscn-2046 val=3 | ||
31 | kworker/u8:0-11 [000] 1250.167444: snd_soc_bias_level_done: card=vscn-2046 val=3 | ||
32 | kworker/u8:1-21 [000] 1250.167497: snd_soc_bias_level_start: card=vscn-2046 val=3 | ||
33 | kworker/u8:1-21 [000] 1250.167506: snd_soc_bias_level_done: card=vscn-2046 val=3 | ||
34 | |||
35 | There are clearly multiple calls, one per component, but they cannot be | ||
36 | discriminated from each other. | ||
37 | |||
38 | Change the ftrace events to also print the component name, to make it clear | ||
39 | which part of the code is involved. This requires changing the passed value | ||
40 | from a struct snd_soc_card, where the DAPM context is not kwown, to a | ||
41 | struct snd_soc_dapm_context where it is obviously known but the a card | ||
42 | pointer is also available. | ||
43 | |||
44 | With this change, the resulting trace becomes: | ||
45 | |||
46 | aplay-247 [000] 1436.357332: snd_soc_bias_level_start: card=vscn-2046 component=(none) val=1 | ||
47 | aplay-247 [000] 1436.357338: snd_soc_bias_level_done: card=vscn-2046 component=(none) val=1 | ||
48 | aplay-247 [000] 1436.357340: snd_soc_bias_level_start: card=vscn-2046 component=(none) val=2 | ||
49 | aplay-247 [000] 1436.357343: snd_soc_bias_level_done: card=vscn-2046 component=(none) val=2 | ||
50 | kworker/u8:4-215 [000] 1436.357437: snd_soc_bias_level_start: card=vscn-2046 component=ff560000.codec val=1 | ||
51 | kworker/u8:5-231 [000] 1436.357518: snd_soc_bias_level_start: card=vscn-2046 component=ff320000.i2s val=1 | ||
52 | kworker/u8:5-231 [000] 1436.357523: snd_soc_bias_level_done: card=vscn-2046 component=ff320000.i2s val=1 | ||
53 | kworker/u8:5-231 [000] 1436.357526: snd_soc_bias_level_start: card=vscn-2046 component=ff320000.i2s val=2 | ||
54 | kworker/u8:5-231 [000] 1436.357528: snd_soc_bias_level_done: card=vscn-2046 component=ff320000.i2s val=2 | ||
55 | kworker/u8:4-215 [000] 1436.383217: snd_soc_bias_level_done: card=vscn-2046 component=ff560000.codec val=1 | ||
56 | kworker/u8:4-215 [000] 1436.383221: snd_soc_bias_level_start: card=vscn-2046 component=ff560000.codec val=2 | ||
57 | kworker/u8:4-215 [000] 1436.383231: snd_soc_bias_level_done: card=vscn-2046 component=ff560000.codec val=2 | ||
58 | kworker/u8:5-231 [000] 1436.383468: snd_soc_bias_level_start: card=vscn-2046 component=ff320000.i2s val=3 | ||
59 | kworker/u8:5-231 [000] 1436.383472: snd_soc_bias_level_done: card=vscn-2046 component=ff320000.i2s val=3 | ||
60 | kworker/u8:4-215 [000] 1436.383503: snd_soc_bias_level_start: card=vscn-2046 component=ff560000.codec val=3 | ||
61 | kworker/u8:4-215 [000] 1436.383513: snd_soc_bias_level_done: card=vscn-2046 component=ff560000.codec val=3 | ||
62 | |||
63 | Upstream-Status: Backport [303434ab Fix: ASoC add component to set_bias_level events in linux 6.9-rc1] | ||
64 | |||
65 | Change-Id: I959f1680c002acdf29828b968d3975247f5433d8 | ||
66 | Signed-off-by: Kienan Stewart <kstewart@efficios.com> | ||
67 | Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> | ||
68 | --- | ||
69 | include/instrumentation/events/asoc.h | 36 +++++++++++++++++++++++++++ | ||
70 | 1 file changed, 36 insertions(+) | ||
71 | |||
72 | Index: lttng-modules-2.13.12/include/instrumentation/events/asoc.h | ||
73 | =================================================================== | ||
74 | --- lttng-modules-2.13.12.orig/include/instrumentation/events/asoc.h | ||
75 | +++ lttng-modules-2.13.12/include/instrumentation/events/asoc.h | ||
76 | @@ -10,6 +10,7 @@ | ||
77 | #include <lttng/kernel-version.h> | ||
78 | |||
79 | #define DAPM_DIRECT "(direct)" | ||
80 | +#define DAPM_COMPONENT_NONE "(none)" | ||
81 | |||
82 | #ifndef _TRACE_ASOC_DEF | ||
83 | #define _TRACE_ASOC_DEF | ||
84 | @@ -119,6 +120,40 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc | ||
85 | ) | ||
86 | #endif | ||
87 | |||
88 | +#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,9,0)) | ||
89 | +LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_dapm_context, | ||
90 | + | ||
91 | + TP_PROTO(struct snd_soc_dapm_context *dapm, int val), | ||
92 | + | ||
93 | + TP_ARGS(dapm, val), | ||
94 | + | ||
95 | + TP_FIELDS( | ||
96 | + ctf_string(name, dapm->card->name) | ||
97 | + ctf_string(component, dapm->component ? dapm->component->name : DAPM_COMPONENT_NONE) | ||
98 | + ctf_integer(int, val, val) | ||
99 | + ) | ||
100 | +) | ||
101 | + | ||
102 | +LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_context, snd_soc_bias_level_start, | ||
103 | + | ||
104 | + asoc_snd_soc_bias_level_start, | ||
105 | + | ||
106 | + TP_PROTO(struct snd_soc_dapm_context *dapm, int val), | ||
107 | + | ||
108 | + TP_ARGS(dapm, val) | ||
109 | + | ||
110 | +) | ||
111 | + | ||
112 | +LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_context, snd_soc_bias_level_done, | ||
113 | + | ||
114 | + asoc_snd_soc_bias_level_done, | ||
115 | + | ||
116 | + TP_PROTO(struct snd_soc_dapm_context *dapm, int val), | ||
117 | + | ||
118 | + TP_ARGS(dapm, val) | ||
119 | + | ||
120 | +) | ||
121 | +#else | ||
122 | LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_card, | ||
123 | |||
124 | TP_PROTO(struct snd_soc_card *card, int val), | ||
125 | @@ -150,6 +185,7 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc | ||
126 | TP_ARGS(card, val) | ||
127 | |||
128 | ) | ||
129 | +#endif | ||
130 | |||
131 | #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,9,0)) | ||
132 | LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_dapm_basic, | ||