OSDN Git Service

ASoC: topology: allow for partial dailink stream_name
authorMark Brown <broonie@kernel.org>
Tue, 30 May 2023 16:43:11 +0000 (17:43 +0100)
committerMark Brown <broonie@kernel.org>
Tue, 30 May 2023 16:43:11 +0000 (17:43 +0100)
commitf2d4aa7e97eb60f426b92b95da712a6b3c18dc9a
tree2171bd8cc8d8e965a2f631622555ced2965ee539
parentb07693bfb5498196791fb605b00257cb6405f716
parent0f7b6a433097808e7f3e82f837ccc1353f070e4a
ASoC: topology: allow for partial dailink stream_name

Merge series from Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>:

The topology file and the machine driver rely on common definitions
for the dailink stream_name.  To avoid any backwards-compatibility
problems, the machine driver stream names are set in stone and cannot
be modified.

This is problematic when we try to name some of the topology widgets
after the stream_name, since the widget name is limited to 44
characters

tools/include/uapi/sound/asound.h:#define SNDRV_CTL_ELEM_ID_NAME_MAXLEN 44

Existing examples include "Analog Playback and Capture" for HDaudio
dailinks, which leaves less than 20 chars to identify widgets/controls
with a meaningful name.

Since the 44-char limit is part of the UAPI definitions, we assumed
there is no way to increase it.

This patchset suggests instead a partial match which allows topology
files to use a shorter stream_name, which in turn allows for
self-explanatory widget names that comply with the 44-char limit.

This should not break any existing setup but with the introduction of
a partial match new dailinks should be named carefully to avoid
confusions between e.g. 'link1' and 'link10'. The last patch fixes
such an issue in the 'nocodec' test topology used by Intel.