1 /* SPDX-License-Identifier: GPL-2.0-only */
5 * Copyright (c) 2010-2013, NVIDIA Corporation.
8 #ifndef __HOST1X_CHANNEL_H
9 #define __HOST1X_CHANNEL_H
12 #include <linux/kref.h>
13 #include <linux/mutex.h>
18 struct host1x_channel
;
20 struct host1x_channel_list
{
21 struct host1x_channel
*channels
;
24 unsigned long *allocated_channels
;
27 struct host1x_channel
{
30 struct mutex submitlock
;
32 struct host1x_client
*client
;
34 struct host1x_cdma cdma
;
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
,
43 void host1x_channel_stop_all(struct host1x
*host
);