[PATCH] ucm2: hdadsp: add basic ucm config

Gorski, Mateusz mateusz.gorski at linux.intel.com
Tue Mar 17 12:45:59 CET 2020


>>>> 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 at 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



More information about the Alsa-devel mailing list