Basic UCM configuration for HDA DSP generic enabling codec playback and capture on both HDA codec and DMIC ports.
Could you describe for what Linux driver (source code) is this configuration?
This file is for Intel Skylake SST driver. Information added in v2.
Ok, do we have this code in the vanilla linux kernel? Which .c file? The driver name 'hdadsp' looks suspicious. We usually have a delimiter in the driver name (like sof-hda-dsp).
Yes, it is a part of Skylake driver, "hdadsp" is the name of sound card created on machine when using HDA generic machine driver. This machine driver is made of 2 .c files:
- skl_hda_dsp_common.c - skl_hda_dsp_generic.c
both are located in: sound/soc/intel/boards/
Example on production laptop:
test@test-Swift-SF515-51T:/proc/asound$ cat cards 0 [hdadsp ]: hda-dsp - hda-dsp WL-SwiftSF515_51T-V1.02-Guinness_WL
+ValueDefaults { + PlaybackChannels "2" + PlaybackPriority "1" + CaptureChannels "2" + CapturePriority "2" +}
Remove PlaybackChannel and Priority defaults. The priorities should be defined in the device section.
I will check...
Thanks, moved to device section in v2.
+SectionDefaults [ + cdev "hw:hdadsp"
It should be "hw:${CardId}" for ucm2.
Thanks, applied in v2.
+ cset "name='codec0_out mo media0_in mi Switch' 1" + cset "name='media0_out mo codec0_in mi Switch' 1" + cset "name='mch_cap_out mo mch_cap_in mi Switch' 1" +]
This file does not define any devices. Does pulseaudio work with this configuration?
Devices added in v2. Regarding pulseaudio - are there any guidelines on how to test UCM files with it? These UCM files were writted mainly based on existing ones for other cards. Of course basic tests were made.
I wrote an ucm validator:
https://github.com/alsa-project/alsa-tests/tree/master/python/ucm-validator
Just type 'make' in the ucm-validator directory, the alsa-info.sh output should be added to the configs subtree.
The PA should be used latest from gitlab with the volume control and HDMI support.
Jaroslav
Thanks, used the validator on PATCH v2, it pointed out one more thing to be corrected. One thing that I've noticed - there are some problems when validating "included" files, for example:
<skylake-rt286/Hdmi1.conf> <skylake-rt286/Hdmi2.conf>
raise "aconfig.AlsaConfigError: unable to load config" error
Mateusz