aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/linux/host1x.h
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2020-01-15 16:21:22 +1000
committerDave Airlie <airlied@redhat.com>2020-01-15 16:21:28 +1000
commitfd7226fbb25724bbafb236c520f5c02a8a37deec (patch)
tree05f96c9ff43ea5b0305c1c8318ee95bd7506bddc /include/linux/host1x.h
parentMerge tag 'amd-drm-next-5.6-2020-01-10-dp-mst-dsc' of git://people.freedesktop.org/~agd5f/linux into drm-next (diff)
parentgpu: host1x: Remove dev_err() on platform_get_irq() failure (diff)
downloadwireguard-linux-fd7226fbb25724bbafb236c520f5c02a8a37deec.tar.xz
wireguard-linux-fd7226fbb25724bbafb236c520f5c02a8a37deec.zip
Merge tag 'drm/tegra/for-5.6-rc1' of git://anongit.freedesktop.org/tegra/linux into drm-next
drm/tegra: Changes for v5.6-rc1 This contains a small set of mostly fixes and some minor improvements. Signed-off-by: Dave Airlie <airlied@redhat.com> From: Thierry Reding <thierry.reding@gmail.com> Link: https://patchwork.freedesktop.org/patch/msgid/20200111004835.2412858-1-thierry.reding@gmail.com
Diffstat (limited to 'include/linux/host1x.h')
-rw-r--r--include/linux/host1x.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/include/linux/host1x.h b/include/linux/host1x.h
index 6edeb9228c4e..62d216ff1097 100644
--- a/include/linux/host1x.h
+++ b/include/linux/host1x.h
@@ -24,16 +24,20 @@ struct iommu_group;
* struct host1x_client_ops - host1x client operations
* @init: host1x client initialization code
* @exit: host1x client tear down code
+ * @suspend: host1x client suspend code
+ * @resume: host1x client resume code
*/
struct host1x_client_ops {
int (*init)(struct host1x_client *client);
int (*exit)(struct host1x_client *client);
+ int (*suspend)(struct host1x_client *client);
+ int (*resume)(struct host1x_client *client);
};
/**
* struct host1x_client - host1x client structure
* @list: list node for the host1x client
- * @parent: pointer to struct device representing the host1x controller
+ * @host: pointer to struct device representing the host1x controller
* @dev: pointer to struct device backing this host1x client
* @group: IOMMU group that this client is a member of
* @ops: host1x client operations
@@ -44,7 +48,7 @@ struct host1x_client_ops {
*/
struct host1x_client {
struct list_head list;
- struct device *parent;
+ struct device *host;
struct device *dev;
struct iommu_group *group;
@@ -55,6 +59,10 @@ struct host1x_client {
struct host1x_syncpt **syncpts;
unsigned int num_syncpts;
+
+ struct host1x_client *parent;
+ unsigned int usecount;
+ struct mutex lock;
};
/*
@@ -309,6 +317,9 @@ int host1x_device_exit(struct host1x_device *device);
int host1x_client_register(struct host1x_client *client);
int host1x_client_unregister(struct host1x_client *client);
+int host1x_client_suspend(struct host1x_client *client);
+int host1x_client_resume(struct host1x_client *client);
+
struct tegra_mipi_device;
struct tegra_mipi_device *tegra_mipi_request(struct device *device);