Changes

822 bytes added ,  18:20, 29 October 2019
Line 1,094: Line 1,094:  
| 0xC008471B || Inout || 8 || [[#NVGPU_GPU_IOCTL_GET_ERROR_CHANNEL_USER_DATA]]
 
| 0xC008471B || Inout || 8 || [[#NVGPU_GPU_IOCTL_GET_ERROR_CHANNEL_USER_DATA]]
 
|-
 
|-
| 0xC010471C || Inout || 16 || NVGPU_GPU_IOCTL_GET_GPU_TIME
+
| 0xC010471C || Inout || 16 || [[#NVGPU_GPU_IOCTL_GET_GPU_TIME]]
 
|-
 
|-
| 0xC108471D || Inout || 264 || NVGPU_GPU_IOCTL_GET_CPU_TIME_CORRELATION_INFO
+
| 0xC108471D || Inout || 264 || [[#NVGPU_GPU_IOCTL_GET_CPU_TIME_CORRELATION_INFO]]
 
|}
 
|}
   Line 1,344: Line 1,344:  
     __out u64 data;
 
     __out u64 data;
 
   };
 
   };
 +
 +
=== NVGPU_GPU_IOCTL_GET_GPU_TIME ===
 +
Returns the timestamp from the GPU's nanosecond timer (PTIMER). Identical to Linux driver.
 +
 +
  struct {
 +
    __out u64 gpu_timestamp;      // raw GPU counter (PTIMER) value
 +
    __out u64 reserved;
 +
  };
 +
 +
=== NVGPU_GPU_IOCTL_GET_CPU_TIME_CORRELATION_INFO ===
 +
Returns GPU/CPU timestamp pairs for correlation analysis. Identical to Linux driver.
 +
 +
struct time_correlation_sample {
 +
  u64 cpu_timestamp;            // from CPU's CNTPCT_EL0 register
 +
  u64 gpu_timestamp;            // from GPU's PTIMER registers
 +
};
 +
 +
struct {
 +
  __out struct time_correlation_sample samples[16];  // timestamp pairs
 +
  __in u32    count;                                // number of pairs to read
 +
  __in u32    source_id;                            // cpu clock source id (must be 1)
 +
};
    
== Channels ==
 
== Channels ==