[alsa-devel] [PATCH] HDA-Intel: Fix wrong CTLINDEX entries for HBR Passthrough
From Anssi Hannula:
"The CTLINDEX=x values in /usr/share/alsa/cards/HDA-Intel.conf are off when you have S/PDIF output in the same card as HDMI, which is often the case on Intel.
The workaround is to bump all the CTLINDEX=x values one step up in the HDA-Intel.pcm.hdmi.foo entries, i.e. CTLINDEX=0 => CTLINDEX=1 CTLINDEX=1 => CTLINDEX=2 etc, in the /usr/share/alsa/cards/HDA-Intel.conf."
Signed-off-by: Wang Xingchao xingchao.wang@intel.com --- src/conf/cards/HDA-Intel.conf | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/conf/cards/HDA-Intel.conf b/src/conf/cards/HDA-Intel.conf index d4f2667..7d6de8f 100644 --- a/src/conf/cards/HDA-Intel.conf +++ b/src/conf/cards/HDA-Intel.conf @@ -211,7 +211,7 @@ HDA-Intel.pcm.hdmi.0 { "cards.HDA-Intel.pcm.hdmi.common:" "CARD=" $CARD "," "DEVICE=3," - "CTLINDEX=0," + "CTLINDEX=1," "AES0=" $AES0 "," "AES1=" $AES1 "," "AES2=" $AES2 "," @@ -234,7 +234,7 @@ HDA-Intel.pcm.hdmi.1 { "cards.HDA-Intel.pcm.hdmi.common:" "CARD=" $CARD "," "DEVICE=7," - "CTLINDEX=1," + "CTLINDEX=2," "AES0=" $AES0 "," "AES1=" $AES1 "," "AES2=" $AES2 "," @@ -257,7 +257,7 @@ HDA-Intel.pcm.hdmi.2 { "cards.HDA-Intel.pcm.hdmi.common:" "CARD=" $CARD "," "DEVICE=8," - "CTLINDEX=2," + "CTLINDEX=3," "AES0=" $AES0 "," "AES1=" $AES1 "," "AES2=" $AES2 "," @@ -280,7 +280,7 @@ HDA-Intel.pcm.hdmi.3 { "cards.HDA-Intel.pcm.hdmi.common:" "CARD=" $CARD "," "DEVICE=9," - "CTLINDEX=3," + "CTLINDEX=4," "AES0=" $AES0 "," "AES1=" $AES1 "," "AES2=" $AES2 ","
At Thu, 6 Sep 2012 10:33:20 +0800, Wang Xingchao wrote:
From Anssi Hannula:
"The CTLINDEX=x values in /usr/share/alsa/cards/HDA-Intel.conf are off when you have S/PDIF output in the same card as HDMI, which is often the case on Intel.
The workaround is to bump all the CTLINDEX=x values one step up in the HDA-Intel.pcm.hdmi.foo entries, i.e. CTLINDEX=0 => CTLINDEX=1 CTLINDEX=1 => CTLINDEX=2 etc, in the /usr/share/alsa/cards/HDA-Intel.conf."
It's no correct fix. This changes the index number unconditionally, that is, it breaks when the system has no SPDIF output but only HDMI/DP (that hit 99% of users). We need a different solution...
Takashi
Signed-off-by: Wang Xingchao xingchao.wang@intel.com
src/conf/cards/HDA-Intel.conf | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/conf/cards/HDA-Intel.conf b/src/conf/cards/HDA-Intel.conf index d4f2667..7d6de8f 100644 --- a/src/conf/cards/HDA-Intel.conf +++ b/src/conf/cards/HDA-Intel.conf @@ -211,7 +211,7 @@ HDA-Intel.pcm.hdmi.0 { "cards.HDA-Intel.pcm.hdmi.common:" "CARD=" $CARD "," "DEVICE=3,"
"CTLINDEX=0,"
"CTLINDEX=1," "AES0=" $AES0 "," "AES1=" $AES1 "," "AES2=" $AES2 ","
@@ -234,7 +234,7 @@ HDA-Intel.pcm.hdmi.1 { "cards.HDA-Intel.pcm.hdmi.common:" "CARD=" $CARD "," "DEVICE=7,"
"CTLINDEX=1,"
"CTLINDEX=2," "AES0=" $AES0 "," "AES1=" $AES1 "," "AES2=" $AES2 ","
@@ -257,7 +257,7 @@ HDA-Intel.pcm.hdmi.2 { "cards.HDA-Intel.pcm.hdmi.common:" "CARD=" $CARD "," "DEVICE=8,"
"CTLINDEX=2,"
"CTLINDEX=3," "AES0=" $AES0 "," "AES1=" $AES1 "," "AES2=" $AES2 ","
@@ -280,7 +280,7 @@ HDA-Intel.pcm.hdmi.3 { "cards.HDA-Intel.pcm.hdmi.common:" "CARD=" $CARD "," "DEVICE=9,"
"CTLINDEX=3,"
"CTLINDEX=4," "AES0=" $AES0 "," "AES1=" $AES1 "," "AES2=" $AES2 ","
-- 1.7.9.5
On Thu, Sep 06, 2012 at 10:33:20AM +0800, Wang Xingchao wrote:
From Anssi Hannula:
"The CTLINDEX=x values in /usr/share/alsa/cards/HDA-Intel.conf are off when you have S/PDIF output in the same card as HDMI, which is often the case on Intel.
The workaround is to bump all the CTLINDEX=x values one step up in the HDA-Intel.pcm.hdmi.foo entries, i.e. CTLINDEX=0 => CTLINDEX=1 CTLINDEX=1 => CTLINDEX=2 etc, in the /usr/share/alsa/cards/HDA-Intel.conf."
Hmm.. my T420 does not have SPDIF and could possibly be broken by this change.
wfg ~% amixer controls numid=2,iface=MIXER,name='Master Playback Switch' numid=1,iface=MIXER,name='Master Playback Volume' numid=23,iface=MIXER,name='PCM Playback Volume' numid=5,iface=MIXER,name='Capture Switch' numid=4,iface=MIXER,name='Capture Volume' numid=8,iface=MIXER,name='IEC958 Playback Con Mask' numid=13,iface=MIXER,name='IEC958 Playback Con Mask',index=1 numid=18,iface=MIXER,name='IEC958 Playback Con Mask',index=2 numid=9,iface=MIXER,name='IEC958 Playback Pro Mask' numid=14,iface=MIXER,name='IEC958 Playback Pro Mask',index=1 numid=19,iface=MIXER,name='IEC958 Playback Pro Mask',index=2
==> numid=10,iface=MIXER,name='IEC958 Playback Default' ==> numid=15,iface=MIXER,name='IEC958 Playback Default',index=1 ==> numid=20,iface=MIXER,name='IEC958 Playback Default',index=2
numid=11,iface=MIXER,name='IEC958 Playback Switch' numid=16,iface=MIXER,name='IEC958 Playback Switch',index=1 numid=21,iface=MIXER,name='IEC958 Playback Switch',index=2 numid=3,iface=MIXER,name='Analog Mic Boost Capture Enum' numid=7,iface=MIXER,name='Beep Playback Switch' numid=6,iface=MIXER,name='Beep Playback Volume' numid=24,iface=MIXER,name='Digital Capture Volume' numid=12,iface=PCM,name='ELD',device=3 numid=17,iface=PCM,name='ELD',device=7 numid=22,iface=PCM,name='ELD',device=8
Thanks, Fengguang
Signed-off-by: Wang Xingchao xingchao.wang@intel.com
src/conf/cards/HDA-Intel.conf | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/conf/cards/HDA-Intel.conf b/src/conf/cards/HDA-Intel.conf index d4f2667..7d6de8f 100644 --- a/src/conf/cards/HDA-Intel.conf +++ b/src/conf/cards/HDA-Intel.conf @@ -211,7 +211,7 @@ HDA-Intel.pcm.hdmi.0 { "cards.HDA-Intel.pcm.hdmi.common:" "CARD=" $CARD "," "DEVICE=3,"
"CTLINDEX=0,"
"CTLINDEX=1," "AES0=" $AES0 "," "AES1=" $AES1 "," "AES2=" $AES2 ","
@@ -234,7 +234,7 @@ HDA-Intel.pcm.hdmi.1 { "cards.HDA-Intel.pcm.hdmi.common:" "CARD=" $CARD "," "DEVICE=7,"
"CTLINDEX=1,"
"CTLINDEX=2," "AES0=" $AES0 "," "AES1=" $AES1 "," "AES2=" $AES2 ","
@@ -257,7 +257,7 @@ HDA-Intel.pcm.hdmi.2 { "cards.HDA-Intel.pcm.hdmi.common:" "CARD=" $CARD "," "DEVICE=8,"
"CTLINDEX=2,"
"CTLINDEX=3," "AES0=" $AES0 "," "AES1=" $AES1 "," "AES2=" $AES2 ","
@@ -280,7 +280,7 @@ HDA-Intel.pcm.hdmi.3 { "cards.HDA-Intel.pcm.hdmi.common:" "CARD=" $CARD "," "DEVICE=9,"
"CTLINDEX=3,"
"CTLINDEX=4," "AES0=" $AES0 "," "AES1=" $AES1 "," "AES2=" $AES2 ","
-- 1.7.9.5
participants (3)
-
Fengguang Wu
-
Takashi Iwai
-
Wang Xingchao