HDA-Intel: present all 4 HDMI outputs instead of just the first one
authorAnssi Hannula <anssi.hannula@iki.fi>
Tue, 3 Aug 2010 17:27:49 +0000 (20:27 +0300)
committerTakashi Iwai <tiwai@suse.de>
Mon, 9 Aug 2010 07:40:40 +0000 (09:40 +0200)
Commit 92608badc519a8c1f65d93743396517aaa582b53 in linux kernel added
the possibility of 3 additional HDMI devices on indexes 7-9.

Present all those additional devices using the "hdmi" alias as well.

Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

src/conf/cards/HDA-Intel.conf

index d3ac002..726e8c9 100644 (file)
@@ -142,11 +142,17 @@ HDA-Intel.pcm.iec958.0 {
 
 <confdir:pcm/hdmi.conf>
 
-HDA-Intel.pcm.hdmi.0 {
-       @args [ CARD AES0 AES1 AES2 AES3 ]
+HDA-Intel.pcm.hdmi.common {
+       @args [ CARD DEVICE CTLINDEX AES0 AES1 AES2 AES3 ]
        @args.CARD {
                type string
        }
+       @args.DEVICE {
+               type integer
+       }
+       @args.CTLINDEX {
+               type integer
+       }
        @args.AES0 {
                type integer
        }
@@ -163,26 +169,120 @@ HDA-Intel.pcm.hdmi.0 {
        slave.pcm {
                type hw
                card $CARD
-               device 3
+               device $DEVICE
        }
        hooks.0 {
                type ctl_elems
                hook_args [
                {
                        name "IEC958 Playback Default"
+                       index $CTLINDEX
                        lock true
                        preserve true
                        value [ $AES0 $AES1 $AES2 $AES3 ]
                }
                {
                        name "IEC958 Playback Switch"
+                       index $CTLINDEX
                        lock true
                        preserve true
                        value true
                }
                ]
        }
-       hint.device 3
+       hint.device $DEVICE
+}
+
+HDA-Intel.pcm.hdmi.0 {
+       @args [ CARD AES0 AES1 AES2 AES3 ]
+       @args.CARD { type string }
+       @args.AES0 { type integer }
+       @args.AES1 { type integer }
+       @args.AES2 { type integer }
+       @args.AES3 { type integer }
+       @func refer
+       name {
+               @func concat
+               strings [
+                       "cards.HDA-Intel.pcm.hdmi.common:"
+                       "CARD=" $CARD ","
+                       "DEVICE=3,"
+                       "CTLINDEX=0,"
+                       "AES0=" $AES0 ","
+                       "AES1=" $AES1 ","
+                       "AES2=" $AES2 ","
+                       "AES3=" $AES3
+               ]
+       }
+}
+
+HDA-Intel.pcm.hdmi.1 {
+       @args [ CARD AES0 AES1 AES2 AES3 ]
+       @args.CARD { type string }
+       @args.AES0 { type integer }
+       @args.AES1 { type integer }
+       @args.AES2 { type integer }
+       @args.AES3 { type integer }
+       @func refer
+       name {
+               @func concat
+               strings [
+                       "cards.HDA-Intel.pcm.hdmi.common:"
+                       "CARD=" $CARD ","
+                       "DEVICE=7,"
+                       "CTLINDEX=1,"
+                       "AES0=" $AES0 ","
+                       "AES1=" $AES1 ","
+                       "AES2=" $AES2 ","
+                       "AES3=" $AES3
+               ]
+       }
+}
+
+HDA-Intel.pcm.hdmi.2 {
+       @args [ CARD AES0 AES1 AES2 AES3 ]
+       @args.CARD { type string }
+       @args.AES0 { type integer }
+       @args.AES1 { type integer }
+       @args.AES2 { type integer }
+       @args.AES3 { type integer }
+       @func refer
+       name {
+               @func concat
+               strings [
+                       "cards.HDA-Intel.pcm.hdmi.common:"
+                       "CARD=" $CARD ","
+                       "DEVICE=8,"
+                       "CTLINDEX=2,"
+                       "AES0=" $AES0 ","
+                       "AES1=" $AES1 ","
+                       "AES2=" $AES2 ","
+                       "AES3=" $AES3
+               ]
+       }
+}
+
+HDA-Intel.pcm.hdmi.3 {
+       @args [ CARD AES0 AES1 AES2 AES3 ]
+       @args.CARD { type string }
+       @args.AES0 { type integer }
+       @args.AES1 { type integer }
+       @args.AES2 { type integer }
+       @args.AES3 { type integer }
+       @func refer
+       name {
+               @func concat
+               strings [
+                       "cards.HDA-Intel.pcm.hdmi.common:"
+                       "CARD=" $CARD ","
+                       "DEVICE=9,"
+                       "CTLINDEX=3,"
+                       "AES0=" $AES0 ","
+                       "AES1=" $AES1 ","
+                       "AES2=" $AES2 ","
+                       "AES3=" $AES3
+               ]
+       }
 }
 
 <confdir:pcm/modem.conf>