|
NVIDIA DriveOS Linux NSR SDK API Reference
|
7.0.3.0 Release
|
Go to the documentation of this file.
23 #ifndef _UAPI_NVIDIA_DRM_IOCTL_H_
24 #define _UAPI_NVIDIA_DRM_IOCTL_H_
32 #define DRM_NVIDIA_GET_CRTC_CRC32 0x00
33 #define DRM_NVIDIA_GEM_IMPORT_NVKMS_MEMORY 0x01
34 #define DRM_NVIDIA_GEM_IMPORT_USERSPACE_MEMORY 0x02
35 #define DRM_NVIDIA_GET_DEV_INFO 0x03
36 #define DRM_NVIDIA_FENCE_SUPPORTED 0x04
37 #define DRM_NVIDIA_PRIME_FENCE_CONTEXT_CREATE 0x05
38 #define DRM_NVIDIA_GEM_PRIME_FENCE_ATTACH 0x06
39 #define DRM_NVIDIA_GET_CLIENT_CAPABILITY 0x08
40 #define DRM_NVIDIA_GEM_EXPORT_NVKMS_MEMORY 0x09
41 #define DRM_NVIDIA_GEM_MAP_OFFSET 0x0a
42 #define DRM_NVIDIA_GEM_ALLOC_NVKMS_MEMORY 0x0b
43 #define DRM_NVIDIA_GET_CRTC_CRC32_V2 0x0c
44 #define DRM_NVIDIA_GEM_EXPORT_DMABUF_MEMORY 0x0d
45 #define DRM_NVIDIA_GEM_IDENTIFY_OBJECT 0x0e
46 #define DRM_NVIDIA_DMABUF_SUPPORTED 0x0f
47 #define DRM_NVIDIA_GET_DPY_ID_FOR_CONNECTOR_ID 0x10
48 #define DRM_NVIDIA_GET_CONNECTOR_ID_FOR_DPY_ID 0x11
49 #define DRM_NVIDIA_GRANT_PERMISSIONS 0x12
50 #define DRM_NVIDIA_REVOKE_PERMISSIONS 0x13
51 #define DRM_NVIDIA_SEMSURF_FENCE_CTX_CREATE 0x14
52 #define DRM_NVIDIA_SEMSURF_FENCE_CREATE 0x15
53 #define DRM_NVIDIA_SEMSURF_FENCE_WAIT 0x16
54 #define DRM_NVIDIA_SEMSURF_FENCE_ATTACH 0x17
55 #define DRM_NVIDIA_GET_DRM_FILE_UNIQUE_ID 0x18
57 #define DRM_IOCTL_NVIDIA_GEM_IMPORT_NVKMS_MEMORY \
58 DRM_IOWR((DRM_COMMAND_BASE + DRM_NVIDIA_GEM_IMPORT_NVKMS_MEMORY), \
59 struct drm_nvidia_gem_import_nvkms_memory_params)
61 #define DRM_IOCTL_NVIDIA_GEM_IMPORT_USERSPACE_MEMORY \
62 DRM_IOWR((DRM_COMMAND_BASE + DRM_NVIDIA_GEM_IMPORT_USERSPACE_MEMORY), \
63 struct drm_nvidia_gem_import_userspace_memory_params)
65 #define DRM_IOCTL_NVIDIA_GET_DEV_INFO \
66 DRM_IOWR((DRM_COMMAND_BASE + DRM_NVIDIA_GET_DEV_INFO), \
67 struct drm_nvidia_get_dev_info_params)
75 #if defined(NV_LINUX) || defined(NV_BSD)
76 #define DRM_IOCTL_NVIDIA_FENCE_SUPPORTED \
77 DRM_IO(DRM_COMMAND_BASE + DRM_NVIDIA_FENCE_SUPPORTED)
78 #define DRM_IOCTL_NVIDIA_DMABUF_SUPPORTED \
79 DRM_IO(DRM_COMMAND_BASE + DRM_NVIDIA_DMABUF_SUPPORTED)
81 #define DRM_IOCTL_NVIDIA_FENCE_SUPPORTED 0
82 #define DRM_IOCTL_NVIDIA_DMABUF_SUPPORTED 0
85 #define DRM_IOCTL_NVIDIA_PRIME_FENCE_CONTEXT_CREATE \
86 DRM_IOWR((DRM_COMMAND_BASE + DRM_NVIDIA_PRIME_FENCE_CONTEXT_CREATE),\
87 struct drm_nvidia_prime_fence_context_create_params)
89 #define DRM_IOCTL_NVIDIA_GEM_PRIME_FENCE_ATTACH \
90 DRM_IOW((DRM_COMMAND_BASE + DRM_NVIDIA_GEM_PRIME_FENCE_ATTACH), \
91 struct drm_nvidia_gem_prime_fence_attach_params)
93 #define DRM_IOCTL_NVIDIA_GET_CLIENT_CAPABILITY \
94 DRM_IOWR((DRM_COMMAND_BASE + DRM_NVIDIA_GET_CLIENT_CAPABILITY), \
95 struct drm_nvidia_get_client_capability_params)
97 #define DRM_IOCTL_NVIDIA_GET_CRTC_CRC32 \
98 DRM_IOWR((DRM_COMMAND_BASE + DRM_NVIDIA_GET_CRTC_CRC32), \
99 struct drm_nvidia_get_crtc_crc32_params)
101 #define DRM_IOCTL_NVIDIA_GET_CRTC_CRC32_V2 \
102 DRM_IOWR((DRM_COMMAND_BASE + DRM_NVIDIA_GET_CRTC_CRC32_V2), \
103 struct drm_nvidia_get_crtc_crc32_v2_params)
105 #define DRM_IOCTL_NVIDIA_GEM_EXPORT_NVKMS_MEMORY \
106 DRM_IOWR((DRM_COMMAND_BASE + DRM_NVIDIA_GEM_EXPORT_NVKMS_MEMORY), \
107 struct drm_nvidia_gem_export_nvkms_memory_params)
109 #define DRM_IOCTL_NVIDIA_GEM_MAP_OFFSET \
110 DRM_IOWR((DRM_COMMAND_BASE + DRM_NVIDIA_GEM_MAP_OFFSET), \
111 struct drm_nvidia_gem_map_offset_params)
113 #define DRM_IOCTL_NVIDIA_GEM_ALLOC_NVKMS_MEMORY \
114 DRM_IOWR((DRM_COMMAND_BASE + DRM_NVIDIA_GEM_ALLOC_NVKMS_MEMORY), \
115 struct drm_nvidia_gem_alloc_nvkms_memory_params)
117 #define DRM_IOCTL_NVIDIA_GEM_EXPORT_DMABUF_MEMORY \
118 DRM_IOWR((DRM_COMMAND_BASE + DRM_NVIDIA_GEM_EXPORT_DMABUF_MEMORY), \
119 struct drm_nvidia_gem_export_dmabuf_memory_params)
121 #define DRM_IOCTL_NVIDIA_GEM_IDENTIFY_OBJECT \
122 DRM_IOWR((DRM_COMMAND_BASE + DRM_NVIDIA_GEM_IDENTIFY_OBJECT), \
123 struct drm_nvidia_gem_identify_object_params)
125 #define DRM_IOCTL_NVIDIA_GET_DPY_ID_FOR_CONNECTOR_ID \
126 DRM_IOWR((DRM_COMMAND_BASE + DRM_NVIDIA_GET_DPY_ID_FOR_CONNECTOR_ID),\
127 struct drm_nvidia_get_dpy_id_for_connector_id_params)
129 #define DRM_IOCTL_NVIDIA_GET_CONNECTOR_ID_FOR_DPY_ID \
130 DRM_IOWR((DRM_COMMAND_BASE + DRM_NVIDIA_GET_CONNECTOR_ID_FOR_DPY_ID),\
131 struct drm_nvidia_get_connector_id_for_dpy_id_params)
133 #define DRM_IOCTL_NVIDIA_GRANT_PERMISSIONS \
134 DRM_IOWR((DRM_COMMAND_BASE + DRM_NVIDIA_GRANT_PERMISSIONS), \
135 struct drm_nvidia_grant_permissions_params)
137 #define DRM_IOCTL_NVIDIA_REVOKE_PERMISSIONS \
138 DRM_IOWR((DRM_COMMAND_BASE + DRM_NVIDIA_REVOKE_PERMISSIONS), \
139 struct drm_nvidia_revoke_permissions_params)
141 #define DRM_IOCTL_NVIDIA_SEMSURF_FENCE_CTX_CREATE \
142 DRM_IOWR((DRM_COMMAND_BASE + \
143 DRM_NVIDIA_SEMSURF_FENCE_CTX_CREATE), \
144 struct drm_nvidia_semsurf_fence_ctx_create_params)
146 #define DRM_IOCTL_NVIDIA_SEMSURF_FENCE_CREATE \
147 DRM_IOWR((DRM_COMMAND_BASE + \
148 DRM_NVIDIA_SEMSURF_FENCE_CREATE), \
149 struct drm_nvidia_semsurf_fence_create_params)
151 #define DRM_IOCTL_NVIDIA_SEMSURF_FENCE_WAIT \
152 DRM_IOW((DRM_COMMAND_BASE + \
153 DRM_NVIDIA_SEMSURF_FENCE_WAIT), \
154 struct drm_nvidia_semsurf_fence_wait_params)
156 #define DRM_IOCTL_NVIDIA_SEMSURF_FENCE_ATTACH \
157 DRM_IOW((DRM_COMMAND_BASE + \
158 DRM_NVIDIA_SEMSURF_FENCE_ATTACH), \
159 struct drm_nvidia_semsurf_fence_attach_params)
161 #define DRM_IOCTL_NVIDIA_GET_DRM_FILE_UNIQUE_ID \
162 DRM_IOWR((DRM_COMMAND_BASE + \
163 DRM_NVIDIA_GET_DRM_FILE_UNIQUE_ID), \
164 struct drm_nvidia_get_drm_file_unique_id_params)
265 #define NV_GEM_ALLOC_NO_SCANOUT (1 << 0)
uint32_t supports_semsurf
uint32_t fence_context_handle
uint64_t import_mem_nvkms_params_ptr
drm_nvidia_permissions_type
uint32_t page_kind_generation
uint64_t nvkms_params_size
struct drm_nvidia_crtc_crc32 rasterGeneratorCrc32
@ NV_DRM_PERMISSIONS_TYPE_SUB_OWNER
struct drm_nvidia_crtc_crc32_v2_out crc32
struct drm_nvidia_crtc_crc32 compositorCrc32
uint64_t nvkms_params_size
uint64_t nvkms_params_ptr
uint64_t event_nvkms_params_size
drm_nvidia_gem_object_type
uint64_t event_nvkms_params_ptr
drm_nvidia_gem_object_type object_type
@ NV_DRM_PERMISSIONS_TYPE_MODESET
uint64_t nvkms_params_size
uint32_t fence_context_handle
uint32_t fence_context_handle
uint64_t nvkms_params_ptr
uint64_t import_mem_nvkms_params_size
struct drm_nvidia_crtc_crc32 outputCrc32
uint32_t supports_sync_fd
uint64_t nvkms_params_ptr
@ NV_GEM_OBJECT_USERMEMORY
uint32_t timeout_value_ms
uint64_t nvkms_params_ptr
uint32_t generic_page_kind
uint32_t fence_context_handle
uint32_t timeout_value_ms
uint64_t nvkms_params_size