summaryrefslogtreecommitdiffstats
path: root/include/uapi/linux
diff options
context:
space:
mode:
authorShridhar Rasal <srasal@nvidia.com>2019-03-22 07:59:24 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2019-07-12 07:13:47 -0400
commitfafa521eb25f2d7fef7c7da34a5ca1d9d08899b5 (patch)
tree0772000d1052fe28aec1920a078065919c8e5fee /include/uapi/linux
parent77bc11b771c0645d8789da620a289a16a185da8c (diff)
video: tegra: host: nvdla: "Fast-forward" from dev-main
a11353e video: tegra: host: restores sof/eof, TS feature 30ad926 Revert "video: tegra: host: dla: refactor and cleanup code" 90728d1 Revert "video: tegra: host: add prefence signal support" 3a3cb49 Revert "video: tegra: host: add sof/eof taskstatus support" ba8175d Revert "video: tegra: host: increase fw minor version" 641c3dd Revert "video: tegra: host: add sof/eof timestamp support" dcdb0d6 video: tegra: host: increase fw minor version a9cb0c9 video: tegra: host: add sof/eof timestamp support 6f683c8 video: tegra: host: add sof/eof taskstatus support 109f8e8 video: tegra: host: add prefence signal support 890be46 video: tegra: host: dla: refactor and cleanup code fca91ed video: tegra: host: dla: use nvdla_queue e428726 video: tegra: host: dla: switch to nvdla_buffer b438bc7 video: tegra: host: dla: factor out nvhost queue a6c24d8 video: tegra: host: dla: factor out nvhost buffer 0f2f0cc video: tegra: host: dla: addresslist alignment to 256 c0f2c0a video: tegra: host: update fw version interface 2aec9c3 video: tegra: host: update os and fw version interface Bug 2635977 Change-Id: Ia66198c644032fffd8d12e7ba19ebdc785ce9aa2 Signed-off-by: Mitch Harwell <mharwell@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/2145521 Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Tested-by: Bharat Nihalani <bnihalani@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'include/uapi/linux')
-rw-r--r--include/uapi/linux/nvdev_fence.h6
-rw-r--r--include/uapi/linux/nvhost_nvdla_ioctl.h33
2 files changed, 29 insertions, 10 deletions
diff --git a/include/uapi/linux/nvdev_fence.h b/include/uapi/linux/nvdev_fence.h
index 37d81be43..5877a3887 100644
--- a/include/uapi/linux/nvdev_fence.h
+++ b/include/uapi/linux/nvdev_fence.h
@@ -3,7 +3,7 @@
3 * 3 *
4 * Tegra PVA/DLA fence support 4 * Tegra PVA/DLA fence support
5 * 5 *
6 * Copyright (c) 2018, NVIDIA Corporation. All rights reserved. 6 * Copyright (c) 2018-2019, NVIDIA Corporation. All rights reserved.
7 * 7 *
8 * This program is free software; you can redistribute it and/or modify 8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by 9 * it under the terms of the GNU General Public License as published by
@@ -34,6 +34,7 @@ enum nvdev_fence_kind {
34 * struct nvdev_fence structure for passing fence information 34 * struct nvdev_fence structure for passing fence information
35 * 35 *
36 * @type: Type of the fence (syncpoint, sync fd or semaphore) 36 * @type: Type of the fence (syncpoint, sync fd or semaphore)
37 * @type: fence action (wait or signal)
37 * @syncpoint_index: Syncpoint id 38 * @syncpoint_index: Syncpoint id
38 * @syncpoint_value: Value of syncpoint id 39 * @syncpoint_value: Value of syncpoint id
39 * @sync_fd: Linux sync FD handle 40 * @sync_fd: Linux sync FD handle
@@ -47,6 +48,9 @@ struct nvdev_fence {
47#define NVDEV_FENCE_TYPE_SYNC_FD 1 48#define NVDEV_FENCE_TYPE_SYNC_FD 1
48#define NVDEV_FENCE_TYPE_SEMAPHORE 2 49#define NVDEV_FENCE_TYPE_SEMAPHORE 2
49#define NVDEV_FENCE_TYPE_SEMAPHORE_TS 3 50#define NVDEV_FENCE_TYPE_SEMAPHORE_TS 3
51 __u32 action;
52#define NVDEV_FENCE_WAIT 0
53#define NVDEV_FENCE_SIGNAL 1
50 __u32 syncpoint_index; 54 __u32 syncpoint_index;
51 __u32 syncpoint_value; 55 __u32 syncpoint_value;
52 __u32 sync_fd; 56 __u32 sync_fd;
diff --git a/include/uapi/linux/nvhost_nvdla_ioctl.h b/include/uapi/linux/nvhost_nvdla_ioctl.h
index d17cf7e15..ca3ab3762 100644
--- a/include/uapi/linux/nvhost_nvdla_ioctl.h
+++ b/include/uapi/linux/nvhost_nvdla_ioctl.h
@@ -79,7 +79,7 @@ struct nvdla_pin_unpin_args {
79struct nvdla_submit_args { 79struct nvdla_submit_args {
80 __u64 tasks; 80 __u64 tasks;
81 __u16 num_tasks; 81 __u16 num_tasks;
82#define MAX_TASKS_PER_SUBMIT 24 82#define MAX_TASKS_PER_SUBMIT 16
83#define NVDLA_SUBMIT_FLAGS_ATOMIC (1 << 0) 83#define NVDLA_SUBMIT_FLAGS_ATOMIC (1 << 0)
84 __u16 flags; 84 __u16 flags;
85 __u32 version; 85 __u32 version;
@@ -125,13 +125,19 @@ struct nvdla_mem_handle {
125 * @num_prefences number of pre-fences in task 125 * @num_prefences number of pre-fences in task
126 * @num_postfences number of post-fences in task 126 * @num_postfences number of post-fences in task
127 * @num_input_task_status number of input task status 127 * @num_input_task_status number of input task status
128 * @num_output_task_status number of output task status 128 * @num_sof_task_status number of sof task status
129 * @num_eof_task_status number of eof task status
130 * @num_sof_timestamps number of sof timestamp
131 * @num_eof_timestamps number of eof timestamp
129 * @flags flags for bitwise task info embeddeing 132 * @flags flags for bitwise task info embeddeing
130 * @reserved reserved for future use 133 * @reserved reserved for future use
131 * @prefences pointer to pre-fence struct table 134 * @prefences pointer to pre-fence struct table
132 * @postfences pointer to post-fence struct table 135 * @postfences pointer to post-fence struct table
133 * @input_task_status pointer to input task status struct table 136 * @input_task_status pointer to input task status struct table
134 * @output_task_status pointer to output task status struct table 137 * @sof_task_status pointer to sof task status struct table
138 * @eof_task_status pointer to eof task status struct table
139 * @sof_timestamps pointer to sof timestamp handle list
140 * @eof_timestamps pointer to eof timestamp handle list
135 * @num_addresses total number of addressed passed in structure 141 * @num_addresses total number of addressed passed in structure
136 * @address_list pointer to address list 142 * @address_list pointer to address list
137 * @timeout task timeout 143 * @timeout task timeout
@@ -141,17 +147,24 @@ struct nvdla_ioctl_submit_task {
141 __u8 num_prefences; 147 __u8 num_prefences;
142 __u8 num_postfences; 148 __u8 num_postfences;
143 __u8 num_input_task_status; 149 __u8 num_input_task_status;
144 __u8 num_output_task_status; 150 __u8 num_sof_task_status;
151 __u8 num_eof_task_status;
152 __u8 num_sof_timestamps;
153 __u8 num_eof_timestamps;
154 __u8 reserved0[1];
145#define NVDLA_MAX_BUFFERS_PER_TASK (6144) 155#define NVDLA_MAX_BUFFERS_PER_TASK (6144)
146 __u32 num_addresses; 156 __u32 num_addresses;
147 __u16 flags; 157 __u16 flags;
148 __u16 reserved; 158 __u16 reserved1;
149 159
150 __u64 prefences; 160 __u64 prefences;
151 __u64 postfences; 161 __u64 postfences;
152 162
153 __u64 input_task_status; 163 __u64 input_task_status;
154 __u64 output_task_status; 164 __u64 sof_task_status;
165 __u64 eof_task_status;
166 __u64 sof_timestamps;
167 __u64 eof_timestamps;
155 __u64 address_list; 168 __u64 address_list;
156 __u64 timeout; 169 __u64 timeout;
157}; 170};
@@ -160,15 +173,17 @@ struct nvdla_ioctl_submit_task {
160 * struct nvdla_ioctl_emu_submit_task structure for single emulator task 173 * struct nvdla_ioctl_emu_submit_task structure for single emulator task
161 * information 174 * information
162 * 175 *
176 * @num_prefences number of pre-fences in task
163 * @num_postfences number of post-fences in task 177 * @num_postfences number of post-fences in task
164 * @reserved reserved for padding and future use 178 * @prefences pointer to pre-fence struct table
165 * @postfences pointer to post-fence struct table 179 * @postfences pointer to post-fence struct table
166 * 180 *
167 */ 181 */
168struct nvdla_ioctl_emu_submit_task { 182struct nvdla_ioctl_emu_submit_task {
183 __u32 num_prefences;
169 __u32 num_postfences; 184 __u32 num_postfences;
170 __u32 reserved;
171 185
186 __u64 prefences;
172 __u64 postfences; 187 __u64 postfences;
173}; 188};
174 189