HDA: mics - improve the Jack selection
There may be different Jack controls when hardware has
different physical audio jacks or improved sensing mechanism.
Fixes: 19fc5b9 ("ucm2: HDA: HiFi-analog/mic: Refactor the analog mic discovery")
Link: https://github.com/alsa-project/alsa-ucm-conf/pull/526
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
This commit is contained in:
parent
eef260f25d
commit
6fc6f3c493
1 changed files with 57 additions and 28 deletions
|
|
@ -22,6 +22,8 @@
|
|||
|
||||
Define.SourceControl ""
|
||||
Define.MicJackControl ""
|
||||
Define.MicHPJackControl ""
|
||||
Define.MicHSJackControl ""
|
||||
|
||||
# DeviceMic is pre-configured
|
||||
Define.DeviceMicName ""
|
||||
|
|
@ -45,33 +47,60 @@ Define.DeviceMic4Priority ""
|
|||
Define.DeviceMic4Jack ""
|
||||
|
||||
# evaluate the microphone jack name
|
||||
If.hsmicjack {
|
||||
If.micjack {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "iface=CARD,name='Mic Jack'"
|
||||
}
|
||||
True.Define.MicJackControl "Mic Jack"
|
||||
}
|
||||
|
||||
If.hsjack {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "iface=CARD,name='Headset Mic Jack'"
|
||||
}
|
||||
True.Define.MicJackControl "Headset Mic Jack"
|
||||
False.If.hpmicjack {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "iface=CARD,name='Headphone Mic Jack'"
|
||||
}
|
||||
True.Define.MicJackControl "Headphone Mic Jack"
|
||||
False.If.hpjack {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "iface=CARD,name='Mic Jack'"
|
||||
}
|
||||
True.Define.MicJackControl "Mic Jack"
|
||||
False.If.micjack {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "iface=CARD,name='Headphone Jack'"
|
||||
}
|
||||
True.Define.MicJackControl "Headphone Jack"
|
||||
}
|
||||
}
|
||||
True.Define.MicHSJackControl "Headset Mic Jack"
|
||||
}
|
||||
|
||||
If.hpjack {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "iface=CARD,name='Headphone Mic Jack'"
|
||||
}
|
||||
True.Define.MicHPJackControl "Headphone Mic Jack"
|
||||
}
|
||||
|
||||
If.jacksel1 {
|
||||
Condition {
|
||||
Type String
|
||||
Empty "${var:MicJackControl}"
|
||||
}
|
||||
True.Define.MicJackControl "${var:MicHPJackControl}"
|
||||
}
|
||||
|
||||
If.jacksel2 {
|
||||
Condition {
|
||||
Type String
|
||||
Empty "${var:MicJackControl}"
|
||||
}
|
||||
True.Define.MicJackControl "${var:MicHSJackControl}"
|
||||
}
|
||||
|
||||
If.jacksel3 {
|
||||
Condition {
|
||||
Type String
|
||||
Empty "${var:MicHPJackControl}"
|
||||
}
|
||||
True.Define.MicHPJackControl "${var:MicJackControl}"
|
||||
}
|
||||
|
||||
If.jacksel4 {
|
||||
Condition {
|
||||
Type String
|
||||
Empty "${var:MicHSJackControl}"
|
||||
}
|
||||
True.Define.MicHSJackControl "${var:MicJackControl}"
|
||||
}
|
||||
|
||||
# determine the name of the source selection enum, if present
|
||||
|
|
@ -160,12 +189,12 @@ If.micsetup {
|
|||
True.Define {
|
||||
DeviceMicName "Headphone Mic"
|
||||
DeviceMicComment "Headphones Stereo Microphone"
|
||||
DeviceMicJack "${var:MicJackControl}"
|
||||
DeviceMicJack "${var:MicHPJackControl}"
|
||||
}
|
||||
False.Define {
|
||||
DeviceMic2Name "Headphone Mic"
|
||||
DeviceMic2Comment "Headphones Stereo Microphone"
|
||||
DeviceMic2Jack "${var:MicJackControl}"
|
||||
DeviceMic2Jack "${var:MicHPJackControl}"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -226,7 +255,7 @@ If.micsetup {
|
|||
DeviceMic "Headset"
|
||||
DeviceMicName "Headset Mic"
|
||||
DeviceMicComment "Headset Mono Microphone"
|
||||
DeviceMicJack "${var:MicJackControl}"
|
||||
DeviceMicJack "${var:MicHSJackControl}"
|
||||
}
|
||||
False.If.whichdev2 {
|
||||
Condition {
|
||||
|
|
@ -237,7 +266,7 @@ If.micsetup {
|
|||
DeviceMic2 "Headset"
|
||||
DeviceMic2Name "Headset Mic"
|
||||
DeviceMic2Comment "Headset Mono Microphone"
|
||||
DeviceMic2Jack "${var:MicJackControl}"
|
||||
DeviceMic2Jack "${var:MicHSJackControl}"
|
||||
}
|
||||
False.If.whichdev3 {
|
||||
Condition {
|
||||
|
|
@ -248,13 +277,13 @@ If.micsetup {
|
|||
DeviceMic3 "Headset"
|
||||
DeviceMic3Name "Headset Mic"
|
||||
DeviceMic3Comment "Headset Mono Microphone"
|
||||
DeviceMic3Jack "${var:MicJackControl}"
|
||||
DeviceMic3Jack "${var:MicHSJackControl}"
|
||||
}
|
||||
False.Define {
|
||||
DeviceMic4 "Headset"
|
||||
DeviceMic4Name "Headset Mic"
|
||||
DeviceMic4Comment "Headset Mono Microphone"
|
||||
DeviceMic4Jack "${var:MicJackControl}"
|
||||
DeviceMic4Jack "${var:MicHSJackControl}"
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue