summaryrefslogtreecommitdiffstats
path: root/include/uapi/linux/nvgpu.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/uapi/linux/nvgpu.h')
-rw-r--r--include/uapi/linux/nvgpu.h31
1 files changed, 27 insertions, 4 deletions
diff --git a/include/uapi/linux/nvgpu.h b/include/uapi/linux/nvgpu.h
index bf711ef8..95da072c 100644
--- a/include/uapi/linux/nvgpu.h
+++ b/include/uapi/linux/nvgpu.h
@@ -94,10 +94,6 @@ struct nvgpu_gpu_zbc_query_table_args {
94#define NVGPU_GPU_IMPL_GP106 0x00000006 94#define NVGPU_GPU_IMPL_GP106 0x00000006
95#define NVGPU_GPU_IMPL_GP10B 0x0000000B 95#define NVGPU_GPU_IMPL_GP10B 0x0000000B
96 96
97#ifdef CONFIG_ARCH_TEGRA_18x_SOC
98#include <linux/nvgpu-t18x.h>
99#endif
100
101#ifdef CONFIG_TEGRA_19x_GPU 97#ifdef CONFIG_TEGRA_19x_GPU
102#include <linux/nvgpu-t19x.h> 98#include <linux/nvgpu-t19x.h>
103#endif 99#endif
@@ -150,6 +146,20 @@ struct nvgpu_gpu_zbc_query_table_args {
150#define NVGPU_GPU_FLAGS_SUPPORT_MAP_DIRECT_KIND_CTRL (1ULL << 23) 146#define NVGPU_GPU_FLAGS_SUPPORT_MAP_DIRECT_KIND_CTRL (1ULL << 23)
151/* NVGPU_GPU_IOCTL_SET_DETERMINISTIC_OPTS is available */ 147/* NVGPU_GPU_IOCTL_SET_DETERMINISTIC_OPTS is available */
152#define NVGPU_GPU_FLAGS_SUPPORT_DETERMINISTIC_OPTS (1ULL << 24) 148#define NVGPU_GPU_FLAGS_SUPPORT_DETERMINISTIC_OPTS (1ULL << 24)
149/* SM LRF ECC is enabled */
150#define NVGPU_GPU_FLAGS_ECC_ENABLED_SM_LRF (1ULL << 60)
151/* SM SHM ECC is enabled */
152#define NVGPU_GPU_FLAGS_ECC_ENABLED_SM_SHM (1ULL << 61)
153/* TEX ECC is enabled */
154#define NVGPU_GPU_FLAGS_ECC_ENABLED_TEX (1ULL << 62)
155/* L2 ECC is enabled */
156#define NVGPU_GPU_FLAGS_ECC_ENABLED_LTC (1ULL << 63)
157/* All types of ECC are enabled */
158#define NVGPU_GPU_FLAGS_ALL_ECC_ENABLED \
159 (NVGPU_GPU_FLAGS_ECC_ENABLED_SM_LRF | \
160 NVGPU_GPU_FLAGS_ECC_ENABLED_SM_SHM | \
161 NVGPU_GPU_FLAGS_ECC_ENABLED_TEX | \
162 NVGPU_GPU_FLAGS_ECC_ENABLED_LTC)
153 163
154struct nvgpu_gpu_characteristics { 164struct nvgpu_gpu_characteristics {
155 __u32 arch; 165 __u32 arch;
@@ -1388,6 +1398,9 @@ struct nvgpu_set_nvmap_fd_args {
1388} __packed; 1398} __packed;
1389 1399
1390#define NVGPU_ALLOC_OBJ_FLAGS_LOCKBOOST_ZERO (1 << 0) 1400#define NVGPU_ALLOC_OBJ_FLAGS_LOCKBOOST_ZERO (1 << 0)
1401/* Flags in nvgpu_alloc_obj_ctx_args.flags */
1402#define NVGPU_ALLOC_OBJ_FLAGS_GFXP (1 << 1)
1403#define NVGPU_ALLOC_OBJ_FLAGS_CILP (1 << 2)
1391 1404
1392struct nvgpu_alloc_obj_ctx_args { 1405struct nvgpu_alloc_obj_ctx_args {
1393 __u32 class_num; /* kepler3d, 2d, compute, etc */ 1406 __u32 class_num; /* kepler3d, 2d, compute, etc */
@@ -1398,6 +1411,11 @@ struct nvgpu_alloc_obj_ctx_args {
1398struct nvgpu_alloc_gpfifo_args { 1411struct nvgpu_alloc_gpfifo_args {
1399 __u32 num_entries; 1412 __u32 num_entries;
1400#define NVGPU_ALLOC_GPFIFO_FLAGS_VPR_ENABLED (1 << 0) /* set owner channel of this gpfifo as a vpr channel */ 1413#define NVGPU_ALLOC_GPFIFO_FLAGS_VPR_ENABLED (1 << 0) /* set owner channel of this gpfifo as a vpr channel */
1414/*
1415 * this flag is used in struct nvgpu_alloc_gpfifo_args
1416 * to enable re-playable faults for that channel
1417 */
1418#define NVGPU_ALLOC_GPFIFO_FLAGS_REPLAYABLE_FAULTS_ENABLE (1 << 2)
1401 __u32 flags; 1419 __u32 flags;
1402}; 1420};
1403 1421
@@ -1592,6 +1610,8 @@ struct nvgpu_event_id_ctrl_args {
1592#define NVGPU_IOCTL_CHANNEL_EVENT_ID_BPT_INT 0 1610#define NVGPU_IOCTL_CHANNEL_EVENT_ID_BPT_INT 0
1593#define NVGPU_IOCTL_CHANNEL_EVENT_ID_BPT_PAUSE 1 1611#define NVGPU_IOCTL_CHANNEL_EVENT_ID_BPT_PAUSE 1
1594#define NVGPU_IOCTL_CHANNEL_EVENT_ID_BLOCKING_SYNC 2 1612#define NVGPU_IOCTL_CHANNEL_EVENT_ID_BLOCKING_SYNC 2
1613#define NVGPU_IOCTL_CHANNEL_EVENT_ID_CILP_PREEMPTION_STARTED 3
1614#define NVGPU_IOCTL_CHANNEL_EVENT_ID_CILP_PREEMPTION_COMPLETE 4
1595#define NVGPU_IOCTL_CHANNEL_EVENT_ID_GR_SEMAPHORE_WRITE_AWAKEN 5 1615#define NVGPU_IOCTL_CHANNEL_EVENT_ID_GR_SEMAPHORE_WRITE_AWAKEN 5
1596#define NVGPU_IOCTL_CHANNEL_EVENT_ID_MAX 6 1616#define NVGPU_IOCTL_CHANNEL_EVENT_ID_MAX 6
1597 1617
@@ -1600,11 +1620,14 @@ struct nvgpu_event_id_ctrl_args {
1600struct nvgpu_preemption_mode_args { 1620struct nvgpu_preemption_mode_args {
1601/* only one should be enabled at a time */ 1621/* only one should be enabled at a time */
1602#define NVGPU_GRAPHICS_PREEMPTION_MODE_WFI (1 << 0) 1622#define NVGPU_GRAPHICS_PREEMPTION_MODE_WFI (1 << 0)
1623#define NVGPU_GRAPHICS_PREEMPTION_MODE_GFXP (1 << 1)
1603 __u32 graphics_preempt_mode; /* in */ 1624 __u32 graphics_preempt_mode; /* in */
1604 1625
1605/* only one should be enabled at a time */ 1626/* only one should be enabled at a time */
1606#define NVGPU_COMPUTE_PREEMPTION_MODE_WFI (1 << 0) 1627#define NVGPU_COMPUTE_PREEMPTION_MODE_WFI (1 << 0)
1607#define NVGPU_COMPUTE_PREEMPTION_MODE_CTA (1 << 1) 1628#define NVGPU_COMPUTE_PREEMPTION_MODE_CTA (1 << 1)
1629#define NVGPU_COMPUTE_PREEMPTION_MODE_CILP (1 << 2)
1630
1608 __u32 compute_preempt_mode; /* in */ 1631 __u32 compute_preempt_mode; /* in */
1609}; 1632};
1610 1633