diff options
| author | Arto Merilainen <amerilainen@nvidia.com> | 2017-08-18 07:02:52 -0400 |
|---|---|---|
| committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-09-11 03:25:39 -0400 |
| commit | 7c5d6f96e5c8f6bb912a62c3249158ed3b892369 (patch) | |
| tree | a3ce346636b91a672a39cb55dd7975715e7e65c7 /include/uapi/linux | |
| parent | 9462a280d609373fa57698bd03d688e786a8dc54 (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.h | 24 |
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 | }; |
