xref: /linux/drivers/gpu/host1x/intr.h (revision 60684c2bd35064043360e6f716d1b7c20e967b7d)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Tegra host1x Interrupt Management
4  *
5  * Copyright (c) 2010-2021, NVIDIA Corporation.
6  */
7 
8 #ifndef __HOST1X_INTR_H
9 #define __HOST1X_INTR_H
10 
11 struct host1x;
12 struct host1x_syncpt_fence;
13 
14 /* Initialize host1x sync point interrupt */
15 int host1x_intr_init(struct host1x *host);
16 
17 /* Deinitialize host1x sync point interrupt */
18 void host1x_intr_deinit(struct host1x *host);
19 
20 /* Enable host1x sync point interrupt */
21 void host1x_intr_start(struct host1x *host);
22 
23 /* Disable host1x sync point interrupt */
24 void host1x_intr_stop(struct host1x *host);
25 
26 void host1x_intr_handle_interrupt(struct host1x *host, unsigned int id);
27 
28 void host1x_intr_add_fence_locked(struct host1x *host, struct host1x_syncpt_fence *fence);
29 
30 bool host1x_intr_remove_fence(struct host1x *host, struct host1x_syncpt_fence *fence);
31 
32 #endif
33