diff options
author | Peter Ujfalusi <peter.ujfalusi@linux.intel.com> | 2022-05-05 12:48:16 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2022-05-05 15:24:43 +0300 |
commit | 84c2dca3c3d4b8e011a2536fc7aaf2a2bdc77972 (patch) | |
tree | 6686cf45cb2ef637effd74c493c195e40d7efdf2 /sound/soc/sof/sof-priv.h | |
parent | 6ff98a694cc114fd79f692345a7fbd469f800f8c (diff) | |
download | linux-84c2dca3c3d4b8e011a2536fc7aaf2a2bdc77972.tar.xz |
ASoC: SOF: Add rx_data pointer to snd_sof_ipc_msg struct
The rx_data pointer can be used by IPC implementations to pass the received
message (or part of the message, like the header) from platform code to
generic, high level IPC code.
IPC4 is going to be the first user of this as its implementation on Intel
platforms detaches the header and payload and the rx cannot be handled in
a similar way as it is implemented for ipc3.
If the rx_data is dynamically allocated, it is up to the platform code to
free it up.
After the message reception handling (rx_msg ops) returned, the pointer via
the msg->rx_data should be considered as invalid.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Rander Wang <rander.wang@intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Link: https://lore.kernel.org/r/20220505094818.10346-2-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/sof/sof-priv.h')
-rw-r--r-- | sound/soc/sof/sof-priv.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/soc/sof/sof-priv.h b/sound/soc/sof/sof-priv.h index 4801849cb2ab..106ef2f2261f 100644 --- a/sound/soc/sof/sof-priv.h +++ b/sound/soc/sof/sof-priv.h @@ -350,6 +350,9 @@ struct snd_sof_ipc_msg { size_t reply_size; int reply_error; + /* notification, firmware initiated messages */ + void *rx_data; + wait_queue_head_t waitq; bool ipc_complete; }; |