On 20. 10. 22 20:13, Pierre-Louis Bossart wrote:
Hi Jaroslav,
Nope. It's just a short path for the non-driver field to not further
process the destination string (the name argument). The snprintf() call
sets all field types (it's before the condition). Just set the
driver_name field in the soc card structure and you will be fine.
The UCM config must be updated to handle the new driver name. The fine
selection key should probably use the card name, because long name is
set from DMI:
old:
1 [sofglkda7219max]: sof-glkda7219ma - sof-glkda7219max
Google-Phaser360-rev4
new:
1 [sofglkda7219max]: SOF-Intel - sof-glkda7219max
Google-Phaser360-rev4
UCM substitutions:
1 [${CardId} ]: ${CardDriver} - ${CardName}
${CardLongName}
UCM conf:
mkdir -p ucm2/conf.d/SOF-Intel
cat > ucm2/conf.d/SOF-Intel/SOF-Intel.conf <<EOF
Syntax 6
Include.0.File "/Intel/\${CardName}/\${CardName}.conf"
EOF
I am not following any of this, sorry.
The existing UCM configuration uses the card name, e.g.
sof-glkda7219max. That works and needs zero extra work.
Unfortunately, actually the wrapped driver names are used for the primary
lookups. The card name is not used at all in ucm2/conf.d.
If all the cards registered in sound/soc/intel/boards use the same
"SOF-Intel" driver name, then the driver name cannot be used for any UCM
selection.
It can be used for the first level of the lookup. Eventually, we can add
ucm2/conf.d/${CardDriver}/${CardName}.conf search path to ucm2/ucm.conf for
the direct lookups to handle this case, but it's just an optimization. I would
start with the ${CardName} redirection as I suggested. We can decide / make
the ucm.conf change later.
What is the point of including all the cardName.conf files at a higher
level that brings no obvious value beyond an indirection that we already
have with the path ucm2/Intel ?
What am I missing ??
The goal is to fix the driver names (e.g. "sof-glkda7219ma", "sof-mt8195_r101"
etc.). If you like to keep the unique names, it's your decision. I just prefer
to have a string which is understandable to users. UCM can handle the finer
selection of the configuration at any level now. Examples: sof-soundwire,
USB-Audio (ucm2/USB-Audio/USB-Audio.conf), SOF (ucm2/Intel/SOF/HiFi.conf).
Jaroslav
--
Jaroslav Kysela <perex@xxxxxxxx>
Linux Sound Maintainer; ALSA Project; Red Hat, Inc.