]> Git Repo - linux.git/blob - drivers/gpu/host1x/channel.h
Merge tag 'soc-drivers-6.14' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
[linux.git] / drivers / gpu / host1x / channel.h
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Tegra host1x Channel
4  *
5  * Copyright (c) 2010-2013, NVIDIA Corporation.
6  */
7
8 #ifndef __HOST1X_CHANNEL_H
9 #define __HOST1X_CHANNEL_H
10
11 #include <linux/io.h>
12 #include <linux/kref.h>
13 #include <linux/mutex.h>
14
15 #include "cdma.h"
16
17 struct host1x;
18 struct host1x_channel;
19
20 struct host1x_channel_list {
21         struct host1x_channel *channels;
22
23         struct mutex lock;
24         unsigned long *allocated_channels;
25 };
26
27 struct host1x_channel {
28         struct kref refcount;
29         unsigned int id;
30         struct mutex submitlock;
31         void __iomem *regs;
32         struct host1x_client *client;
33         struct device *dev;
34         struct host1x_cdma cdma;
35 };
36
37 /* channel list operations */
38 int host1x_channel_list_init(struct host1x_channel_list *chlist,
39                              unsigned int num_channels);
40 void host1x_channel_list_free(struct host1x_channel_list *chlist);
41 struct host1x_channel *host1x_channel_get_index(struct host1x *host,
42                                                 unsigned int index);
43 void host1x_channel_stop_all(struct host1x *host);
44
45 #endif
This page took 0.032664 seconds and 4 git commands to generate.