Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Probes ipc4 get config #5249

Open
wants to merge 6 commits into
base: topic/sof-dev
Choose a base branch
from

Commits on Nov 29, 2024

  1. ASoC: SOF: sof-client-probes-ipc4: Implement ipc4_probes_points_info

    Upgrade the struct sof_probes_ipc_ops points_info() method from dummy
    implementation to a working implementation. The actual functionality
    requires that the DSP FW supports the IPC request. The support was
    just recently added. If its not there an IPC failure is reported in
    the logs.
    
    Signed-off-by: Jyri Sarha <jyri.sarha@linux.intel.com>
    Jyri Sarha committed Nov 29, 2024
    Configuration menu
    Copy the full SHA
    0fbd254 View commit details
    Browse the repository at this point in the history
  2. ASoC: SOF: IPC4: Add GET macros for module id and module instance id

    Add SOF_IPC4_MOD_INSTANCE_GET() and SOF_IPC4_MOD_ID_GET() for getting
    the ids from ipc4 header presentation.
    
    Signed-off-by: Jyri Sarha <jyri.sarha@linux.intel.com>
    Jyri Sarha committed Nov 29, 2024
    Configuration menu
    Copy the full SHA
    40cbc3f View commit details
    Browse the repository at this point in the history
  3. ASoC: SOF: client: Add sof_client_ipc4_find_swidget_by_id()

    Add sof_client_ipc4_find_swidget_by_id() for finding widgets from SOF
    client devices. The motivation is to decode probes debugfs output to
    be more readable.
    
    Signed-off-by: Jyri Sarha <jyri.sarha@linux.intel.com>
    Jyri Sarha committed Nov 29, 2024
    Configuration menu
    Copy the full SHA
    5913a74 View commit details
    Browse the repository at this point in the history
  4. ASoC: SOF: sof-client-probes-ipc4: Human readable debugfs "probe_points"

    The current output of three integers is not very human readable. Use
    ipc4 functions to describe in more detail what the struct
    sof_probe_point_desc buffer_id is actually referring to in an ipc4 SOF
    system.
    
    Before this commit the "probe_points" debugfs file could read as:
    
    Id: 0x01000004  Purpose: 0  Node id: 0x100
    Id: 0x00000006  Purpose: 0  Node id: 0x100
    
    And after in the same situation in an ipc4 system it reads:
    
    16777220,0,256	host-copier.0.playback output buf idx 0 (probed)
    6,0,256	gain.1.1 input buf idx 0 (probed)
    
    The triplet in the beginning of the line can be used to reinserted the
    probe point again by writing it into "probe_points" debugfs file, if
    its first removed by writing the fist number in "probe_points_remove".
    The last number is ignored when creating a probe point.
    
    Signed-off-by: Jyri Sarha <jyri.sarha@linux.intel.com>
    Jyri Sarha committed Nov 29, 2024
    Configuration menu
    Copy the full SHA
    083c990 View commit details
    Browse the repository at this point in the history
  5. SQUASH ASoC: SOF: sof-client-probes-ipc4: Human readable debugfs "pro…

    …be_points"
    Jyri Sarha committed Nov 29, 2024
    Configuration menu
    Copy the full SHA
    fafbb2f View commit details
    Browse the repository at this point in the history
  6. ASoC: SOF: sof-client-probes: Add available points_info(), IPC4 only

    Add another debugfs file, "probe_points_available", that shows all the
    available probe points in the SOF FW at the time of query. The probe
    points are there only when an active SOF stream exists in the
    system. However, the stream identifiers are persistent in the sense
    that the same probe point identifiers always appear with the same
    playback or capture command in the same system configuration.
    
    The output, when reading "probe_points_available", may look like this:
    
    16777220,0,256 host-copier.0.playback output 1 buf idx 0 (probed)
    6,0,256	gain.1.1 input buf idx 0 (probed)
    16777222,0,0	gain.1.1 output buf idx 0
    2,0,0	mixin.1.1 input buf idx 0
    16777218,0,0	mixin.1.1 output buf idx 0
    3,0,0	mixout.2.1 input buf idx 0
    16777219,0,0	mixout.2.1 output buf idx 0
    65542,0,0	gain.2.1 input 0 buf idx 0
    16842758,0,0	gain.2.1 output buf idx 0
    15,0,0	smart_amp.2.1 input buf idx 0
    16777231,0,0	smart_amp.2.1 output buf idx 0
    65540,0,0	dai-copier.SSP.NoCodec-0.playback input buf idx 0
    
    The triplet at the beginning of a line can be copy-pasted as such to
    "probe_points" debugfs file for adding a probe point. The rest of the
    line tries to give human readable explanation of what this probe point
    is.
    
    Signed-off-by: Jyri Sarha <jyri.sarha@linux.intel.com>
    Jyri Sarha committed Nov 29, 2024
    Configuration menu
    Copy the full SHA
    42620ca View commit details
    Browse the repository at this point in the history