xref: /openbmc/linux/drivers/gpu/host1x/job.h (revision af1cbfb9bf0fe079ca328231451fd4db8b3eafec)
19952f691SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */
26579324aSTerje Bergstrom /*
36579324aSTerje Bergstrom  * Tegra host1x Job
46579324aSTerje Bergstrom  *
56579324aSTerje Bergstrom  * Copyright (c) 2011-2013, NVIDIA Corporation.
66579324aSTerje Bergstrom  */
76579324aSTerje Bergstrom 
86579324aSTerje Bergstrom #ifndef __HOST1X_JOB_H
96579324aSTerje Bergstrom #define __HOST1X_JOB_H
106579324aSTerje Bergstrom 
11*af1cbfb9SThierry Reding #include <linux/dma-direction.h>
12*af1cbfb9SThierry Reding 
136579324aSTerje Bergstrom struct host1x_job_gather {
14326bbd79SThierry Reding 	unsigned int words;
156579324aSTerje Bergstrom 	dma_addr_t base;
166579324aSTerje Bergstrom 	struct host1x_bo *bo;
17326bbd79SThierry Reding 	unsigned int offset;
186579324aSTerje Bergstrom 	bool handled;
196579324aSTerje Bergstrom };
206579324aSTerje Bergstrom 
216579324aSTerje Bergstrom struct host1x_job_unpin_data {
226579324aSTerje Bergstrom 	struct host1x_bo *bo;
236579324aSTerje Bergstrom 	struct sg_table *sgt;
24*af1cbfb9SThierry Reding 	struct device *dev;
25404bfb78SMikko Perttunen 	size_t size;
26*af1cbfb9SThierry Reding 	enum dma_data_direction dir;
276579324aSTerje Bergstrom };
286579324aSTerje Bergstrom 
296579324aSTerje Bergstrom /*
306579324aSTerje Bergstrom  * Dump contents of job to debug output.
316579324aSTerje Bergstrom  */
326579324aSTerje Bergstrom void host1x_job_dump(struct device *dev, struct host1x_job *job);
336579324aSTerje Bergstrom 
346579324aSTerje Bergstrom #endif
35