diff options
| author | Shridhar Rasal <srasal@nvidia.com> | 2016-07-25 05:28:10 -0400 |
|---|---|---|
| committer | Shridhar Rasal <srasal@nvidia.com> | 2016-08-11 01:53:20 -0400 |
| commit | 99b319a13e559bc8eec488ec35cb50ed23d0e68b (patch) | |
| tree | 98955f597289c87996771a94dd153a26ceff917e /include/linux | |
| parent | e2c3f43e9c8a77d01b1321a22dbb7be8acc7c292 (diff) | |
video: tegra: host: dla: add submit IOCTL
- add initial task submit stub
Jira DLA-19
Change-Id: Iea249cfd14cf186b984d1f296373740f80429c3d
Signed-off-by: Shridhar Rasal <srasal@nvidia.com>
Reviewed-on: http://git-master/r/1191493
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/nvhost_nvdla_ioctl.h | 62 |
1 files changed, 60 insertions, 2 deletions
diff --git a/include/linux/nvhost_nvdla_ioctl.h b/include/linux/nvhost_nvdla_ioctl.h index b5b6c676b..06f4f1011 100644 --- a/include/linux/nvhost_nvdla_ioctl.h +++ b/include/linux/nvhost_nvdla_ioctl.h | |||
| @@ -39,6 +39,63 @@ struct nvdla_ctrl_pin_unpin_args { | |||
| 39 | __u32 reserved; | 39 | __u32 reserved; |
| 40 | }; | 40 | }; |
| 41 | 41 | ||
| 42 | struct nvdla_ctrl_submit_args { | ||
| 43 | __u64 tasks; | ||
| 44 | __u16 num_tasks; | ||
| 45 | #define MAX_TASKS_PER_SUBMIT 32 | ||
| 46 | #define NVDLA_SUBMIT_FLAGS_ATOMIC (1 << 0) | ||
| 47 | __u16 flags; | ||
| 48 | __u32 version; | ||
| 49 | }; | ||
| 50 | |||
| 51 | struct nvdla_ctrl_ioctl_submit_task { | ||
| 52 | __u8 num_prefences; | ||
| 53 | __u8 num_postfences; | ||
| 54 | __u8 num_input_task_status; | ||
| 55 | __u8 num_output_task_status; | ||
| 56 | __u16 flags; | ||
| 57 | __u16 reserved; | ||
| 58 | |||
| 59 | __u64 prefences; | ||
| 60 | __u64 postfences; | ||
| 61 | |||
| 62 | __u64 input_task_status; | ||
| 63 | __u64 output_task_status; | ||
| 64 | |||
| 65 | __u32 num_operations; | ||
| 66 | __u32 num_addresses; | ||
| 67 | __u64 operation_desc; | ||
| 68 | |||
| 69 | __u64 surface_desc; | ||
| 70 | __u64 address_list; | ||
| 71 | }; | ||
| 72 | |||
| 73 | struct nvdla_fence { | ||
| 74 | __u32 type; | ||
| 75 | #define NVDLA_FENCE_TYPE_SYNCPT 0 | ||
| 76 | #define NVDLA_FENCE_TYPE_SYNC_FD 1 | ||
| 77 | __u32 syncpoint_index; | ||
| 78 | __u32 syncpoint_value; | ||
| 79 | __u32 sync_fd; | ||
| 80 | }; | ||
| 81 | |||
| 82 | struct nvdla_task_surface { | ||
| 83 | __u64 format; | ||
| 84 | __u32 handle; | ||
| 85 | __u32 offset; | ||
| 86 | }; | ||
| 87 | |||
| 88 | struct nvdla_task_roi { | ||
| 89 | __u32 handle; | ||
| 90 | __u32 offset; | ||
| 91 | }; | ||
| 92 | |||
| 93 | struct nvdla_task_status_handle { | ||
| 94 | __u32 handle; | ||
| 95 | __u32 reserved; | ||
| 96 | __u64 offset; | ||
| 97 | }; | ||
| 98 | |||
| 42 | #define NVHOST_NVDLA_IOCTL_MAGIC 'D' | 99 | #define NVHOST_NVDLA_IOCTL_MAGIC 'D' |
| 43 | 100 | ||
| 44 | #define NVDLA_IOCTL_CTRL_PING \ | 101 | #define NVDLA_IOCTL_CTRL_PING \ |
| @@ -47,9 +104,10 @@ struct nvdla_ctrl_pin_unpin_args { | |||
| 47 | _IOW(NVHOST_NVDLA_IOCTL_MAGIC, 2, struct nvdla_ctrl_pin_unpin_args) | 104 | _IOW(NVHOST_NVDLA_IOCTL_MAGIC, 2, struct nvdla_ctrl_pin_unpin_args) |
| 48 | #define NVDLA_IOCTL_CTRL_UNPIN \ | 105 | #define NVDLA_IOCTL_CTRL_UNPIN \ |
| 49 | _IOW(NVHOST_NVDLA_IOCTL_MAGIC, 3, struct nvdla_ctrl_pin_unpin_args) | 106 | _IOW(NVHOST_NVDLA_IOCTL_MAGIC, 3, struct nvdla_ctrl_pin_unpin_args) |
| 50 | 107 | #define NVDLA_IOCTL_CTRL_SUBMIT \ | |
| 108 | _IOW(NVHOST_NVDLA_IOCTL_MAGIC, 4, struct nvdla_ctrl_submit_args) | ||
| 51 | #define NVDLA_IOCTL_CTRL_LAST \ | 109 | #define NVDLA_IOCTL_CTRL_LAST \ |
| 52 | _IOC_NR(NVDLA_IOCTL_CTRL_UNPIN) | 110 | _IOC_NR(NVDLA_IOCTL_CTRL_SUBMIT) |
| 53 | 111 | ||
| 54 | #define NVDLA_IOCTL_CTRL_MAX_ARG_SIZE \ | 112 | #define NVDLA_IOCTL_CTRL_MAX_ARG_SIZE \ |
| 55 | sizeof(struct nvdla_ctrl_pin_unpin_args) | 113 | sizeof(struct nvdla_ctrl_pin_unpin_args) |
