Skip to content

topology2: isolated dolby-dax widget setting on headphone#10642

Open
checkupup wants to merge 1 commit intothesofproject:mainfrom
checkupup:main_dax_headset_tplg
Open

topology2: isolated dolby-dax widget setting on headphone#10642
checkupup wants to merge 1 commit intothesofproject:mainfrom
checkupup:main_dax_headset_tplg

Conversation

@checkupup
Copy link
Contributor

On certain platforms, such as Intel PTL, memory limitations prevent the creation of two instances simultaneously on both the speaker and headphone pipelines. The DAX_HEADSET option has been added here to allow user to decide whether to enable DAX on both the speaker and headphone pipelines based on the platform's capabilities.

The DAX speaker is mandatory if USE_DAX is set to true, so there is no DAX_SPEAKER option.

On certain platforms, such as Intel PTL, memory limitations prevent the
creation of two instances simultaneously on both the speaker and headphone
pipelines. The DAX_HEADSET option has been added here to allow user to decide
whether to enable DAX on both the speaker and headphone pipelines based on
the platform's capabilities.

Signed-off-by: Jun Lai <jun.lai@dolby.com>
@sofci
Copy link
Collaborator

sofci commented Mar 23, 2026

Can one of the admins verify this patch?

reply test this please to run this test once

mixout-gain-dax-alh-dai-copier-playback [
{
index 1
IncludeByKey.DAX_HEADSET {
Copy link
Member

Choose a reason for hiding this comment

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

@checkupup would this not be better at the level above ? i.e. we have a sdw-jack-dax.conf file and we include that OR sdw-jack-generic.conf in the higher level conf file using the DAX options.

Copy link
Contributor

Choose a reason for hiding this comment

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

+1. I think we can create a sdw-jack-dax.conf and sdw-amp-dax.conf to extract out DAX-related variation, and use IncludeKey.USE_DAX to choose to include either -dax.conf or -generic.conf. These 2 files now are not that friendly to read.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

maybe like this?

IncludeByKey.NUM_SDW_AMP_LINKS {
	"[1-3]" {
		IncludeByKey.SWD_AMP_PIPELINE_SRC {
			"generic"	"platform/intel/sdw-amp-generic.conf" # drc and volume only
			"passthrough"	"platform/intel/sdw-amp-passthrough.conf"
			"xover"		"platform/intel/sdw-amp-xover.conf"
			"dax"		"platform/intel/sdw-amp-dax.conf"
		}
	}
}

IncludeByKey.SDW_JACK_PIPELINE_SRC {
	"generic"	"platform/intel/sdw-jack-generic.conf"
	"passthrough"	"platform/intel/sdw-jack-passthrough.conf"
	"dax"		"platform/intel/sdw-jack-dax.conf"
}

I'm thinking of submitting another change to reorganize this logic.

@lgirdwood
Copy link
Member

test this please

@lgirdwood
Copy link
Member

@checkupup btw, what are the memory requirements for DAX in this configuration ? I guess we are good for TEXT, DATA and RODATA sections, but I assume the gap is for continuous memory on the heap for 2 instances (what size) ?

@johnylin76
Copy link
Contributor

@checkupup btw, what are the memory requirements for DAX in this configuration ? I guess we are good for TEXT, DATA and RODATA sections, but I assume the gap is for continuous memory on the heap for 2 instances (what size) ?

The memory requirements are on runtime heap memory. While starting to run, one DAX module will allocate ~590kB dynamic buffer.

Copy link
Contributor

@johnylin76 johnylin76 left a comment

Choose a reason for hiding this comment

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

LGTM. I have also verified on my end, thanks.

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