channel.h (886B)
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 14#include "cdma.h" 15 16struct host1x; 17struct host1x_channel; 18 19struct host1x_channel_list { 20 struct host1x_channel *channels; 21 unsigned long *allocated_channels; 22}; 23 24struct 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; 32}; 33 34/* channel list operations */ 35int host1x_channel_list_init(struct host1x_channel_list *chlist, 36 unsigned int num_channels); 37void host1x_channel_list_free(struct host1x_channel_list *chlist); 38struct host1x_channel *host1x_channel_get_index(struct host1x *host, 39 unsigned int index); 40 41#endif