NV services: Difference between revisions

Line 1,468: Line 1,468:


=== NVGPU_IOCTL_CHANNEL_SUBMIT_GPFIFO_RETRY ===
=== NVGPU_IOCTL_CHANNEL_SUBMIT_GPFIFO_RETRY ===
Submits a gpfifo object (async version). Exclusive to the Switch.
Same as [[#NVGPU_IOCTL_CHANNEL_SUBMIT_GPFIFO|NVGPU_IOCTL_CHANNEL_SUBMIT_GPFIFO]].
 
  struct fence {
    u32 syncpt_id;
    u32 syncpt_value;
  };
 
  struct gpfifo_entry {
    u64 entry;                              // gpu_iova | (unk_2bits << 40) | (size << 42) | (unk_flag << 63)
  };
 
  struct {
    __in    u64 gpfifo;                      // (ignored) pointer to gpfifo fence structs
    __in    u32 num_entries;                // number of fence objects being submitted
    __in    u32 flags;
    __inout struct fence fence_out;          // returned new fence object for others to wait on
    __in    struct gpfifo_entry entries[];  // depends on num_entries
  };


=== NVGPU_IOCTL_CHANNEL_ALLOC_GPFIFO_EX2 ===
=== NVGPU_IOCTL_CHANNEL_ALLOC_GPFIFO_EX2 ===