]> git.alsa-project.org Git - alsa-ucm-conf.git/commitdiff
sof-hda-dsp: Support systems without integrated graphics audio
authorKai Vehmanen <kai.vehmanen@linux.intel.com>
Thu, 5 Mar 2020 12:59:56 +0000 (14:59 +0200)
committerJaroslav Kysela <perex@perex.cz>
Thu, 5 Mar 2020 15:44:46 +0000 (16:44 +0100)
On systems where integrated graphics audio is not present
or is disabled, the HDMI PCM nodes are disabled. Add rules to
detect these systems by checking presence of HDMI jack controls
with UCM2 rules.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
ucm2/sof-hda-dsp/Hdmi.conf

index be6cb39945c5d01b7b42f71d0493d28c8ae63ca9..6f2c4aa99db2d8d8f34185eda66925d8bdf51ed9 100644 (file)
@@ -1,55 +1,79 @@
 # Use case Configuration for sof-hda-dsp
 
-SectionDevice."HDMI1" {
-       Comment "HDMI1/DP1 Output"
+If.hdmi1 {
+       Condition {
+               Type ControlExists
+               Control "iface=CARD,name='HDMI/DP,pcm=3 Jack'"
+       }
+       True {
+               SectionDevice."HDMI1" {
+                       Comment "HDMI1/DP1 Output"
 
-       EnableSequence [
-               cset "name='IEC958 Playback Switch' on"
-       ]
+                       EnableSequence [
+                               cset "name='IEC958 Playback Switch' on"
+                       ]
 
-       DisableSequence [
-               cset "name='IEC958 Playback Switch' off"
-       ]
+                       DisableSequence [
+                               cset "name='IEC958 Playback Switch' off"
+                       ]
 
-       Value {
-               PlaybackPriority 500
-               PlaybackPCM "hw:${CardId},3"
-               JackControl "HDMI/DP,pcm=3 Jack"
+                       Value {
+                               PlaybackPriority 500
+                               PlaybackPCM "hw:${CardId},3"
+                               JackControl "HDMI/DP,pcm=3 Jack"
+                       }
+               }
        }
 }
 
-SectionDevice."HDMI2" {
-       Comment "HDMI2/DP2 Output"
+If.hdmi2 {
+       Condition {
+               Type ControlExists
+               Control "iface=CARD,name='HDMI/DP,pcm=4 Jack'"
+       }
+       True {
+               SectionDevice."HDMI2" {
+                       Comment "HDMI2/DP2 Output"
 
-       EnableSequence [
-               cset "name='IEC958 Playback Switch',index=1 on"
-       ]
+                       EnableSequence [
+                               cset "name='IEC958 Playback Switch',index=1 on"
+                       ]
 
-       DisableSequence [
-               cset "name='IEC958 Playback Switch',index=1 off"
-       ]
+                       DisableSequence [
+                               cset "name='IEC958 Playback Switch',index=1 off"
+                       ]
 
-       Value {
-               PlaybackPriority 600
-               PlaybackPCM "hw:${CardId},4"
-               JackControl "HDMI/DP,pcm=4 Jack"
+                       Value {
+                               PlaybackPriority 600
+                               PlaybackPCM "hw:${CardId},4"
+                               JackControl "HDMI/DP,pcm=4 Jack"
+                       }
+               }
        }
 }
 
-SectionDevice."HDMI3" {
-       Comment "HDMI3/DP3 Output"
+If.hdmi3 {
+       Condition {
+               Type ControlExists
+               Control "iface=CARD,name='HDMI/DP,pcm=5 Jack'"
+       }
+       True {
+               SectionDevice."HDMI3" {
+                       Comment "HDMI3/DP3 Output"
 
-       EnableSequence [
-               cset "name='IEC958 Playback Switch',index=2 on"
-       ]
+                       EnableSequence [
+                               cset "name='IEC958 Playback Switch',index=2 on"
+                       ]
 
-       DisableSequence [
-               cset "name='IEC958 Playback Switch',index=2 off"
-       ]
+                       DisableSequence [
+                               cset "name='IEC958 Playback Switch',index=2 off"
+                       ]
 
-       Value {
-               PlaybackPriority 700
-               PlaybackPCM "hw:${CardId},5"
-               JackControl "HDMI/DP,pcm=5 Jack"
+                       Value {
+                               PlaybackPriority 700
+                               PlaybackPCM "hw:${CardId},5"
+                               JackControl "HDMI/DP,pcm=5 Jack"
+                       }
+               }
        }
 }