]> git.alsa-project.org Git - alsa-ucm-conf.git/commitdiff
ucm2: common: pcm: hdmi: Add new macro to conditionally
authorPeter Ujfalusi <peter.ujfalusi@linux.intel.com>
Tue, 30 Apr 2024 10:58:29 +0000 (13:58 +0300)
committerJaroslav Kysela <perex@perex.cz>
Fri, 2 Aug 2024 14:32:32 +0000 (16:32 +0200)
The new HdmiDevice macro can be used to create the hdmi PCM device for a
hardware PCM whose ID can be found in the Iec61937Devices comma separated
device ID list.
It is the caller's responsibility to pass correct device id of an HDMI PCM
as Dev.

The new macro needs Syntax 7 support.

Example for a use by sof-hda-dsp where the HDMI devices are 3, 4 and 5

Macro.0.HdmiDevice { Iec61937Devices "${var:Iec61937Pcms1}" Dev 3 Idx 0 }
Macro.1.HdmiDevice { Iec61937Devices "${var:Iec61937Pcms1}" Dev 4 Idx 1 }
Macro.2.HdmiDevice { Iec61937Devices "${var:Iec61937Pcms1}" Dev 5 Idx 2 }

If.HdmiIec61937 {
Condition {
Type RegexMatch
Regex "((^|,)[345](,|$))"
String "${var:Iec61937Pcms1}"
}
True.Macro.save_hdmi_cfg.HdmiPCMSave { Name "42-sof-hdmi" }
}

The Iec61937Pcms1 contains a match string of "5,4,3"

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/413
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
ucm2/common/pcm/hdmi.conf

index 0a870edba54f451461a05ee3309d812fa6fd0893..e2820dcddc2f7a3633c8f600cef51296960f8687 100644 (file)
@@ -72,3 +72,22 @@ DefineMacro.HdmiPCMSave {
                        cfg-save "${var:LibDir}/${var:__Name}.conf:hdmi-pcm"
        ]
 }
+
+# Macro SofHdmiDevice - Create hdmi PCM device for a sound card if passthrough
+#                      is supported
+#
+# Arguments:
+#   Iec61937Devices - Comma separated list of PCM device ids supporting iec61937
+#                    passthrough
+#   Dev - Hardware PCM device to match in Iec61937Devices for iec61937 support
+#   Idx - hdmi: device index and control index
+#
+
+DefineMacro.HdmiDevice.If.iec61937 {
+       Condition {
+               Type RegexMatch
+               Regex "((^|,)[${var:__Dev}](,|$))"
+               String "${var:__Iec61937Devices}"
+       }
+       True.Macro.0.HdmiPCM { Device "${var:__Dev}" Index "${var:__Idx}" }
+}