Line 718: |
Line 718: |
| struct { | | struct { |
| __in u32 fence_id; | | __in u32 fence_id; |
− | __in u32 fence_value; | + | __in u32 fence_thresh; |
| __in u32 swap_interval; | | __in u32 swap_interval; |
| }; | | }; |
Line 1,390: |
Line 1,390: |
| ! Value || Size || Description | | ! Value || Size || Description |
| |- | | |- |
− | | 0xC0??0001 || Variable || NVHOST_IOCTL_CHANNEL_SUBMIT | + | | 0xC0??0001 || Variable || [[#NVHOST_IOCTL_CHANNEL_SUBMIT]] |
| |- | | |- |
| | 0xC0080002 || 8 || [[#NVHOST_IOCTL_CHANNEL_GET_SYNCPOINT]] | | | 0xC0080002 || 8 || [[#NVHOST_IOCTL_CHANNEL_GET_SYNCPOINT]] |
Line 1,410: |
Line 1,410: |
| | 0xC0080023</br>([1.0.0-7.0.1] 0xC0080014) || 8 || [[#NVHOST_IOCTL_CHANNEL_GET_CLK_RATE]] | | | 0xC0080023</br>([1.0.0-7.0.1] 0xC0080014) || 8 || [[#NVHOST_IOCTL_CHANNEL_GET_CLK_RATE]] |
| |- | | |- |
− | | 0xC0??0024 || Variable || NVHOST_IOCTL_CHANNEL_SUBMIT_EX | + | | 0xC0??0024 || Variable || [[#NVHOST_IOCTL_CHANNEL_SUBMIT_EX]] |
| |- | | |- |
| | 0xC0??0025 || Variable || [[#NVHOST_IOCTL_CHANNEL_MAP_CMD_BUFFER_EX]] | | | 0xC0??0025 || Variable || [[#NVHOST_IOCTL_CHANNEL_MAP_CMD_BUFFER_EX]] |
Line 1,470: |
Line 1,470: |
| | 0x80084715 || 8 || [[#NVGPU_IOCTL_CHANNEL_GET_USER_DATA]] | | | 0x80084715 || 8 || [[#NVGPU_IOCTL_CHANNEL_GET_USER_DATA]] |
| |} | | |} |
| + | |
| + | == NVHOST_IOCTL_CHANNEL_SUBMIT === |
| + | Submits data to the channel. |
| + | |
| + | struct cmdbuf { |
| + | u32 mem; |
| + | u32 offset; |
| + | u32 words; |
| + | }; |
| + | |
| + | struct reloc { |
| + | u32 cmdbuf_mem; |
| + | u32 cmdbuf_offset; |
| + | u32 target; |
| + | u32 target_offset; |
| + | }; |
| + | |
| + | struct reloc_shift { |
| + | u32 shift; |
| + | }; |
| + | |
| + | struct syncpt_incr { |
| + | u32 syncpt_id; |
| + | u32 syncpt_incrs; |
| + | }; |
| + | |
| + | struct fence { |
| + | u32 id; |
| + | u32 thresh; |
| + | }; |
| + | |
| + | struct { |
| + | __in u32 num_cmdbufs; |
| + | __in u32 num_relocs; |
| + | __in u32 num_syncpt_incrs; |
| + | __in u32 num_fences; |
| + | __in struct cmdbuf cmdbufs[]; // depends on num_cmdbufs |
| + | __in struct reloc relocs[]; // depends on num_relocs |
| + | __in struct reloc_shift reloc_shifts[]; // depends on num_relocs |
| + | __in struct syncpt_incr syncpt_incrs[]; // depends on num_syncpt_incrs |
| + | __out struct fence fences[]; // depends on num_fences |
| + | }; |
| | | |
| === NVHOST_IOCTL_CHANNEL_GET_SYNCPOINT === | | === NVHOST_IOCTL_CHANNEL_GET_SYNCPOINT === |
Line 1,552: |
Line 1,594: |
| __in u32 module_id; | | __in u32 module_id; |
| }; | | }; |
| + | |
| + | == NVHOST_IOCTL_CHANNEL_SUBMIT_EX == |
| + | Same as [[#NVHOST_IOCTL_CHANNEL_SUBMIT|NVHOST_IOCTL_CHANNEL_SUBMIT]]. |
| | | |
| === NVHOST_IOCTL_CHANNEL_MAP_CMD_BUFFER_EX === | | === NVHOST_IOCTL_CHANNEL_MAP_CMD_BUFFER_EX === |
Line 1,604: |
Line 1,649: |
| | | |
| struct fence { | | struct fence { |
− | u32 syncpt_id; | + | u32 id; |
− | u32 syncpt_value; | + | u32 thresh; |
| }; | | }; |
| | | |
Line 1,715: |
Line 1,760: |
| | | |
| struct fence { | | struct fence { |
− | u32 syncpt_id;
| + | u32 id; |
− | u32 syncpt_value;
| + | u32 thresh; |
| }; | | }; |
| | | |