mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-24 10:11:26 +03:00
Move from the old, complex intr handling code to a new implementation based on dma_fences. While there is a fair bit of churn to get there, the new implementation is much simpler and likely faster as well due to allowing signaling directly from interrupt context. Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com> Change-Id: I81c47fa1946679813f90e3fd8e1d1e9d6342143e Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2786635 Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
30 lines
468 B
C
30 lines
468 B
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/*
|
|
* Copyright (c) 2020, NVIDIA Corporation.
|
|
*/
|
|
|
|
#ifndef HOST1X_FENCE_H
|
|
#define HOST1X_FENCE_H
|
|
|
|
struct host1x_syncpt_fence {
|
|
struct dma_fence base;
|
|
|
|
atomic_t signaling;
|
|
|
|
struct host1x_syncpt *sp;
|
|
u32 threshold;
|
|
|
|
struct delayed_work timeout_work;
|
|
|
|
struct list_head list;
|
|
};
|
|
|
|
struct host1x_fence_list {
|
|
spinlock_t lock;
|
|
struct list_head list;
|
|
};
|
|
|
|
void host1x_fence_signal(struct host1x_syncpt_fence *fence);
|
|
|
|
#endif
|