-
Notifications
You must be signed in to change notification settings - Fork 351
topology2: add SDW echo reference function topologies #10573
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
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -167,6 +167,12 @@ IncludeByKey.SDW_ECHO_REF_DAI { | |||||||||
| ] | ||||||||||
| } | ||||||||||
| ] | ||||||||||
| IncludeByKey.NUM_SDW_AMP_LINKS { | ||||||||||
| "0" "platform/intel/sdw-amp-echo-ref.conf" | ||||||||||
| } | ||||||||||
| IncludeByKey.SDW_JACK { | ||||||||||
| "false" "platform/intel/sdw-jack-echo-ref.conf" | ||||||||||
|
Comment on lines
+173
to
+174
|
||||||||||
| IncludeByKey.SDW_JACK { | |
| "false" "platform/intel/sdw-jack-echo-ref.conf" | |
| IncludeByKey.SDW_JACK_ECHO_REF { | |
| "true" "platform/intel/sdw-jack-echo-ref.conf" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The purpose of the check is to make sure sdw-jack-generic.conf is not loaded. Because sdw-jack-echo-ref.conf is included in sdw-jack-generic.conf and he echo reference components will be duplicated if we include sdw-jack-echo-ref.conf here in that case.
Besides, SDW_JACK_ECHO_REF is checked inside sdw-jack-echo-ref.conf. No need to check it here.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,125 @@ | ||
|
|
||
| Define { | ||
| SDW_SPK_ECHO_REF_PCM_ID 12 | ||
| SDW_SPK_ECHO_REF_PIPELINE_ID 120 | ||
| } | ||
|
|
||
| IncludeByKey.PASSTHROUGH { | ||
| "false" { | ||
| IncludeByKey.SDW_SPK_ECHO_REF { | ||
| "true" { | ||
| IncludeByKey.SDW_SPK_ENHANCED_PLAYBACK { | ||
| "true" { | ||
| IncludeByKey.USE_DAX { | ||
| "true" { | ||
| Object.Base.route [ | ||
| { | ||
| source "dolby-dax.21.1" | ||
| sink "module-copier.21.$SDW_SPK_ECHO_REF_PIPELINE_ID" | ||
| } | ||
| { | ||
| source "module-copier.21.$SDW_SPK_ECHO_REF_PIPELINE_ID" | ||
| sink "alh-copier.$SDW_SPK_STREAM.0" | ||
| } | ||
| ] | ||
| } | ||
| "false" { | ||
| Object.Base.route [ | ||
| { | ||
| source "drc.21.1" | ||
| sink "module-copier.21.$SDW_SPK_ECHO_REF_PIPELINE_ID" | ||
| } | ||
| { | ||
| source "module-copier.21.$SDW_SPK_ECHO_REF_PIPELINE_ID" | ||
| sink "alh-copier.$SDW_SPK_STREAM.0" | ||
| } | ||
| ] | ||
| } | ||
| } | ||
| } | ||
| "false" { | ||
| Object.Base.route [ | ||
| { | ||
| source "gain.21.1" | ||
| sink "module-copier.21.$SDW_SPK_ECHO_REF_PIPELINE_ID" | ||
| } | ||
| { | ||
| source "module-copier.21.$SDW_SPK_ECHO_REF_PIPELINE_ID" | ||
| sink "alh-copier.$SDW_SPK_STREAM.0" | ||
| } | ||
| ] | ||
| } | ||
| } | ||
| } | ||
| } | ||
| } | ||
| } | ||
|
|
||
| IncludeByKey.SDW_SPK_ECHO_REF { | ||
| "true" { | ||
| #module-copier ID should match SDW_SPK_ECHO_REF_PIPELINE_ID | ||
| Object.Widget.module-copier."120" { | ||
| index 21 | ||
| num_input_pins 1 | ||
| num_output_pins 2 | ||
| num_input_audio_formats 1 | ||
| num_output_audio_formats 1 | ||
| Object.Base.input_audio_format [ | ||
| { | ||
| in_bit_depth 32 | ||
| in_valid_bit_depth 32 | ||
| } | ||
| ] | ||
| Object.Base.output_audio_format [ | ||
| { | ||
| out_bit_depth 32 | ||
| out_valid_bit_depth 32 | ||
| } | ||
| ] | ||
| } | ||
|
|
||
| Object.Pipeline { | ||
| siggen-host-copier-capture [ | ||
| { | ||
| direction "capture" | ||
| index $SDW_SPK_ECHO_REF_PIPELINE_ID | ||
| Object.Widget.host-copier."1" { | ||
| stream_name "Speaker Echo Reference" | ||
| pcm_id $SDW_SPK_ECHO_REF_PCM_ID | ||
| } | ||
| Object.Widget.siggen."1" {} | ||
| } | ||
| ] | ||
| } | ||
|
|
||
| Object.PCM.pcm [ | ||
| { | ||
| name "Speaker Echo Reference" | ||
| id $SDW_SPK_ECHO_REF_PCM_ID | ||
| direction "capture" | ||
| Object.Base.fe_dai.1 { | ||
| name "Speaker Echo Reference" | ||
| } | ||
| Object.PCM.pcm_caps.1 { | ||
| name "Speaker Echo Reference" | ||
| formats 'S16_LE,S24_LE,S32_LE' | ||
| } | ||
| } | ||
| ] | ||
|
|
||
| Object.Base.route [ | ||
| { | ||
| source "alh-copier.Loopback_Virtual.25" | ||
| sink "siggen.$SDW_SPK_ECHO_REF_PIPELINE_ID.1" | ||
| } | ||
| { | ||
| source "module-copier.21.$SDW_SPK_ECHO_REF_PIPELINE_ID" | ||
| sink "siggen.$SDW_SPK_ECHO_REF_PIPELINE_ID.1" | ||
| } | ||
| { | ||
| source "siggen.$SDW_SPK_ECHO_REF_PIPELINE_ID.1" | ||
| sink "host-copier.$SDW_SPK_ECHO_REF_PCM_ID.capture" | ||
| } | ||
| ] | ||
| } # SDW_SPK_ECHO_REF true | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The conditional logic appears incorrect. This condition includes the amp echo reference configuration only when NUM_SDW_AMP_LINKS is "0" (no amp links), but amp echo reference should logically be included when SDW_SPK_ECHO_REF is "true" instead. The current logic would include speaker echo reference configuration even when there are no speaker/amp devices, which doesn't make sense. This should check "SDW_SPK_ECHO_REF" with value "true" to match the pattern used in sdw-amp-generic.conf line 1006.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same answer as #10573 (comment)