-
Notifications
You must be signed in to change notification settings - Fork 349
topology2 : add DTS topology and changes for MTL #8378
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
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 |
|---|---|---|
| @@ -0,0 +1,129 @@ | ||
| # | ||
| # Pipeline definitions | ||
| # | ||
| # PCM0 ---> gain ----> Mixin ----> Mixout ----> gain ----> EQ IIR ----> DTS ----> SSP0 | ||
| # PCM1 ---> gain ----> Mixin ----> Mixout ----> gain ----> EQ IIR ----> DTS ----> SSP1 | ||
|
|
||
| # Pipeline ID:1 PCM ID: 0 | ||
| Object.Pipeline { | ||
| # playback pipelines | ||
| host-copier-gain-mixin-playback [ | ||
| { | ||
| index 1 | ||
|
|
||
| Object.Widget.host-copier.1 { | ||
| stream_name '$HEADSET_PLAYBACK_PCM_STREAM_NAME' | ||
| pcm_id $HEADSET_PCM_ID | ||
| } | ||
| Object.Widget.gain.1 { | ||
| Object.Control.mixer.1 { | ||
| name 'Pre Mixer $HEADSET_PCM_NAME Playback Volume' | ||
| } | ||
| } | ||
| } | ||
| { | ||
| index 3 | ||
|
|
||
| Object.Widget.host-copier.1 { | ||
| stream_name '$SPEAKER_PLAYBACK_PCM_STREAM_NAME' | ||
| pcm_id $SPEAKER_PCM_ID | ||
| } | ||
| Object.Widget.gain.1 { | ||
| Object.Control.mixer.1 { | ||
| name 'Pre Mixer $SPEAKER_PCM_NAME Playback Volume' | ||
| } | ||
| } | ||
| } | ||
| ] | ||
|
|
||
| mixout-gain-eqiir-dts-dai-copier-playback [ | ||
| { | ||
| index 2 | ||
|
|
||
| Object.Widget.dai-copier.1 { | ||
| dai_index $HEADSET_SSP_DAI_INDEX | ||
| dai_type "SSP" | ||
| copier_type "SSP" | ||
| stream_name "$HEADSET_CODEC_NAME" | ||
| node_type $I2S_LINK_OUTPUT_CLASS | ||
| } | ||
|
|
||
| Object.Widget.gain.1 { | ||
| Object.Control.mixer.1 { | ||
| name 'Post Mixer $HEADSET_PCM_NAME Playback Volume' | ||
| } | ||
| } | ||
|
|
||
| Object.Widget.eqiir.1 { | ||
| Object.Control.bytes."1" { | ||
| name 'EQIIR2.0 eqiir_coef_2' | ||
| } | ||
| } | ||
|
|
||
| Object.Widget.dts.1 { | ||
| Object.Control.bytes."1" { | ||
| max 2048 | ||
| name 'CODEC_ADAPTER2.0 DTS Codec Setup 2' | ||
| } | ||
| } | ||
| } | ||
| { | ||
| index 4 | ||
|
|
||
| Object.Widget.dai-copier.1 { | ||
| dai_index $SPEAKER_SSP_DAI_INDEX | ||
| dai_type "SSP" | ||
| copier_type "SSP" | ||
| stream_name "$SPEAKER_CODEC_NAME" | ||
| node_type $I2S_LINK_OUTPUT_CLASS | ||
| } | ||
|
|
||
| Object.Widget.gain.1 { | ||
| Object.Control.mixer.1 { | ||
| name 'Post Mixer $SPEAKER_PCM_NAME Playback Volume' | ||
| } | ||
| } | ||
|
|
||
| Object.Widget.eqiir.1 { | ||
| Object.Control.bytes."1" { | ||
| name 'EQIIR1.0 eqiir_coef_1' | ||
| } | ||
| } | ||
|
|
||
| Object.Widget.dts.1 { | ||
| Object.Control.bytes."1" { | ||
| max 2048 | ||
| name 'CODEC_ADAPTER1.0 DTS Codec Setup 1' | ||
| } | ||
| } | ||
|
|
||
| } | ||
| ] | ||
| } | ||
|
|
||
| Object.Base.route [ | ||
| { | ||
| source "gain.2.1" | ||
| sink "eqiir.2.1" | ||
| } | ||
| { | ||
| source "dts.2.1" | ||
| sink "dai-copier.SSP.$HEADSET_CODEC_NAME.playback" | ||
| } | ||
| { | ||
| source "mixin.1.1" | ||
| sink "mixout.2.1" | ||
| } | ||
| { | ||
| source "gain.4.1" | ||
| sink "eqiir.4.1" | ||
| } | ||
| { | ||
| source "dts.4.1" | ||
| sink "dai-copier.SSP.$SPEAKER_CODEC_NAME.playback" | ||
| } | ||
| { | ||
| source "mixin.3.1" | ||
| sink "mixout.4.1" | ||
| } | ||
| ] | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,95 @@ | ||
| # | ||
| # Pipeline definitions | ||
| # | ||
| # PCM0 ---> gain ----> Mixin ----> Mixout ----> gain ----> SSP0 | ||
| # PCM1 ---> gain ----> Mixin ----> Mixout ----> gain ----> SSP1 | ||
| # | ||
|
|
||
| # Pipeline ID:1 PCM ID: 0 | ||
| Object.Pipeline { | ||
| # playback pipelines | ||
| host-copier-gain-mixin-playback [ | ||
| { | ||
| index 1 | ||
|
|
||
| Object.Widget.host-copier.1 { | ||
| stream_name '$HEADSET_PLAYBACK_PCM_STREAM_NAME' | ||
| pcm_id $HEADSET_PCM_ID | ||
| } | ||
| Object.Widget.gain.1 { | ||
| Object.Control.mixer.1 { | ||
| name 'Pre Mixer $HEADSET_PCM_NAME Playback Volume' | ||
| } | ||
| } | ||
| } | ||
| { | ||
| index 3 | ||
|
|
||
| Object.Widget.host-copier.1 { | ||
| stream_name '$SPEAKER_PLAYBACK_PCM_STREAM_NAME' | ||
| pcm_id $SPEAKER_PCM_ID | ||
| } | ||
| Object.Widget.gain.1 { | ||
| Object.Control.mixer.1 { | ||
| name 'Pre Mixer $SPEAKER_PCM_NAME Playback Volume' | ||
| } | ||
| } | ||
| } | ||
| ] | ||
|
|
||
| mixout-gain-dai-copier-playback [ | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. this seems a bit too much duplication. Can we simplify this by moving the mixout-gain to a separate pipeline and connecting to the DAI copier at the top-level first? And then add a new pipeline with just the eq-iir->dts and insert it only when needed along with the new routes at the top-level?
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I have one question. For "insert" you mentioned, do you mean using IncludeByKey to choose different pipeline or route at the top-level?
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Ack, I think @ranj063 was referring to IncludeByKey here. |
||
| { | ||
| index 2 | ||
|
|
||
| Object.Widget.dai-copier.1 { | ||
| dai_index $HEADSET_SSP_DAI_INDEX | ||
| dai_type "SSP" | ||
| copier_type "SSP" | ||
| stream_name "$HEADSET_CODEC_NAME" | ||
| node_type $I2S_LINK_OUTPUT_CLASS | ||
| } | ||
|
|
||
| Object.Widget.gain.1 { | ||
| Object.Control.mixer.1 { | ||
| name 'Post Mixer $HEADSET_PCM_NAME Playback Volume' | ||
| } | ||
| } | ||
| } | ||
| { | ||
| index 4 | ||
|
|
||
| Object.Widget.dai-copier.1 { | ||
| dai_index $SPEAKER_SSP_DAI_INDEX | ||
| dai_type "SSP" | ||
| copier_type "SSP" | ||
| stream_name "$SPEAKER_CODEC_NAME" | ||
| node_type $I2S_LINK_OUTPUT_CLASS | ||
| } | ||
|
|
||
| Object.Widget.gain.1 { | ||
| Object.Control.mixer.1 { | ||
| name 'Post Mixer $SPEAKER_PCM_NAME Playback Volume' | ||
| } | ||
| } | ||
| } | ||
| ] | ||
| } | ||
|
|
||
| Object.Base.route [ | ||
| { | ||
| source "gain.2.1" | ||
| sink "dai-copier.SSP.$HEADSET_CODEC_NAME.playback" | ||
| } | ||
| { | ||
| source "mixin.1.1" | ||
| sink "mixout.2.1" | ||
| } | ||
| { | ||
| source "gain.4.1" | ||
| sink "dai-copier.SSP.$SPEAKER_CODEC_NAME.playback" | ||
| } | ||
| { | ||
| source "mixin.3.1" | ||
| sink "mixout.4.1" | ||
| } | ||
| ] | ||
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.
@jsarha @bardliao @plbossart do we still need index, IIRC we were (planning?) removing index from topology to be automatic.
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.
@lgirdwood yes it is still needed. There's no plan to make it automatic right now because widgets are identified with the index for top-level routes.