1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * Tegra host1x Interrupt Management
5 * Copyright (c) 2010-2021, NVIDIA Corporation.
8 #ifndef __HOST1X_INTR_H
9 #define __HOST1X_INTR_H
12 struct host1x_syncpt_fence;
14 struct host1x_intr_irq_data {
19 /* Initialize host1x sync point interrupt */
20 int host1x_intr_init(struct host1x *host);
22 /* Deinitialize host1x sync point interrupt */
23 void host1x_intr_deinit(struct host1x *host);
25 /* Enable host1x sync point interrupt */
26 void host1x_intr_start(struct host1x *host);
28 /* Disable host1x sync point interrupt */
29 void host1x_intr_stop(struct host1x *host);
31 void host1x_intr_handle_interrupt(struct host1x *host, unsigned int id);
33 void host1x_intr_add_fence_locked(struct host1x *host, struct host1x_syncpt_fence *fence);
35 bool host1x_intr_remove_fence(struct host1x *host, struct host1x_syncpt_fence *fence);