alsa-utils/topology
Ranjani Sridharan 571d1fe871 topology: pre-process-object: add data section for attributes with token reference
Objects that have attributes with token_ref need
to have separate SectionData and SectionVendorTuples
for each unique token_ref based on the attribute_sets
in the object's attribute_set_list.

Add the tplg_pp_add_object_data()
function to add the data[] refs in the object and also
the respective SectionData and SectionVendorTuples.

For example for the pga object:

Object.Widget.pga."0" {
	pipeline_id 2
	format s24le
	type pga
	no_pm 1
	uuid    "7e:67:7e:b7:f4:5f:88:41:af:14:fb:a8:bd:bf:8"
	period_sink_count 2
	period_source_count 2
	ramp_step_ms 250
        ramp_step_type "linear"
	mixer.0 {
		....
	}
	mixer.0.name "2 Master Playback Volume"
}

The following sections will be added:
SectionWidget.'pga.2.0' {
	index 2
	type pga
	no_pm 1
	mixer [
		"2 Master Playback Volume"
	]
	bytes [
	]
	data [
		"pga.2.0.sof_tkn_comp.word"
		"pga.2.0.sof_tkn_comp.string"
		"pga.2.0.sof_tkn_comp.uuid"
		"pga.2.0.sof_tkn_volume.word"
	]
}

SectionData."pga.2.0.sof_tkn_comp.word" {
	tuples	"pga.2.0.sof_tkn_comp.word"
}

SectionData."pga.2.0.sof_tkn_comp.string" {
	tuples	"pga.2.0.sof_tkn_comp.string"
}

SectionData."pga.2.0.sof_tkn_comp.uuid" {
	tuples	"pga.2.0.sof_tkn_comp.uuid"
}

SectionData."pga.2.0.sof_tkn_volume.word" {
	tuples	"pga.2.0.sof_tkn_volume.word"
}

SectionVendorTuples."pga.2.0.sof_tkn_comp.word" {
	tokens	"sof_tkn_comp"
	tuples."word" {
		period_source_count	"2"
		period_sink_count	"2"
	}
}

SectionVendorTuples."pga.2.0.sof_tkn_comp.string" {
	tokens	"sof_tkn_comp"
	tuples."string" {
		format	"s24le"
	}
}

SectionVendorTuples."pga.2.0.sof_tkn_comp.uuid" {
	tokens	"sof_tkn_comp"
	tuples."uuid" {
		uuid	"7e:67:7e:b7:f4:5f:88:41:af:14:fb:a8:bd:bf:8"
	}
}

SectionVendorTuples."pga.2.0.sof_tkn_volume.word" {
	tokens	"sof_tkn_volume"
	tuples."word" {
		ramp_step_ms	"250"
		ramp_step_type	"0"
	}
}

Note that the ramp_step_type of "linear" is converted
to the tuple value 0.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2021-05-25 18:26:51 +02:00
..
alsatplg.rst alsatplg: add decode command 2020-02-09 20:52:30 +01:00
Makefile.am topology: pre-process-object: Add support for pre-processing Objects 2021-05-25 18:26:51 +02:00
pre-process-class.c topology: pre-process-class: add function to convert valid attribute values to integer tuple values 2021-05-25 18:26:51 +02:00
pre-process-object.c topology: pre-process-object: add data section for attributes with token reference 2021-05-25 18:26:51 +02:00
pre-processor.c topology: pre-process-object: Add support for pre-processing Objects 2021-05-25 18:26:51 +02:00
pre-processor.h topology: pre-process-object: Add support for processing Manifest object 2021-05-25 18:26:51 +02:00
topology.c topology: Add support for pre-processing Topology2.0 syntax 2021-05-25 18:26:51 +02:00
topology.h topology: Add support for pre-processing Topology2.0 syntax 2021-05-25 18:26:51 +02:00