Skip to content

Pipeline refactor - Take 2#5338

Merged
lgirdwood merged 2 commits intothesofproject:topic/sof-devfrom
ranj063:sof-dev-022525
Mar 5, 2025
Merged

Pipeline refactor - Take 2#5338
lgirdwood merged 2 commits intothesofproject:topic/sof-devfrom
ranj063:sof-dev-022525

Conversation

@ranj063
Copy link
Collaborator

@ranj063 ranj063 commented Feb 25, 2025

No description provided.

Add a new host_config op in struct sof_ipc_tplg_ops and define it for
IPC4. This will be used to configure the host widget during prepare
after a suspend/resume or after an xrun.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
In preparation for refacting pipeline management, split the widget
prepare and set up between the hw_params and prepare ioctls. This is
required to ensure that the BE pipeline widgets can be set up during the
BE DAI prepare and the remaining widgets will be set up during the FE
DAI prepare. The widget's ipc_prepare op for all widgets in both the
BE and FE pipelines are handled during the FE DAI hw_params to make sure
that the pipeline params can be propagated all the way from the source
widget to the sink widget.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
@ranj063 ranj063 marked this pull request as ready for review February 26, 2025 15:49
Copy link
Collaborator

@bardliao bardliao left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verified with multiple-pipeline-all-50.sh on LNL

Copy link
Collaborator

@ujfalusi ujfalusi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IPC3 looks good, I have run several iterations of the LNL nocodec suspend while capture and it is passing as well.

@ujfalusi
Copy link
Collaborator

DSPless mode also works on upx

@ujfalusi
Copy link
Collaborator

DSPless mode also works on upx

DSPless mode also works on LNL: sdw to speaker/headset HDA to HDMI (on LNL DSP mode -> DSPless mode needs a reboot to make it working).

@ujfalusi
Copy link
Collaborator

@ranj063, there is a fw crash in test run 50295 for this PR..

@ujfalusi
Copy link
Collaborator

SOFCI TEST

@ranj063
Copy link
Collaborator Author

ranj063 commented Mar 3, 2025

Member

@ujfalusi, we've tested the multiple-pipeline-all test on Bard's LNL SDW machine multiple times and it seems to be fine. This test seems like a one off and IMHO not even related to this PR

@ranj063
Copy link
Collaborator Author

ranj063 commented Mar 4, 2025

@ujfalusi you good to merge this? Then I can post the next couple of patches

@lgirdwood
Copy link
Member

Last CI run all good, but lets run again for more data.

@lgirdwood
Copy link
Member

SOFCI TEST

@lgirdwood
Copy link
Member

@ranj063 @ujfalusi stress tests all passed today.
@ranj063 false positive ?

sound/soc/sof/ipc4-topology.c: In function ‘sof_ipc4_prepare_copier_module’:
sound/soc/sof/ipc4-topology.c:1894:34: error: use of uninitialized value ‘((int *)<unknown>)[2]’ [CWE-457] [-Werror=analyzer-use-of-uninitialized-value]
 1894 |         struct snd_pcm_hw_params ref_params;
      |                                  ^~~~~~~~~~
  ‘sof_ipc4_prepare_copier_module’: events 1-4
    |
    | 1894 |         struct snd_pcm_hw_params ref_params;
    |      |                                  ^~~~~~~~~~
    |      |                                  |
    |      |                                  (1) region created on stack here
    |      |                                  (2) following ‘true’ branch...
    |      |                                  (3) ...to here
    |      |                                  (4) use of uninitialized value ‘((int *)<unknown>)[2]’ here
    |
cc1: all warnings being treated as errors
make[5]: *** [scripts/Makefile.build:207: sound/soc/sof/ipc4-topology.o] Error 1

@ranj063
Copy link
Collaborator Author

ranj063 commented Mar 5, 2025

@ranj063 @ujfalusi stress tests all passed today. @ranj063 false positive ?

sound/soc/sof/ipc4-topology.c: In function ‘sof_ipc4_prepare_copier_module’:
sound/soc/sof/ipc4-topology.c:1894:34: error: use of uninitialized value ‘((int *)<unknown>)[2]’ [CWE-457] [-Werror=analyzer-use-of-uninitialized-value]
 1894 |         struct snd_pcm_hw_params ref_params;
      |                                  ^~~~~~~~~~
  ‘sof_ipc4_prepare_copier_module’: events 1-4
    |
    | 1894 |         struct snd_pcm_hw_params ref_params;
    |      |                                  ^~~~~~~~~~
    |      |                                  |
    |      |                                  (1) region created on stack here
    |      |                                  (2) following ‘true’ branch...
    |      |                                  (3) ...to here
    |      |                                  (4) use of uninitialized value ‘((int *)<unknown>)[2]’ here
    |
cc1: all warnings being treated as errors
make[5]: *** [scripts/Makefile.build:207: sound/soc/sof/ipc4-topology.o] Error 1

Yes @lgirdwood this is a known false positive that as existed for a while

@lgirdwood lgirdwood merged commit 993e7d6 into thesofproject:topic/sof-dev Mar 5, 2025
12 of 15 checks passed
@ranj063 ranj063 deleted the sof-dev-022525 branch March 5, 2025 16:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants