| Server IP : 37.9.174.138 / Your IP : 216.73.216.117 Web Server : Apache System : Linux vps6.backend.sk 6.12.100+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.100-1 (2026-07-30) x86_64 User : ftpuser ( 1001) PHP Version : 8.4.24 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/share/alsa/ucm2/Intel/sof-hda-dsp/ |
Upload File : |
# Control audio processing in SOF
# Redefine headphone control FOR SOF. This is same as Headphone in HDA/HiFi-analog.conf
# but adds DRC and EQ controls.
DefineMacro.SofAnalogPlaybackControl {
Define.EndpointDrcVar "PostMixerAnalogPlayback${var:__endpoint}DrcBlob"
Define.EndpointIirVar "PostMixerAnalogPlayback${var:__endpoint}IirBlob"
Define.EndpointFirVar "PostMixerAnalogPlayback${var:__endpoint}FirBlob"
Define.EndpointDrcBlob "${var:$EndpointDrcVar}"
Define.EndpointIirBlob "${var:$EndpointIirVar}"
Define.EndpointFirBlob "${var:$EndpointFirVar}"
If.endpoint_with_drc {
Condition {
Type ControlExists
Control "name='${var:PostMixerAnalogPlaybackDrcSwitch}'"
}
True {
EnableSequence [
# For debug uncomment below the echo command to see what blobs are applied
#shell "/bin/echo '${var:__endpoint} ${var:EndpointIirBlob} ${var:EndpointFirBlob} ${var:EndpointDrcBlob}' >> /tmp/alsa-ucm.txt"
cset "name='${var:PostMixerAnalogPlaybackDrcSwitch}' ${var:__drcswitch}"
cset-tlv "name='${var:PostMixerAnalogPlaybackDrcBytes}' ${var:EndpointDrcBlob}"
cset-tlv "name='${var:PostMixerAnalogPlaybackIirBytes}' ${var:EndpointIirBlob}"
cset-tlv "name='${var:PostMixerAnalogPlaybackFirBytes}' ${var:EndpointFirBlob}"
]
}
False.If.endpoint_with_eq {
Condition {
Type ControlExists
Control "name='${var:PostMixerAnalogPlaybackFirBytes}'"
}
True {
EnableSequence [
# For debug uncomment below the echo command to see what blobs are applied
#shell "/bin/echo '${var:__endpoint} ${var:EndpointIirBlob} ${var:EndpointFirBlob}' >> /tmp/alsa-ucm.txt"
cset-tlv "name='${var:PostMixerAnalogPlaybackIirBytes}' ${var:EndpointIirBlob}"
cset-tlv "name='${var:PostMixerAnalogPlaybackFirBytes}' ${var:EndpointFirBlob}"
]
}
}
}
}
# Merge this to Headpones subtree in HDA/HiFi-analog.conf
SectionDevice."Headphones" {
Macro.headphone.SofAnalogPlaybackControl "endpoint=Headphone drcswitch=off"
}
# Merge this to Speaker subtree in HDA/HiFi-analog.conf
If.spk {
Condition {
Type ControlExists
Control "name='Speaker Playback Switch'"
}
True.SectionDevice."Speaker" {
Macro.speaker.SofAnalogPlaybackControl "endpoint=Speaker drcswitch=on"
}
}