xref: /kernel/linux/linux-6.6/drivers/gpu/host1x/job.h (revision 62306a36)
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
13struct 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
21struct host1x_job_wait {
22	u32 id;
23	u32 threshold;
24	u32 next_class;
25	bool relative;
26};
27
28struct 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
37struct host1x_job_unpin_data {
38	struct host1x_bo_mapping *map;
39};
40
41/*
42 * Dump contents of job to debug output.
43 */
44void host1x_job_dump(struct device *dev, struct host1x_job *job);
45
46#endif
47