Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ASoC: SOF: uapi: header: Update sof_abi_hdr doc for IPC4 use

With IPC4 the sof_abit_hdr is only used between user space
(and in topology) and kernel.
The same abi header is used with small differencies like different
magic number and the type field have slightly different name, but
similar function in IPC4 (param_id).

Update the kernel documentation to highlight the differences.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Jaska Uimonen <jaska.uimonen@linux.intel.com>
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Link: https://lore.kernel.org/r/20230313110344.16644-5-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by

Peter Ujfalusi and committed by
Mark Brown
ea4a4e82 2e4ef6f4

+10 -3
+2
include/uapi/sound/sof/abi.h
··· 60 60 61 61 /* SOF ABI magic number "SOF\0". */ 62 62 #define SOF_ABI_MAGIC 0x00464F53 63 + /* SOF IPC4 ABI magic number "SOF4". */ 64 + #define SOF_IPC4_ABI_MAGIC 0x34464F53 63 65 64 66 #endif
+8 -3
include/uapi/sound/sof/header.h
··· 13 13 14 14 /** 15 15 * struct sof_abi_hdr - Header for all non IPC ABI data. 16 - * @magic: Magic number for validation: 0x00464F53 ('S', 'O', 'F', '\0') 17 - * @type: Component specific type 16 + * @magic: Magic number for validation 17 + * for IPC3 data: 0x00464F53 ('S', 'O', 'F', '\0') 18 + * for IPC4 data: 0x34464F53 ('S', 'O', 'F', '4') 19 + * @type: module specific parameter 20 + * for IPC3: Component specific type 21 + * for IPC4: parameter ID (param_id) of the data 18 22 * @size: The size in bytes of the data, excluding this struct 19 - * @abi: SOF ABI version 23 + * @abi: SOF ABI version. The version is valid in scope of the 'magic', IPC3 and 24 + * IPC4 ABI version numbers have no relationship. 20 25 * @reserved: Reserved for future use 21 26 * @data: Component data - opaque to core 22 27 *