Skip to content

Commit bc438c0

Browse files
ujfalusilgirdwood
authored andcommitted
developer_guides: debugability: probes: Bring the documentation up to date
The kernel print has been changed since the documentation was added and let's add a convenience 'hack' to gather the IDs that we need to pass as point ID. At the same time align the rendered page. Signed-off-by: Peter Ujfalusi <[email protected]>
1 parent dad39b0 commit bc438c0

File tree

1 file changed

+38
-23
lines changed
  • developer_guides/debugability/probes

1 file changed

+38
-23
lines changed

developer_guides/debugability/probes/index.rst

Lines changed: 38 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -135,35 +135,50 @@ the last stage of extraction.
135135
Refer to the host side struct sof_probe_point_desc defined in ``sound/soc/sof/probe.h``
136136
or struct probe_point in ``/src/include/ipc/probe.h`` from sof for the meaning of the triplets:
137137

138-
.. code-block:: c
138+
.. code-block:: c
139139
140-
/**
141-
* Description of probe point
142-
*/
143-
struct probe_point {
144-
uint32_t buffer_id; /**< ID of buffer to which probe is attached */
145-
uint32_t purpose; /**< PROBE_PURPOSE_EXTRACTION or PROBE_PURPOSE_INJECTION */
146-
uint32_t stream_tag; /**< Stream tag of DMA via which data will be provided for injection.
147-
* For extraction purposes, stream tag is ignored when received,
148-
* but returned actual extraction stream tag via INFO function.
149-
*/
150-
} __attribute__((packed));
140+
/**
141+
* Description of probe point
142+
*/
143+
struct probe_point {
144+
uint32_t buffer_id; /**< ID of buffer to which probe is attached */
145+
uint32_t purpose; /**< PROBE_PURPOSE_EXTRACTION or PROBE_PURPOSE_INJECTION */
146+
uint32_t stream_tag; /**< Stream tag of DMA via which data will be provided for injection.
147+
* For extraction purposes, stream tag is ignored when received,
148+
* but returned actual extraction stream tag via INFO function.
149+
*/
150+
} __attribute__((packed));
151+
152+
In the above example, 7 stands for the ``buffer_id`` which is a monolithic
153+
counter value that follows a component instantiation order.
151154

152-
In the above example, 7 stands for the ``buffer_id`` which is a monolithic
153-
counter value that follows a component instantiation order.
155+
One way to find out the right instance of ``buffer_id`` is to enable
156+
dev_dbg in ``sound/sound/soc/sof/topology.c`` and search for the widget id
157+
from the following messages:
154158

155-
One way to find out the right instance of ``buffer_id`` is to enable
156-
dev_dbg in ``sound/sound/soc/sof/topology.c`` and search for the widget id
157-
from the following messages:
159+
.. code-block:: c
158160
159-
.. code-block:: c
161+
dev_dbg(scomp->dev,
162+
"tplg: widget %d (%s) is ready [type: %d, pipe: %d, pins: %d / %d, stream: %s]\n",
163+
swidget->comp_id, w->name, swidget->id, index,
164+
swidget->num_input_pins, swidget->num_output_pins,
165+
strnlen(w->sname, SNDRV_CTL_ELEM_ID_NAME_MAXLEN) > 0 ? w->sname : "none");
160166

161-
dev_dbg(scomp->dev, "tplg: ready widget id %d pipe %d type %d name : %s stream %s\n",
162-
swidget->comp_id, index, swidget->id, tw->name,
163-
strnlen(tw->sname, SNDRV_CTL_ELEM_ID_NAME_MAXLEN) > 0
164-
? tw->sname : "none");
167+
On a booted system the list can be acquired with
168+
169+
.. code-block:: bash
165170
166-
For IPC4 system, the above example looks like this:
171+
dmesg | grep "tplg: widget "
172+
...
173+
snd_sof:sof_widget_ready: sof-audio-pci-intel-tgl 0000:00:1f.3: tplg: widget 2 (gain.1.1) is ready [type: 6, pipe: 1, pins: 1 / 1, stream: none]
174+
snd_sof:sof_widget_ready: sof-audio-pci-intel-tgl 0000:00:1f.3: tplg: widget 3 (mixin.1.1) is ready [type: 4, pipe: 1, pins: 1 / 3, stream: none]
175+
snd_sof:sof_widget_ready: sof-audio-pci-intel-tgl 0000:00:1f.3: tplg: widget 4 (pipeline.1) is ready [type: 32, pipe: 1, pins: 0 / 0, stream: none]
176+
snd_sof:sof_widget_ready: sof-audio-pci-intel-tgl 0000:00:1f.3: tplg: widget 5 (codec0_in) is ready [type: 0, pipe: 1, pins: 0 / 0, stream: none]
177+
snd_sof:sof_widget_ready: sof-audio-pci-intel-tgl 0000:00:1f.3: tplg: widget 6 (iDisp2 Tx) is ready [type: 7, pipe: 1, pins: 0 / 0, stream: none]
178+
snd_sof:sof_widget_ready: sof-audio-pci-intel-tgl 0000:00:1f.3: tplg: widget 7 (dai-copier.HDA.Analog.playback) is ready [type: 27, pipe: 2, pins: 1 / 0, stream: Analog]
179+
...
180+
181+
For IPC4 system, the above example looks like this (extraction from gain.1.1):
167182

168183
.. code-block:: bash
169184

0 commit comments

Comments
 (0)