diff options
author | Mark Brown | 2020-09-07 15:28:59 +0100 |
---|---|---|
committer | Mark Brown | 2020-09-07 15:28:59 +0100 |
commit | daa90764600ed5a7bd38ea8bbff1228310b7f5ea (patch) | |
tree | 6702f13ea7bb6abed485bb8e2bbf4fa5614184b7 /include/sound | |
parent | a252632df817f77bb6b31faf5bbba7350297aab6 (diff) | |
parent | 988d941882336b860d5fae1ee6f487eb110fe6d6 (diff) |
Merge series "ASoC: SOF: component UUID support for 5.10" from Kai Vehmanen <kai.vehmanen@linux.intel.com>:
This series adds support for UUID based component identification
in SOF. UUIDs provide a more scalable alternative to the old
component type based approach to identify which DSP components
should be loaded.
More detailed description of UUID usage in SOF is available in:
https://thesofproject.github.io/latest/developer_guides/uuid/
UUID support is an incremental update to the SOF IPC interface. Driver
remains compatible with pre-UUID (ABI <3.17) firmware versions.
Keyon Jie (16):
ASoC: SOF: tokens: add token for component UUID
ASoC: SOF: add comp_ext to struct snd_sof_widget
ASoC: SOF: topology: create component extended tokens
ASoC: SOF: topology: parse comp_ext_tokens for all widgets
ASoC: SOF: use the sof_ipc_comp reserved bytes for extended data
ASoC: SOF: topology: add helper for setting up IPC component
ASoC: SOF: append extended data to sof_ipc_comp_dai
ASoC: SOF: append extended data to sof_ipc_comp_mixer
ASoC: SOF: append extended data to sof_ipc_comp_volume
ASoC: SOF: append extended data to sof_ipc_comp_host
ASoC: SOF: append extended data to sof_ipc_comp_src
ASoC: SOF: append extended data to sof_ipc_comp_asrc
ASoC: SOF: append extended data to sof_ipc_comp_tone
ASoC: SOF: append extended data to sof_ipc_comp_process
ASoC: SOF: append extended data to sof_ipc_comp_mux
ASoC: SOF: topology: make process type optional
include/sound/sof/topology.h | 12 +-
include/uapi/sound/sof/tokens.h | 1 +
sound/soc/sof/sof-audio.c | 23 +++-
sound/soc/sof/sof-audio.h | 3 +
sound/soc/sof/topology.c | 208 ++++++++++++++++++++------------
5 files changed, 161 insertions(+), 86 deletions(-)
--
2.27.0
Diffstat (limited to 'include/sound')
-rw-r--r-- | include/sound/sof/topology.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/include/sound/sof/topology.h b/include/sound/sof/topology.h index f56e80d09b32..d12736e14b69 100644 --- a/include/sound/sof/topology.h +++ b/include/sound/sof/topology.h @@ -57,8 +57,8 @@ struct sof_ipc_comp { uint32_t pipeline_id; uint32_t core; - /* reserved for future use */ - uint32_t reserved[1]; + /* extended data length, 0 if no extended data */ + uint32_t ext_data_length; } __packed; /* @@ -87,6 +87,9 @@ struct sof_ipc_comp { */ #define SOF_BUF_UNDERRUN_PERMITTED BIT(1) +/* the UUID size in bytes, shared between FW and host */ +#define SOF_UUID_SIZE 16 + /* create new component buffer - SOF_IPC_TPLG_BUFFER_NEW */ struct sof_ipc_buffer { struct sof_ipc_comp comp; @@ -300,4 +303,9 @@ enum sof_event_types { SOF_KEYWORD_DETECT_DAPM_EVENT, }; +/* extended data struct for UUID components */ +struct sof_ipc_comp_ext { + uint8_t uuid[SOF_UUID_SIZE]; +} __packed; + #endif |