0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024 #ifndef __INCLUDE_UAPI_SOUND_SOF_ABI_H__
0025 #define __INCLUDE_UAPI_SOUND_SOF_ABI_H__
0026
0027 #include <linux/types.h>
0028
0029
0030 #define SOF_ABI_MAJOR 3
0031 #define SOF_ABI_MINOR 23
0032 #define SOF_ABI_PATCH 0
0033
0034
0035 #define SOF_ABI_MAJOR_SHIFT 24
0036 #define SOF_ABI_MAJOR_MASK 0xff
0037 #define SOF_ABI_MINOR_SHIFT 12
0038 #define SOF_ABI_MINOR_MASK 0xfff
0039 #define SOF_ABI_PATCH_SHIFT 0
0040 #define SOF_ABI_PATCH_MASK 0xfff
0041
0042 #define SOF_ABI_VER(major, minor, patch) \
0043 (((major) << SOF_ABI_MAJOR_SHIFT) | \
0044 ((minor) << SOF_ABI_MINOR_SHIFT) | \
0045 ((patch) << SOF_ABI_PATCH_SHIFT))
0046
0047 #define SOF_ABI_VERSION_MAJOR(version) \
0048 (((version) >> SOF_ABI_MAJOR_SHIFT) & SOF_ABI_MAJOR_MASK)
0049 #define SOF_ABI_VERSION_MINOR(version) \
0050 (((version) >> SOF_ABI_MINOR_SHIFT) & SOF_ABI_MINOR_MASK)
0051 #define SOF_ABI_VERSION_PATCH(version) \
0052 (((version) >> SOF_ABI_PATCH_SHIFT) & SOF_ABI_PATCH_MASK)
0053
0054 #define SOF_ABI_VERSION_INCOMPATIBLE(sof_ver, client_ver) \
0055 (SOF_ABI_VERSION_MAJOR((sof_ver)) != \
0056 SOF_ABI_VERSION_MAJOR((client_ver)) \
0057 )
0058
0059 #define SOF_ABI_VERSION SOF_ABI_VER(SOF_ABI_MAJOR, SOF_ABI_MINOR, SOF_ABI_PATCH)
0060
0061
0062 #define SOF_ABI_MAGIC 0x00464F53
0063
0064 #endif