summaryrefslogtreecommitdiffstats
path: root/include/uapi/linux/nvgpu.h
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2018-01-17 15:39:13 -0500
committermobile promotions <svcmobile_promotions@nvidia.com>2018-01-23 01:20:15 -0500
commitf3f14cdff53f4b936e2505d44aad6e3bca143056 (patch)
tree8d6438132b8ca429758d18142c5f569f60f2bc35 /include/uapi/linux/nvgpu.h
parent193a2ed38ca51d898ac811820ab86237c84e18eb (diff)
gpu: nvgpu: Fold T19x code back to main code paths
Lots of code paths were split to T19x specific code paths and structs due to split repository. Now that repositories are merged, fold all of them back to main code paths and structs and remove the T19x specific Kconfig flag. Change-Id: Id0d17a5f0610fc0b49f51ab6664e716dc8b222b6 Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1640606 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'include/uapi/linux/nvgpu.h')
-rw-r--r--include/uapi/linux/nvgpu.h32
1 files changed, 21 insertions, 11 deletions
diff --git a/include/uapi/linux/nvgpu.h b/include/uapi/linux/nvgpu.h
index 95da072c..391d482d 100644
--- a/include/uapi/linux/nvgpu.h
+++ b/include/uapi/linux/nvgpu.h
@@ -84,6 +84,8 @@ struct nvgpu_gpu_zbc_query_table_args {
84#define NVGPU_GPU_ARCH_GK100 0x000000E0 84#define NVGPU_GPU_ARCH_GK100 0x000000E0
85#define NVGPU_GPU_ARCH_GM200 0x00000120 85#define NVGPU_GPU_ARCH_GM200 0x00000120
86#define NVGPU_GPU_ARCH_GP100 0x00000130 86#define NVGPU_GPU_ARCH_GP100 0x00000130
87#define NVGPU_GPU_ARCH_GV110 0x00000150
88#define NVGPU_GPU_ARCH_GV100 0x00000140
87 89
88#define NVGPU_GPU_IMPL_GK20A 0x0000000A 90#define NVGPU_GPU_IMPL_GK20A 0x0000000A
89#define NVGPU_GPU_IMPL_GM204 0x00000004 91#define NVGPU_GPU_IMPL_GM204 0x00000004
@@ -93,6 +95,8 @@ struct nvgpu_gpu_zbc_query_table_args {
93#define NVGPU_GPU_IMPL_GP104 0x00000004 95#define NVGPU_GPU_IMPL_GP104 0x00000004
94#define NVGPU_GPU_IMPL_GP106 0x00000006 96#define NVGPU_GPU_IMPL_GP106 0x00000006
95#define NVGPU_GPU_IMPL_GP10B 0x0000000B 97#define NVGPU_GPU_IMPL_GP10B 0x0000000B
98#define NVGPU_GPU_IMPL_GV11B 0x0000000B
99#define NVGPU_GPU_IMPL_GV100 0x00000000
96 100
97#ifdef CONFIG_TEGRA_19x_GPU 101#ifdef CONFIG_TEGRA_19x_GPU
98#include <linux/nvgpu-t19x.h> 102#include <linux/nvgpu-t19x.h>
@@ -142,6 +146,8 @@ struct nvgpu_gpu_zbc_query_table_args {
142#define NVGPU_GPU_FLAGS_SUPPORT_IO_COHERENCE (1ULL << 20) 146#define NVGPU_GPU_FLAGS_SUPPORT_IO_COHERENCE (1ULL << 20)
143/* NVGPU_SUBMIT_GPFIFO_FLAGS_RESCHEDULE_RUNLIST is available */ 147/* NVGPU_SUBMIT_GPFIFO_FLAGS_RESCHEDULE_RUNLIST is available */
144#define NVGPU_GPU_FLAGS_SUPPORT_RESCHEDULE_RUNLIST (1ULL << 21) 148#define NVGPU_GPU_FLAGS_SUPPORT_RESCHEDULE_RUNLIST (1ULL << 21)
149/* subcontexts are available */
150#define NVGPU_GPU_FLAGS_SUPPORT_TSG_SUBCONTEXTS (1ULL << 22)
145/* Direct PTE kind control is supported (map_buffer_ex) */ 151/* Direct PTE kind control is supported (map_buffer_ex) */
146#define NVGPU_GPU_FLAGS_SUPPORT_MAP_DIRECT_KIND_CTRL (1ULL << 23) 152#define NVGPU_GPU_FLAGS_SUPPORT_MAP_DIRECT_KIND_CTRL (1ULL << 23)
147/* NVGPU_GPU_IOCTL_SET_DETERMINISTIC_OPTS is available */ 153/* NVGPU_GPU_IOCTL_SET_DETERMINISTIC_OPTS is available */
@@ -1008,6 +1014,17 @@ struct nvgpu_gpu_set_event_filter_args {
1008 1014
1009#define NVGPU_TSG_IOCTL_MAGIC 'T' 1015#define NVGPU_TSG_IOCTL_MAGIC 'T'
1010 1016
1017struct nvgpu_tsg_bind_channel_ex_args {
1018 /* in: channel fd */
1019 __s32 channel_fd;
1020
1021 /* in: VEID in Volta */
1022 __u32 subcontext_id;
1023 __u32 num_active_tpcs;
1024 __u8 tpc_pg_enabled;
1025 __u8 reserved[11];
1026};
1027
1011#define NVGPU_TSG_IOCTL_BIND_CHANNEL \ 1028#define NVGPU_TSG_IOCTL_BIND_CHANNEL \
1012 _IOW(NVGPU_TSG_IOCTL_MAGIC, 1, int) 1029 _IOW(NVGPU_TSG_IOCTL_MAGIC, 1, int)
1013#define NVGPU_TSG_IOCTL_UNBIND_CHANNEL \ 1030#define NVGPU_TSG_IOCTL_UNBIND_CHANNEL \
@@ -1026,19 +1043,12 @@ struct nvgpu_gpu_set_event_filter_args {
1026 _IOW(NVGPU_TSG_IOCTL_MAGIC, 9, struct nvgpu_timeslice_args) 1043 _IOW(NVGPU_TSG_IOCTL_MAGIC, 9, struct nvgpu_timeslice_args)
1027#define NVGPU_IOCTL_TSG_GET_TIMESLICE \ 1044#define NVGPU_IOCTL_TSG_GET_TIMESLICE \
1028 _IOR(NVGPU_TSG_IOCTL_MAGIC, 10, struct nvgpu_timeslice_args) 1045 _IOR(NVGPU_TSG_IOCTL_MAGIC, 10, struct nvgpu_timeslice_args)
1029 1046#define NVGPU_TSG_IOCTL_BIND_CHANNEL_EX \
1030 1047 _IOWR(NVGPU_TSG_IOCTL_MAGIC, 11, struct nvgpu_tsg_bind_channel_ex_args)
1031#ifdef CONFIG_TEGRA_19x_GPU
1032#define NVGPU_TSG_IOCTL_MAX_ARG_SIZE \
1033 NVGPU_TSG_IOCTL_MAX_ARG
1034#define NVGPU_TSG_IOCTL_LAST \
1035 _IOC_NR(NVGPU_TSG_IOCTL_MAX)
1036#else
1037#define NVGPU_TSG_IOCTL_MAX_ARG_SIZE \ 1048#define NVGPU_TSG_IOCTL_MAX_ARG_SIZE \
1038 sizeof(struct nvgpu_event_id_ctrl_args) 1049 sizeof(struct nvgpu_tsg_bind_channel_ex_args)
1039#define NVGPU_TSG_IOCTL_LAST \ 1050#define NVGPU_TSG_IOCTL_LAST \
1040 _IOC_NR(NVGPU_IOCTL_TSG_GET_TIMESLICE) 1051 _IOC_NR(NVGPU_TSG_IOCTL_BIND_CHANNEL_EX)
1041#endif
1042 1052
1043/* 1053/*
1044 * /dev/nvhost-dbg-gpu device 1054 * /dev/nvhost-dbg-gpu device