alsa-utils/topology
Ranjani Sridharan 79033ceae4 topology: pre-process-dapm: add support for widget control objects
Add support for pre-processing mixer and byte control objects.
For ex: a pga widget with a mixer control as follows:

Object.pga"0" {
	...
	mixer.0 {
		index 2
		max 32
		name "2 MasterPlaybackControl"
			Object.Base.channel."fl" {
				shift	0
			}
			Object.Base.channel."fr" {
			}

			Object.Base.tlv."vtlv_m64s2" {
				Object.Base.scale."m64s2" {
					mute	1
				}
			}

			Object.Base.ops."ctl" {
				info 	"volsw"
				#256 binds the mixer control to volume get/put handlers
				get 	256
				put 	256
			}

		access [
			read_write
			tlv_read
		]
	}
}

Would be converted to:

SectionControlMixer.'2 Master Playback Volume' {
	index 2
	max 32
	channel {
		fl {
			reg 1
		}
		fr {
			reg 1
			shift 1
		}
	}
	tlv	"vtlv_m64s2"
	ops.0 {
		info volsw
		get 256
		put 256
	}
	access [
		read_write
		tlv_read
	]
}

and the SectionWidget for pga.2.0 would be updated to add the mixer references as follows:
SectionWidget.'pga.2.0' {
...
	mixer [
		"2 Master Playback Volume"
	]
}

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-dapm: Add support for tlv 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-dapm.c topology: pre-process-dapm: add support for widget control objects 2021-05-25 18:26:51 +02:00
pre-process-object.c topology: pre-process-dapm: add support for widget control objects 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-dapm: add support for widget control objects 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