Changes

797 bytes added ,  17:40, 10 October 2019
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   u32 dmabuf_fd;  // nvmap handle
+
     __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;
 
   };
 
   };