mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-22 10:34:55 +08:00
625d4ffb43
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> Signed-off-by: Thierry Reding <treding@nvidia.com>
33 lines
851 B
C
33 lines
851 B
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/*
|
|
* Tegra host1x Interrupt Management
|
|
*
|
|
* Copyright (c) 2010-2021, NVIDIA Corporation.
|
|
*/
|
|
|
|
#ifndef __HOST1X_INTR_H
|
|
#define __HOST1X_INTR_H
|
|
|
|
struct host1x;
|
|
struct host1x_syncpt_fence;
|
|
|
|
/* Initialize host1x sync point interrupt */
|
|
int host1x_intr_init(struct host1x *host);
|
|
|
|
/* Deinitialize host1x sync point interrupt */
|
|
void host1x_intr_deinit(struct host1x *host);
|
|
|
|
/* Enable host1x sync point interrupt */
|
|
void host1x_intr_start(struct host1x *host);
|
|
|
|
/* Disable host1x sync point interrupt */
|
|
void host1x_intr_stop(struct host1x *host);
|
|
|
|
void host1x_intr_handle_interrupt(struct host1x *host, unsigned int id);
|
|
|
|
void host1x_intr_add_fence_locked(struct host1x *host, struct host1x_syncpt_fence *fence);
|
|
|
|
bool host1x_intr_remove_fence(struct host1x *host, struct host1x_syncpt_fence *fence);
|
|
|
|
#endif
|