summaryrefslogtreecommitdiffstats
path: root/include/uapi/linux
diff options
context:
space:
mode:
authorArto Merilainen <amerilainen@nvidia.com>2017-08-18 07:02:52 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-09-11 03:25:39 -0400
commit7c5d6f96e5c8f6bb912a62c3249158ed3b892369 (patch)
treea3ce346636b91a672a39cb55dd7975715e7e65c7 /include/uapi/linux
parent9462a280d609373fa57698bd03d688e786a8dc54 (diff)
video: tegra: host: pva: Add opaque type
This change adds an opaque data type for passing information from userspace to firmware. The data type replaces the existing "pointer" data type with a new type that supports delivering payload as part of the task. JIRA PVA-302 JIRA PVA-538 Change-Id: If290ae7809cb4603693510a0d0a14b11a1380258 Signed-off-by: Arto Merilainen <amerilainen@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1541232 Reviewed-by: Vinod Gopalakrishnakurup <vinodg@nvidia.com> Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: svccoveritychecker <svccoveritychecker@nvidia.com>
Diffstat (limited to 'include/uapi/linux')
-rw-r--r--include/uapi/linux/nvhost_pva_ioctl.h24
1 files changed, 13 insertions, 11 deletions
diff --git a/include/uapi/linux/nvhost_pva_ioctl.h b/include/uapi/linux/nvhost_pva_ioctl.h
index a8aa21c87..18588cefe 100644
--- a/include/uapi/linux/nvhost_pva_ioctl.h
+++ b/include/uapi/linux/nvhost_pva_ioctl.h
@@ -181,14 +181,15 @@ struct pva_fence {
181 __u32 semaphore_value; 181 __u32 semaphore_value;
182}; 182};
183 183
184#define PVA_MAX_TASKS 1 184#define PVA_MAX_TASKS 1
185#define PVA_MAX_PREFENCES 8 185#define PVA_MAX_PREFENCES 8
186#define PVA_MAX_POSTFENCES 8 186#define PVA_MAX_POSTFENCES 8
187#define PVA_MAX_INPUT_STATUS 8 187#define PVA_MAX_INPUT_STATUS 8
188#define PVA_MAX_OUTPUT_STATUS 8 188#define PVA_MAX_OUTPUT_STATUS 8
189#define PVA_MAX_INPUT_SURFACES 8 189#define PVA_MAX_INPUT_SURFACES 8
190#define PVA_MAX_OUTPUT_SURFACES 8 190#define PVA_MAX_OUTPUT_SURFACES 8
191#define PVA_MAX_POINTERS 128 191#define PVA_MAX_POINTERS 128
192#define PVA_MAX_PRIMARY_PAYLOAD_SIZE 4096
192 193
193/** 194/**
194 * struct pva_ioctl_submit_task - Describe a task for PVA 195 * struct pva_ioctl_submit_task - Describe a task for PVA
@@ -223,17 +224,18 @@ struct pva_ioctl_submit_task {
223 __u8 num_output_task_status; 224 __u8 num_output_task_status;
224 __u16 num_pointers; 225 __u16 num_pointers;
225 __u64 pointers; 226 __u64 pointers;
226 __u8 reserved0[4]; 227 __u32 primary_payload_size;
227 __u32 operation; 228 __u32 operation;
228 __u64 timeout; 229 __u64 timeout;
229 __u64 prefences; 230 __u64 prefences;
230 __u64 postfences; 231 __u64 postfences;
231 __u64 input_surfaces; 232 __u64 input_surfaces;
232 struct pva_task_parameter input_scalars; 233 struct pva_task_parameter input_scalars;
233 u8 reserved1[16]; 234 __u64 primary_payload;
235 u8 reserved0[8];
234 __u64 output_surfaces; 236 __u64 output_surfaces;
235 struct pva_task_parameter output_scalars; 237 struct pva_task_parameter output_scalars;
236 u8 reserved2[16]; 238 u8 reserved1[16];
237 __u64 input_task_status; 239 __u64 input_task_status;
238 __u64 output_task_status; 240 __u64 output_task_status;
239}; 241};