WIP FPC-III support
[linux/fpc-iii.git] / drivers / gpu / host1x / channel.h
blob39044ff6c3aab1eff020dec36b97d0e50fb71cf2
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3 * Tegra host1x Channel
5 * Copyright (c) 2010-2013, NVIDIA Corporation.
6 */
8 #ifndef __HOST1X_CHANNEL_H
9 #define __HOST1X_CHANNEL_H
11 #include <linux/io.h>
12 #include <linux/kref.h>
14 #include "cdma.h"
16 struct host1x;
17 struct host1x_channel;
19 struct host1x_channel_list {
20 struct host1x_channel *channels;
21 unsigned long *allocated_channels;
24 struct host1x_channel {
25 struct kref refcount;
26 unsigned int id;
27 struct mutex submitlock;
28 void __iomem *regs;
29 struct host1x_client *client;
30 struct device *dev;
31 struct host1x_cdma cdma;
34 /* channel list operations */
35 int host1x_channel_list_init(struct host1x_channel_list *chlist,
36 unsigned int num_channels);
37 void host1x_channel_list_free(struct host1x_channel_list *chlist);
38 struct host1x_channel *host1x_channel_get_index(struct host1x *host,
39 unsigned int index);
41 #endif