From 7c5d6f96e5c8f6bb912a62c3249158ed3b892369 Mon Sep 17 00:00:00 2001 From: Arto Merilainen Date: Fri, 18 Aug 2017 14:02:52 +0300 Subject: 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 Reviewed-on: https://git-master.nvidia.com/r/1541232 Reviewed-by: Vinod Gopalakrishnakurup Reviewed-by: svc-mobile-coverity GVS: Gerrit_Virtual_Submit Reviewed-by: svccoveritychecker --- include/uapi/linux/nvhost_pva_ioctl.h | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) (limited to 'include/uapi/linux') 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 { __u32 semaphore_value; }; -#define PVA_MAX_TASKS 1 -#define PVA_MAX_PREFENCES 8 -#define PVA_MAX_POSTFENCES 8 -#define PVA_MAX_INPUT_STATUS 8 -#define PVA_MAX_OUTPUT_STATUS 8 -#define PVA_MAX_INPUT_SURFACES 8 -#define PVA_MAX_OUTPUT_SURFACES 8 -#define PVA_MAX_POINTERS 128 +#define PVA_MAX_TASKS 1 +#define PVA_MAX_PREFENCES 8 +#define PVA_MAX_POSTFENCES 8 +#define PVA_MAX_INPUT_STATUS 8 +#define PVA_MAX_OUTPUT_STATUS 8 +#define PVA_MAX_INPUT_SURFACES 8 +#define PVA_MAX_OUTPUT_SURFACES 8 +#define PVA_MAX_POINTERS 128 +#define PVA_MAX_PRIMARY_PAYLOAD_SIZE 4096 /** * struct pva_ioctl_submit_task - Describe a task for PVA @@ -223,17 +224,18 @@ struct pva_ioctl_submit_task { __u8 num_output_task_status; __u16 num_pointers; __u64 pointers; - __u8 reserved0[4]; + __u32 primary_payload_size; __u32 operation; __u64 timeout; __u64 prefences; __u64 postfences; __u64 input_surfaces; struct pva_task_parameter input_scalars; - u8 reserved1[16]; + __u64 primary_payload; + u8 reserved0[8]; __u64 output_surfaces; struct pva_task_parameter output_scalars; - u8 reserved2[16]; + u8 reserved1[16]; __u64 input_task_status; __u64 output_task_status; }; -- cgit v1.2.2