video: tegra: host: add prefence signal support

[1] Adds support for prefence signal support
[2] Facilitates handling of SOF feature request from higher
    levels
[3] Update ioctl structure for emu_submit to allow prefence
    with signal action

Jira DLA-1992
Jira DLA-1993

Change-Id: Id0fe8a7a3ff46227121ec5342197b1da2a3f346d
Signed-off-by: Arvind M <am@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/2121530
Reviewed-by: Shridhar Rasal <srasal@nvidia.com>
Reviewed-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>
This commit is contained in:
Arvind M
2019-05-16 17:28:22 +05:30
committed by Laxman Dewangan
parent a03ddacc0d
commit c165791a7b

View File

@@ -3,7 +3,7 @@
* *
* Tegra PVA/DLA fence support * 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 * 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 * 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 * struct nvdev_fence structure for passing fence information
* *
* @type: Type of the fence (syncpoint, sync fd or semaphore) * @type: Type of the fence (syncpoint, sync fd or semaphore)
* @type: fence action (wait or signal)
* @syncpoint_index: Syncpoint id * @syncpoint_index: Syncpoint id
* @syncpoint_value: Value of syncpoint id * @syncpoint_value: Value of syncpoint id
* @sync_fd: Linux sync FD handle * @sync_fd: Linux sync FD handle
@@ -47,6 +48,9 @@ struct nvdev_fence {
#define NVDEV_FENCE_TYPE_SYNC_FD 1 #define NVDEV_FENCE_TYPE_SYNC_FD 1
#define NVDEV_FENCE_TYPE_SEMAPHORE 2 #define NVDEV_FENCE_TYPE_SEMAPHORE 2
#define NVDEV_FENCE_TYPE_SEMAPHORE_TS 3 #define NVDEV_FENCE_TYPE_SEMAPHORE_TS 3
__u32 action;
#define NVDEV_FENCE_WAIT 0
#define NVDEV_FENCE_SIGNAL 1
__u32 syncpoint_index; __u32 syncpoint_index;
__u32 syncpoint_value; __u32 syncpoint_value;
__u32 sync_fd; __u32 sync_fd;