mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-22 17:36:20 +03:00
In preparation for better abstraction in job synchronization, drop support for the dependency fences tracked via submit pre-fences in semaphore-based syncs. This has only worked for semaphores, not nvhost syncpoints, and hasn't really been used. The dependency was printed in the sync framework's sync pt value string. Remove also the userspace-visible gk20a_sync_pt_info which is not used and depends on this feature (providing a duration since the dependency fence's timestamp). Jira NVGPU-43 Change-Id: Ia2b26502a9dc8f5bef5470f94b1475001f621da1 Signed-off-by: Konsta Holtta <kholtta@nvidia.com> Reviewed-on: http://git-master/r/1456880 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
52 lines
1.5 KiB
C
52 lines
1.5 KiB
C
/*
|
|
* drivers/video/tegra/host/gk20a/sync_gk20a.h
|
|
*
|
|
* GK20A Sync Framework Integration
|
|
*
|
|
* Copyright (c) 2014-2017, NVIDIA CORPORATION. All rights reserved.
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify it
|
|
* under the terms and conditions of the GNU General Public License,
|
|
* version 2, as published by the Free Software Foundation.
|
|
*
|
|
* This program is distributed in the hope it will be useful, but WITHOUT
|
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
|
* more details.
|
|
*/
|
|
|
|
#ifndef _GK20A_SYNC_H_
|
|
#define _GK20A_SYNC_H_
|
|
|
|
#include <linux/version.h>
|
|
|
|
struct sync_timeline;
|
|
struct sync_fence;
|
|
struct sync_pt;
|
|
struct nvgpu_semaphore;
|
|
struct fence;
|
|
|
|
int gk20a_is_sema_backed_sync_fence(struct sync_fence *fence);
|
|
struct nvgpu_semaphore *gk20a_sync_fence_get_sema(struct sync_fence *f);
|
|
|
|
#ifdef CONFIG_SYNC
|
|
struct sync_timeline *gk20a_sync_timeline_create(const char *fmt, ...);
|
|
void gk20a_sync_timeline_destroy(struct sync_timeline *);
|
|
void gk20a_sync_timeline_signal(struct sync_timeline *);
|
|
struct sync_fence *gk20a_sync_fence_create(
|
|
struct gk20a *g,
|
|
struct sync_timeline *,
|
|
struct nvgpu_semaphore *,
|
|
const char *fmt, ...);
|
|
struct sync_fence *gk20a_sync_fence_fdget(int fd);
|
|
#else
|
|
static inline void gk20a_sync_timeline_destroy(struct sync_timeline *obj) {}
|
|
static inline void gk20a_sync_timeline_signal(struct sync_timeline *obj) {}
|
|
static inline struct sync_fence *gk20a_sync_fence_fdget(int fd)
|
|
{
|
|
return NULL;
|
|
}
|
|
#endif
|
|
|
|
#endif
|