Hi,
On Fri, 11 Aug 2023, Ingalsuo, Seppo wrote:
The basic acoustical measurement, tuning and small expert groups evaluation of tuning options is not a big task per product if the logistics with topologies those hold the tunings is solved.
My colleagues who know better the options may chime in. We may have in ALSA user space, linux kernel and firmware & topology everything needed in place but we do not have in SOF a full example to follow.
we indeed already have the infra in place to do per-product tunings.
ALSA allows to load UCM files per DMI id, so a specific product model can be identified by its DMI information, and a tailored UCM file can be used (e.g. instead of the generic UCM file for HDA-codec equipped laptops). In the UCM file, a typical addition is to ensure that the EQ/DRC is only applied when the PCM is routed to speakers, and disabled when headset or a line output is used (by default we should have neutral processing for this case).
Second part is to instruct the kernel to load an alternative SOF DSP topology file for the product (so that needed components like EQ are loaded to the DSP). A tried and tested solution to do this is to ship a udev file that checks the DMI id, and modifies the tplg name when loading SOF module.
This allows to proceed incrementally. I.e. tuning can be provided to a subset of products and rest of the systems are unaffected. No changes to kernel or firmware are needed, so this can be done with user-space packages/changes alone, with UCM and tplg files.
Br, Kai