Warning: That file was not part of the compilation database. It may have many parsing errors.
1 | /* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */ |
---|---|
2 | /* |
3 | * This file is provided under a dual BSD/GPLv2 license. When using or |
4 | * redistributing this file, you may do so under either license. |
5 | * |
6 | * Copyright(c) 2018 Intel Corporation. All rights reserved. |
7 | */ |
8 | |
9 | /** |
10 | * SOF ABI versioning is based on Semantic Versioning where we have a given |
11 | * MAJOR.MINOR.PATCH version number. See https://semver.org/ |
12 | * |
13 | * Rules for incrementing or changing version :- |
14 | * |
15 | * 1) Increment MAJOR version if you make incompatible API changes. MINOR and |
16 | * PATCH should be reset to 0. |
17 | * |
18 | * 2) Increment MINOR version if you add backwards compatible features or |
19 | * changes. PATCH should be reset to 0. |
20 | * |
21 | * 3) Increment PATCH version if you add backwards compatible bug fixes. |
22 | */ |
23 | |
24 | #ifndef __INCLUDE_UAPI_SOUND_SOF_ABI_H__ |
25 | #define __INCLUDE_UAPI_SOUND_SOF_ABI_H__ |
26 | |
27 | #include <linux/types.h> |
28 | |
29 | /* SOF ABI version major, minor and patch numbers */ |
30 | #define SOF_ABI_MAJOR 3 |
31 | #define SOF_ABI_MINOR 23 |
32 | #define SOF_ABI_PATCH 0 |
33 | |
34 | /* SOF ABI version number. Format within 32bit word is MMmmmppp */ |
35 | #define SOF_ABI_MAJOR_SHIFT 24 |
36 | #define SOF_ABI_MAJOR_MASK 0xff |
37 | #define SOF_ABI_MINOR_SHIFT 12 |
38 | #define SOF_ABI_MINOR_MASK 0xfff |
39 | #define SOF_ABI_PATCH_SHIFT 0 |
40 | #define SOF_ABI_PATCH_MASK 0xfff |
41 | |
42 | #define SOF_ABI_VER(major, minor, patch) \ |
43 | (((major) << SOF_ABI_MAJOR_SHIFT) | \ |
44 | ((minor) << SOF_ABI_MINOR_SHIFT) | \ |
45 | ((patch) << SOF_ABI_PATCH_SHIFT)) |
46 | |
47 | #define SOF_ABI_VERSION_MAJOR(version) \ |
48 | (((version) >> SOF_ABI_MAJOR_SHIFT) & SOF_ABI_MAJOR_MASK) |
49 | #define SOF_ABI_VERSION_MINOR(version) \ |
50 | (((version) >> SOF_ABI_MINOR_SHIFT) & SOF_ABI_MINOR_MASK) |
51 | #define SOF_ABI_VERSION_PATCH(version) \ |
52 | (((version) >> SOF_ABI_PATCH_SHIFT) & SOF_ABI_PATCH_MASK) |
53 | |
54 | #define SOF_ABI_VERSION_INCOMPATIBLE(sof_ver, client_ver) \ |
55 | (SOF_ABI_VERSION_MAJOR((sof_ver)) != \ |
56 | SOF_ABI_VERSION_MAJOR((client_ver)) \ |
57 | ) |
58 | |
59 | #define SOF_ABI_VERSION SOF_ABI_VER(SOF_ABI_MAJOR, SOF_ABI_MINOR, SOF_ABI_PATCH) |
60 | |
61 | /* SOF ABI magic number "SOF\0". */ |
62 | #define SOF_ABI_MAGIC 0x00464F53 |
63 | /* SOF IPC4 ABI magic number "SOF4". */ |
64 | #define SOF_IPC4_ABI_MAGIC 0x34464F53 |
65 | |
66 | #endif |
67 |
Warning: That file was not part of the compilation database. It may have many parsing errors.