NV services: Difference between revisions
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 == |