.. | .. |
---|
1 | 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ |
---|
2 | 2 | /* |
---|
3 | 3 | * |
---|
4 | | - * (C) COPYRIGHT 2015-2021 ARM Limited. All rights reserved. |
---|
| 4 | + * (C) COPYRIGHT 2015-2022 ARM Limited. All rights reserved. |
---|
5 | 5 | * |
---|
6 | 6 | * This program is free software and is provided to you under the terms of the |
---|
7 | 7 | * GNU General Public License version 2 as published by the Free Software |
---|
.. | .. |
---|
25 | 25 | #include <linux/types.h> |
---|
26 | 26 | |
---|
27 | 27 | /* GPU_ID register */ |
---|
28 | | -#define GPU_ID_VERSION_STATUS_SHIFT 0 |
---|
29 | | -#define GPU_ID_VERSION_MINOR_SHIFT 4 |
---|
30 | | -#define GPU_ID_VERSION_MAJOR_SHIFT 12 |
---|
31 | | -#define GPU_ID_VERSION_PRODUCT_ID_SHIFT 16 |
---|
32 | | -#define GPU_ID_VERSION_STATUS (0xFu << GPU_ID_VERSION_STATUS_SHIFT) |
---|
33 | | -#define GPU_ID_VERSION_MINOR (0xFFu << GPU_ID_VERSION_MINOR_SHIFT) |
---|
34 | | -#define GPU_ID_VERSION_MAJOR (0xFu << GPU_ID_VERSION_MAJOR_SHIFT) |
---|
35 | | -#define GPU_ID_VERSION_PRODUCT_ID (0xFFFFu << GPU_ID_VERSION_PRODUCT_ID_SHIFT) |
---|
| 28 | +#define KBASE_GPU_ID_VERSION_STATUS_SHIFT 0 |
---|
| 29 | +#define KBASE_GPU_ID_VERSION_MINOR_SHIFT 4 |
---|
| 30 | +#define KBASE_GPU_ID_VERSION_MAJOR_SHIFT 12 |
---|
| 31 | +#define KBASE_GPU_ID_VERSION_PRODUCT_ID_SHIFT 16 |
---|
| 32 | + |
---|
| 33 | +#define GPU_ID_VERSION_STATUS (0xFu << KBASE_GPU_ID_VERSION_STATUS_SHIFT) |
---|
| 34 | +#define GPU_ID_VERSION_MINOR (0xFFu << KBASE_GPU_ID_VERSION_MINOR_SHIFT) |
---|
| 35 | +#define GPU_ID_VERSION_MAJOR (0xFu << KBASE_GPU_ID_VERSION_MAJOR_SHIFT) |
---|
| 36 | +#define GPU_ID_VERSION_PRODUCT_ID (0xFFFFu << KBASE_GPU_ID_VERSION_PRODUCT_ID_SHIFT) |
---|
36 | 37 | |
---|
37 | 38 | #define GPU_ID2_VERSION_STATUS_SHIFT 0 |
---|
38 | 39 | #define GPU_ID2_VERSION_MINOR_SHIFT 4 |
---|
.. | .. |
---|
52 | 53 | #define GPU_ID2_VERSION (GPU_ID2_VERSION_MAJOR | \ |
---|
53 | 54 | GPU_ID2_VERSION_MINOR | \ |
---|
54 | 55 | GPU_ID2_VERSION_STATUS) |
---|
| 56 | + |
---|
| 57 | +/* Helper macro to construct a value consisting of arch major and revision |
---|
| 58 | + * using the value of gpu_id. |
---|
| 59 | + */ |
---|
| 60 | +#define ARCH_MAJOR_REV_REG(gpu_id) \ |
---|
| 61 | + ((((__u32)gpu_id) & GPU_ID2_ARCH_MAJOR) | \ |
---|
| 62 | + (((__u32)gpu_id) & GPU_ID2_ARCH_REV)) |
---|
| 63 | + |
---|
| 64 | +/* Helper macro to create a partial GPU_ID (new format) that defines |
---|
| 65 | + * a arch major and revision. |
---|
| 66 | + */ |
---|
| 67 | +#define GPU_ID2_ARCH_MAJOR_REV_MAKE(arch_major, arch_rev) \ |
---|
| 68 | + ((((__u32)arch_major) << GPU_ID2_ARCH_MAJOR_SHIFT) | \ |
---|
| 69 | + (((__u32)arch_rev) << GPU_ID2_ARCH_REV_SHIFT)) |
---|
55 | 70 | |
---|
56 | 71 | /* Helper macro to create a partial GPU_ID (new format) that defines |
---|
57 | 72 | * a product ignoring its version. |
---|
.. | .. |
---|
104 | 119 | #define GPU_ID2_PRODUCT_TBEX GPU_ID2_MODEL_MAKE(9, 2) |
---|
105 | 120 | #define GPU_ID2_PRODUCT_LBEX GPU_ID2_MODEL_MAKE(9, 4) |
---|
106 | 121 | #define GPU_ID2_PRODUCT_TBAX GPU_ID2_MODEL_MAKE(9, 5) |
---|
107 | | -#define GPU_ID2_PRODUCT_TDUX GPU_ID2_MODEL_MAKE(10, 1) |
---|
108 | 122 | #define GPU_ID2_PRODUCT_TODX GPU_ID2_MODEL_MAKE(10, 2) |
---|
109 | 123 | #define GPU_ID2_PRODUCT_TGRX GPU_ID2_MODEL_MAKE(10, 3) |
---|
110 | 124 | #define GPU_ID2_PRODUCT_TVAX GPU_ID2_MODEL_MAKE(10, 4) |
---|
111 | 125 | #define GPU_ID2_PRODUCT_LODX GPU_ID2_MODEL_MAKE(10, 7) |
---|
| 126 | +#define GPU_ID2_PRODUCT_TTUX GPU_ID2_MODEL_MAKE(11, 2) |
---|
| 127 | +#define GPU_ID2_PRODUCT_LTUX GPU_ID2_MODEL_MAKE(11, 3) |
---|
| 128 | +#define GPU_ID2_PRODUCT_TTIX GPU_ID2_MODEL_MAKE(12, 0) |
---|
| 129 | +#define GPU_ID2_PRODUCT_LTIX GPU_ID2_MODEL_MAKE(12, 1) |
---|
112 | 130 | |
---|
113 | | -/* Helper macro to create a GPU_ID assuming valid values for id, major, |
---|
114 | | - * minor, status |
---|
| 131 | +/** |
---|
| 132 | + * GPU_ID_MAKE - Helper macro to generate GPU_ID using id, major, minor, status |
---|
| 133 | + * |
---|
| 134 | + * @id: Product Major of GPU ID |
---|
| 135 | + * @major: Version major of GPU ID |
---|
| 136 | + * @minor: Version minor of GPU ID |
---|
| 137 | + * @status: Version status of GPU ID |
---|
115 | 138 | */ |
---|
116 | | -#define GPU_ID_MAKE(id, major, minor, status) \ |
---|
117 | | - ((((__u32)id) << GPU_ID_VERSION_PRODUCT_ID_SHIFT) | \ |
---|
118 | | - (((__u32)major) << GPU_ID_VERSION_MAJOR_SHIFT) | \ |
---|
119 | | - (((__u32)minor) << GPU_ID_VERSION_MINOR_SHIFT) | \ |
---|
120 | | - (((__u32)status) << GPU_ID_VERSION_STATUS_SHIFT)) |
---|
| 139 | +#define GPU_ID_MAKE(id, major, minor, status) \ |
---|
| 140 | + ((((__u32)id) << KBASE_GPU_ID_VERSION_PRODUCT_ID_SHIFT) | \ |
---|
| 141 | + (((__u32)major) << KBASE_GPU_ID_VERSION_MAJOR_SHIFT) | \ |
---|
| 142 | + (((__u32)minor) << KBASE_GPU_ID_VERSION_MINOR_SHIFT) | \ |
---|
| 143 | + (((__u32)status) << KBASE_GPU_ID_VERSION_STATUS_SHIFT)) |
---|
121 | 144 | |
---|
122 | 145 | #endif /* _UAPI_KBASE_GPU_ID_H_ */ |
---|