Changes

2,234 bytes added ,  17:40, 17 October 2019
Line 1,070: Line 1,070:  
| 0x4010470F || In || 16 || [[#NVGPU_GPU_IOCTL_SET_SM_DEBUG_MODE]]
 
| 0x4010470F || In || 16 || [[#NVGPU_GPU_IOCTL_SET_SM_DEBUG_MODE]]
 
|-
 
|-
| 0xC0304710</br>([1.0.0-6.1.0] 0xC0084710) || Inout || 48</br>([1.0.0-6.1.0] 8) || NVGPU_GPU_IOCTL_WAIT_FOR_PAUSE
+
| 0xC0304710</br>([1.0.0-6.1.0] 0xC0084710) || Inout || 48</br>([1.0.0-6.1.0] 8) || [[#NVGPU_GPU_IOCTL_WAIT_FOR_PAUSE]]
 
|-
 
|-
| 0x80084711 || Out || 8 || NVGPU_GPU_IOCTL_GET_TPC_EXCEPTION_EN_STATUS
+
| 0x80084711 || Out || 8 || [[#NVGPU_GPU_IOCTL_GET_TPC_EXCEPTION_EN_STATUS]]
 
|-
 
|-
| 0x80084712 || Out || 8 || NVGPU_GPU_IOCTL_NUM_VSMS
+
| 0x80084712 || Out || 8 || [[#NVGPU_GPU_IOCTL_NUM_VSMS]]
 
|-
 
|-
| 0xC0044713 || Inout || 4 || NVGPU_GPU_IOCTL_VSMS_MAPPING
+
| 0xC0044713 || Inout || 4 || [[#NVGPU_GPU_IOCTL_VSMS_MAPPING]]
 
|-
 
|-
 
| 0x80084714 || Out || 8 || [[#NVGPU_GPU_IOCTL_ZBC_GET_ACTIVE_SLOT_MASK]]
 
| 0x80084714 || Out || 8 || [[#NVGPU_GPU_IOCTL_ZBC_GET_ACTIVE_SLOT_MASK]]
 
|-
 
|-
| 0x80044715 || Out || 4 || NVGPU_GPU_IOCTL_PMU_GET_GPU_LOAD
+
| 0x80044715 || Out || 4 || [[#NVGPU_GPU_IOCTL_PMU_GET_GPU_LOAD]]
 
|-
 
|-
| 0x40084716 || In || 8 || NVGPU_GPU_IOCTL_SET_CG_CONTROLS
+
| 0x40084716 || In || 8 || [[#NVGPU_GPU_IOCTL_SET_CG_CONTROLS]]
 
|-
 
|-
| 0xC0084717 || Inout || 8 || NVGPU_GPU_IOCTL_GET_CG_CONTROLS
+
| 0xC0084717 || Inout || 8 || [[#NVGPU_GPU_IOCTL_GET_CG_CONTROLS]]
 
|-
 
|-
| 0x40084718 || In || 8 || NVGPU_GPU_IOCTL_SET_PG_CONTROLS
+
| 0x40084718 || In || 8 || [[#NVGPU_GPU_IOCTL_SET_PG_CONTROLS]]
 
|-
 
|-
| 0xC0084719 || Inout || 8 || NVGPU_GPU_IOCTL_GET_PG_CONTROLS
+
| 0xC0084719 || Inout || 8 || [[#NVGPU_GPU_IOCTL_GET_PG_CONTROLS]]
 
|-
 
|-
| 0x8018471A || Out || 24 || NVGPU_GPU_IOCTL_PMU_DUMP_ELPG_STATS
+
| 0x8018471A || Out || 24 || [[#NVGPU_GPU_IOCTL_PMU_GET_ELPG_RESIDENCY_GATING]]
 
|-
 
|-
| 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
Line 1,237: Line 1,237:  
     __in u32 enable;
 
     __in u32 enable;
 
     __in u64 sms;
 
     __in u64 sms;
 +
  };
 +
 +
=== NVGPU_GPU_IOCTL_WAIT_FOR_PAUSE ===
 +
Waits until all valid warps on the GPU SM are paused and returns their current state.
 +
 +
  struct {
 +
    __in u64 pwarpstate;
 +
  };
 +
 +
[6.1.0+] This command was modified to return inline data instead of using a pointer.
 +
 +
  struct {
 +
    __out u64 sm0_valid_warps;
 +
    __out u64 sm0_trapped_warps;
 +
    __out u64 sm0_paused_warps;
 +
    __out u64 sm1_valid_warps;
 +
    __out u64 sm1_trapped_warps;
 +
    __out u64 sm1_paused_warps;
 +
  };
 +
 +
=== NVGPU_GPU_IOCTL_GET_TPC_EXCEPTION_EN_STATUS ===
 +
Returns a mask value describing all active TPC exceptions. Identical to Linux driver.
 +
 +
  struct {
 +
    __out u64 tpc_exception_en_sm_mask;
 +
  };
 +
 +
=== NVGPU_GPU_IOCTL_NUM_VSMS ===
 +
Returns the number of GPU SM units present. Identical to Linux driver.
 +
 +
  struct {
 +
    __out u32 num_vsms;
 +
    __out u32 reserved;
 +
  };
 +
 +
=== NVGPU_GPU_IOCTL_VSMS_MAPPING ===
 +
Returns mapping information on each GPU SM unit. Modified to return inline data instead of using a pointer.
 +
 +
  struct {
 +
    __out u8 sm0_gpc_index;
 +
    __out u8 sm0_tpc_index;
 +
    __out u8 sm1_gpc_index;
 +
    __out u8 sm1_tpc_index;
 
   };
 
   };
   Line 1,245: Line 1,288:  
     __out u32 slot;      // always 0x07
 
     __out u32 slot;      // always 0x07
 
     __out u32 mask;
 
     __out u32 mask;
 +
  };
 +
 +
=== NVGPU_GPU_IOCTL_PMU_GET_GPU_LOAD ===
 +
Returns the GPU load value from the PMU.
 +
 +
  struct {
 +
    __out u32 pmu_gpu_load;
 +
  };
 +
 +
=== NVGPU_GPU_IOCTL_SET_CG_CONTROLS ===
 +
Sets the clock gate control value.
 +
 +
  struct {
 +
    __in u32 cg_mask;
 +
    __in u32 cg_value;
 +
  };
 +
 +
=== NVGPU_GPU_IOCTL_GET_CG_CONTROLS ===
 +
Returns the clock gate control value.
 +
 +
  struct {
 +
    __in u32 cg_mask;
 +
    __out u32 cg_value;
 +
  };
 +
 +
=== NVGPU_GPU_IOCTL_SET_PG_CONTROLS ===
 +
Sets the power gate control value.
 +
 +
  struct {
 +
    __in u32 pg_mask;
 +
    __in u32 pg_value;
 +
  };
 +
 +
=== NVGPU_GPU_IOCTL_GET_PG_CONTROLS ===
 +
Returns the power gate control value.
 +
 +
  struct {
 +
    __in u32 pg_mask;
 +
    __out u32 pg_value;
 +
  };
 +
 +
=== NVGPU_GPU_IOCTL_PMU_GET_ELPG_RESIDENCY_GATING ===
 +
Returns the GPU PMU ELPG residency gating values.
 +
 +
  struct {
 +
    __out u64 pg_ingating_time_us;
 +
    __out u64 pg_ungating_time_us;
 +
    __out u64 pg_gating_cnt;
 +
  };
 +
 +
=== NVGPU_GPU_IOCTL_GET_ERROR_CHANNEL_USER_DATA ===
 +
Returns user specific data from the error channel, if one exists.
 +
 +
  struct {
 +
    __out u64 data;
 
   };
 
   };