1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
2 | /* |
3 | * Host1x context devices |
4 | * |
5 | * Copyright (c) 2020, NVIDIA Corporation. |
6 | */ |
7 | |
8 | #ifndef __HOST1X_CONTEXT_H |
9 | #define __HOST1X_CONTEXT_H |
10 | |
11 | #include <linux/mutex.h> |
12 | #include <linux/refcount.h> |
13 | |
14 | struct host1x; |
15 | |
16 | extern struct bus_type host1x_context_device_bus_type; |
17 | |
18 | struct host1x_memory_context_list { |
19 | struct mutex lock; |
20 | struct host1x_memory_context *devs; |
21 | unsigned int len; |
22 | }; |
23 | |
24 | #ifdef CONFIG_IOMMU_API |
25 | int host1x_memory_context_list_init(struct host1x *host1x); |
26 | void host1x_memory_context_list_free(struct host1x_memory_context_list *cdl); |
27 | #else |
28 | static inline int host1x_memory_context_list_init(struct host1x *host1x) |
29 | { |
30 | return 0; |
31 | } |
32 | |
33 | static inline void host1x_memory_context_list_free(struct host1x_memory_context_list *cdl) |
34 | { |
35 | } |
36 | #endif |
37 | |
38 | #endif |
39 | |