NV services: Difference between revisions
Line 1,264: | Line 1,264: | ||
| 0x40084805 || 8 || [[#NVGPU_IOCTL_CHANNEL_ALLOC_GPFIFO]] | | 0x40084805 || 8 || [[#NVGPU_IOCTL_CHANNEL_ALLOC_GPFIFO]] | ||
|- | |- | ||
| 0x40184806 || || NVGPU_IOCTL_CHANNEL_WAIT | | 0x40184806 || 24 || [[#NVGPU_IOCTL_CHANNEL_WAIT]] | ||
|- | |- | ||
| 0xC0044807 || 4 || [[#NVGPU_IOCTL_CHANNEL_CYCLE_STATS]] | | 0xC0044807 || 4 || [[#NVGPU_IOCTL_CHANNEL_CYCLE_STATS]] | ||
Line 1,272: | Line 1,272: | ||
| 0xC0104809 || 16 || [[#NVGPU_IOCTL_CHANNEL_ALLOC_OBJ_CTX]] | | 0xC0104809 || 16 || [[#NVGPU_IOCTL_CHANNEL_ALLOC_OBJ_CTX]] | ||
|- | |- | ||
| 0x4008480A || || NVHOST_IOCTL_CHANNEL_FREE_OBJ_CTX | | 0x4008480A || 8 || [[#NVHOST_IOCTL_CHANNEL_FREE_OBJ_CTX]] | ||
|- | |- | ||
| 0xC010480B || 16 || [[#NVGPU_IOCTL_CHANNEL_ZCULL_BIND]] | | 0xC010480B || 16 || [[#NVGPU_IOCTL_CHANNEL_ZCULL_BIND]] | ||
Line 1,308: | Line 1,308: | ||
| 0xC004481D || 4 || [[#NVGPU_IOCTL_CHANNEL_SET_TIMESLICE]] | | 0xC004481D || 4 || [[#NVGPU_IOCTL_CHANNEL_SET_TIMESLICE]] | ||
|- style="border-top: double" | |- style="border-top: double" | ||
| 0x40084714 || 8 || NVGPU_IOCTL_CHANNEL_SET_USER_DATA | | 0x40084714 || 8 || [[#NVGPU_IOCTL_CHANNEL_SET_USER_DATA]] | ||
|- | |- | ||
| 0x80084715 || 8 || NVGPU_IOCTL_CHANNEL_GET_USER_DATA | | 0x80084715 || 8 || [[#NVGPU_IOCTL_CHANNEL_GET_USER_DATA]] | ||
|} | |} | ||
Line 1,421: | Line 1,421: | ||
__in u32 num_entries; | __in u32 num_entries; | ||
__in u32 flags; | __in u32 flags; | ||
}; | |||
=== NVGPU_IOCTL_CHANNEL_WAIT === | |||
Waits on channel. Identical to Linux driver. | |||
struct { | |||
__in u32 type; // wait type (0=notifier, 1=semaphore) | |||
__in u32 timeout; // wait timeout value | |||
__in u32 dmabuf_fd; // nvmap handle | |||
__in u32 offset; // nvmap memory offset | |||
__in u32 payload; // payload data (semaphore only) | |||
__in u32 padding; // ignored | |||
}; | }; | ||
Line 1,427: | Line 1,439: | ||
struct { | struct { | ||
__in | __in u32 dmabuf_fd; // nvmap handle | ||
}; | }; | ||
Line 1,459: | Line 1,471: | ||
__in u32 flags; // bit0: LOCKBOOST_ZERO | __in u32 flags; // bit0: LOCKBOOST_ZERO | ||
__out u64 obj_id; // (ignored) used for FREE_OBJ_CTX ioctl, which is not supported | __out u64 obj_id; // (ignored) used for FREE_OBJ_CTX ioctl, which is not supported | ||
}; | |||
=== NVHOST_IOCTL_CHANNEL_FREE_OBJ_CTX === | |||
Frees a graphics context object. Not supported. | |||
struct { | |||
__in u64 obj_id; // ignored | |||
}; | }; | ||
Line 1,567: | Line 1,586: | ||
struct { | struct { | ||
__in u32 timeslice; | __in u32 timeslice; | ||
}; | |||
=== NVGPU_IOCTL_CHANNEL_SET_USER_DATA === | |||
Sets user specific data. | |||
struct { | |||
__in u64 data; | |||
}; | |||
=== NVGPU_IOCTL_CHANNEL_GET_USER_DATA === | |||
Gets user specific data. | |||
struct { | |||
__out u64 data; | |||
}; | }; | ||