From fafa521eb25f2d7fef7c7da34a5ca1d9d08899b5 Mon Sep 17 00:00:00 2001 From: Shridhar Rasal Date: Fri, 22 Mar 2019 17:29:24 +0530 Subject: 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 Reviewed-on: https://git-master.nvidia.com/r/2145521 Reviewed-by: Bharat Nihalani Tested-by: Bharat Nihalani GVS: Gerrit_Virtual_Submit Reviewed-by: mobile promotions Tested-by: mobile promotions --- include/uapi/linux/nvdev_fence.h | 6 +++++- include/uapi/linux/nvhost_nvdla_ioctl.h | 33 ++++++++++++++++++++++++--------- 2 files changed, 29 insertions(+), 10 deletions(-) (limited to 'include/uapi/linux') 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 @@ * * Tegra PVA/DLA fence support * - * Copyright (c) 2018, NVIDIA Corporation. All rights reserved. + * Copyright (c) 2018-2019, NVIDIA Corporation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -34,6 +34,7 @@ enum nvdev_fence_kind { * struct nvdev_fence structure for passing fence information * * @type: Type of the fence (syncpoint, sync fd or semaphore) + * @type: fence action (wait or signal) * @syncpoint_index: Syncpoint id * @syncpoint_value: Value of syncpoint id * @sync_fd: Linux sync FD handle @@ -47,6 +48,9 @@ struct nvdev_fence { #define NVDEV_FENCE_TYPE_SYNC_FD 1 #define NVDEV_FENCE_TYPE_SEMAPHORE 2 #define NVDEV_FENCE_TYPE_SEMAPHORE_TS 3 + __u32 action; +#define NVDEV_FENCE_WAIT 0 +#define NVDEV_FENCE_SIGNAL 1 __u32 syncpoint_index; __u32 syncpoint_value; __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 { struct nvdla_submit_args { __u64 tasks; __u16 num_tasks; -#define MAX_TASKS_PER_SUBMIT 24 +#define MAX_TASKS_PER_SUBMIT 16 #define NVDLA_SUBMIT_FLAGS_ATOMIC (1 << 0) __u16 flags; __u32 version; @@ -125,13 +125,19 @@ struct nvdla_mem_handle { * @num_prefences number of pre-fences in task * @num_postfences number of post-fences in task * @num_input_task_status number of input task status - * @num_output_task_status number of output task status + * @num_sof_task_status number of sof task status + * @num_eof_task_status number of eof task status + * @num_sof_timestamps number of sof timestamp + * @num_eof_timestamps number of eof timestamp * @flags flags for bitwise task info embeddeing * @reserved reserved for future use * @prefences pointer to pre-fence struct table * @postfences pointer to post-fence struct table * @input_task_status pointer to input task status struct table - * @output_task_status pointer to output task status struct table + * @sof_task_status pointer to sof task status struct table + * @eof_task_status pointer to eof task status struct table + * @sof_timestamps pointer to sof timestamp handle list + * @eof_timestamps pointer to eof timestamp handle list * @num_addresses total number of addressed passed in structure * @address_list pointer to address list * @timeout task timeout @@ -141,17 +147,24 @@ struct nvdla_ioctl_submit_task { __u8 num_prefences; __u8 num_postfences; __u8 num_input_task_status; - __u8 num_output_task_status; + __u8 num_sof_task_status; + __u8 num_eof_task_status; + __u8 num_sof_timestamps; + __u8 num_eof_timestamps; + __u8 reserved0[1]; #define NVDLA_MAX_BUFFERS_PER_TASK (6144) __u32 num_addresses; __u16 flags; - __u16 reserved; + __u16 reserved1; __u64 prefences; __u64 postfences; __u64 input_task_status; - __u64 output_task_status; + __u64 sof_task_status; + __u64 eof_task_status; + __u64 sof_timestamps; + __u64 eof_timestamps; __u64 address_list; __u64 timeout; }; @@ -160,15 +173,17 @@ struct nvdla_ioctl_submit_task { * struct nvdla_ioctl_emu_submit_task structure for single emulator task * information * + * @num_prefences number of pre-fences in task * @num_postfences number of post-fences in task - * @reserved reserved for padding and future use - * @postfences pointer to post-fence struct table + * @prefences pointer to pre-fence struct table + * @postfences pointer to post-fence struct table * */ struct nvdla_ioctl_emu_submit_task { + __u32 num_prefences; __u32 num_postfences; - __u32 reserved; + __u64 prefences; __u64 postfences; }; -- cgit v1.2.2