linux/drivers/gpu/host1x/channel.h
<<
>>
Prefs
   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
  42