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