xref: /openbmc/linux/drivers/gpu/drm/msm/msm_gem.h (revision c8afe684)
1c8afe684SRob Clark /*
2c8afe684SRob Clark  * Copyright (C) 2013 Red Hat
3c8afe684SRob Clark  * Author: Rob Clark <robdclark@gmail.com>
4c8afe684SRob Clark  *
5c8afe684SRob Clark  * This program is free software; you can redistribute it and/or modify it
6c8afe684SRob Clark  * under the terms of the GNU General Public License version 2 as published by
7c8afe684SRob Clark  * the Free Software Foundation.
8c8afe684SRob Clark  *
9c8afe684SRob Clark  * This program is distributed in the hope that it will be useful, but WITHOUT
10c8afe684SRob Clark  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11c8afe684SRob Clark  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
12c8afe684SRob Clark  * more details.
13c8afe684SRob Clark  *
14c8afe684SRob Clark  * You should have received a copy of the GNU General Public License along with
15c8afe684SRob Clark  * this program.  If not, see <http://www.gnu.org/licenses/>.
16c8afe684SRob Clark  */
17c8afe684SRob Clark 
18c8afe684SRob Clark #ifndef __MSM_GEM_H__
19c8afe684SRob Clark #define __MSM_GEM_H__
20c8afe684SRob Clark 
21c8afe684SRob Clark #include "msm_drv.h"
22c8afe684SRob Clark 
23c8afe684SRob Clark struct msm_gem_object {
24c8afe684SRob Clark 	struct drm_gem_object base;
25c8afe684SRob Clark 
26c8afe684SRob Clark 	uint32_t flags;
27c8afe684SRob Clark 
28c8afe684SRob Clark 	struct list_head mm_list;
29c8afe684SRob Clark 
30c8afe684SRob Clark 	struct page **pages;
31c8afe684SRob Clark 	struct sg_table *sgt;
32c8afe684SRob Clark 	void *vaddr;
33c8afe684SRob Clark 
34c8afe684SRob Clark 	struct {
35c8afe684SRob Clark 		// XXX
36c8afe684SRob Clark 		uint32_t iova;
37c8afe684SRob Clark 	} domain[NUM_DOMAINS];
38c8afe684SRob Clark };
39c8afe684SRob Clark #define to_msm_bo(x) container_of(x, struct msm_gem_object, base)
40c8afe684SRob Clark 
41c8afe684SRob Clark #endif /* __MSM_GEM_H__ */
42