#ifndef __ETNAVIV_GEM_H__
#define __ETNAVIV_GEM_H__
#include <linux/dma-resv.h>
#include "etnaviv_cmdbuf.h"
#include "etnaviv_drv.h"
struct dma_fence;
struct etnaviv_gem_ops;
struct etnaviv_gem_object;
struct etnaviv_gem_userptr { … };
struct etnaviv_vram_mapping { … };
struct etnaviv_gem_object { … };
static inline
struct etnaviv_gem_object *to_etnaviv_bo(struct drm_gem_object *obj)
{ … }
struct etnaviv_gem_ops { … };
static inline bool is_active(struct etnaviv_gem_object *etnaviv_obj)
{ … }
#define MAX_CMDS …
struct etnaviv_gem_submit_bo { … };
struct etnaviv_gem_submit { … };
void etnaviv_submit_put(struct etnaviv_gem_submit * submit);
int etnaviv_gem_wait_bo(struct etnaviv_gpu *gpu, struct drm_gem_object *obj,
struct drm_etnaviv_timespec *timeout);
int etnaviv_gem_new_private(struct drm_device *dev, size_t size, u32 flags,
const struct etnaviv_gem_ops *ops, struct etnaviv_gem_object **res);
void etnaviv_gem_obj_add(struct drm_device *dev, struct drm_gem_object *obj);
struct page **etnaviv_gem_get_pages(struct etnaviv_gem_object *obj);
void etnaviv_gem_put_pages(struct etnaviv_gem_object *obj);
struct etnaviv_vram_mapping *etnaviv_gem_mapping_get(
struct drm_gem_object *obj, struct etnaviv_iommu_context *mmu_context,
u64 va);
void etnaviv_gem_mapping_unreference(struct etnaviv_vram_mapping *mapping);
#endif