GNU Linux-libre 6.7.9-gnu
[releases.git] / drivers / gpu / host1x / job.h
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Tegra host1x Job
4  *
5  * Copyright (c) 2011-2013, NVIDIA Corporation.
6  */
7
8 #ifndef __HOST1X_JOB_H
9 #define __HOST1X_JOB_H
10
11 #include <linux/dma-direction.h>
12
13 struct host1x_job_gather {
14         unsigned int words;
15         dma_addr_t base;
16         struct host1x_bo *bo;
17         unsigned int offset;
18         bool handled;
19 };
20
21 struct host1x_job_wait {
22         u32 id;
23         u32 threshold;
24         u32 next_class;
25         bool relative;
26 };
27
28 struct host1x_job_cmd {
29         bool is_wait;
30
31         union {
32                 struct host1x_job_gather gather;
33                 struct host1x_job_wait wait;
34         };
35 };
36
37 struct host1x_job_unpin_data {
38         struct host1x_bo_mapping *map;
39 };
40
41 /*
42  * Dump contents of job to debug output.
43  */
44 void host1x_job_dump(struct device *dev, struct host1x_job *job);
45
46 #endif