mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-22 17:25:35 +03:00
When channels are kept open over a suspend cycle, we need to re-initialize CDMA after resume. Bug 4133027 Change-Id: I9a2737b377a9ffb37e5f98703b7928bfceab58e3 Signed-off-by: Mainak Sen <msen@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2963164 Reviewed-by: Mikko Perttunen <mperttunen@nvidia.com> GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
43 lines
953 B
C
43 lines
953 B
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/*
|
|
* Tegra host1x Channel
|
|
*
|
|
* Copyright (c) 2010-2013, NVIDIA Corporation.
|
|
*/
|
|
|
|
#ifndef __HOST1X_CHANNEL_H
|
|
#define __HOST1X_CHANNEL_H
|
|
|
|
#include <linux/io.h>
|
|
#include <linux/kref.h>
|
|
|
|
#include "cdma.h"
|
|
|
|
struct host1x;
|
|
struct host1x_channel;
|
|
|
|
struct host1x_channel_list {
|
|
struct host1x_channel *channels;
|
|
unsigned long *allocated_channels;
|
|
};
|
|
|
|
struct host1x_channel {
|
|
struct kref refcount;
|
|
unsigned int id;
|
|
struct mutex submitlock;
|
|
void __iomem *regs;
|
|
struct host1x_client *client;
|
|
struct device *dev;
|
|
struct host1x_cdma cdma;
|
|
};
|
|
|
|
/* channel list operations */
|
|
int host1x_channel_list_init(struct host1x_channel_list *chlist,
|
|
unsigned int num_channels);
|
|
void host1x_channel_list_free(struct host1x_channel_list *chlist);
|
|
struct host1x_channel *host1x_channel_get_index(struct host1x *host,
|
|
unsigned int index);
|
|
void host1x_channel_list_stop(struct host1x_channel_list *chlist);
|
|
|
|
#endif
|