diff options
Diffstat (limited to 'shared-core')
| -rw-r--r-- | shared-core/drm.h | 22 | ||||
| -rw-r--r-- | shared-core/i915_dma.c | 4 | ||||
| -rw-r--r-- | shared-core/i915_drm.h | 20 | ||||
| -rw-r--r-- | shared-core/i915_drv.h | 20 | 
4 files changed, 40 insertions, 26 deletions
diff --git a/shared-core/drm.h b/shared-core/drm.h index caa3dbd1..d79fa5f8 100644 --- a/shared-core/drm.h +++ b/shared-core/drm.h @@ -961,7 +961,7 @@ struct drm_mm_info_arg {  }; -struct drm_mm_alloc_args { +struct drm_gem_alloc_args {  	/**  	 * Requested size for the object.  	 * @@ -972,12 +972,12 @@ struct drm_mm_alloc_args {  	uint32_t handle;  }; -struct drm_mm_unreference_args { +struct drm_gem_unreference_args {  	/** Handle of the object to be unreferenced. */  	uint32_t handle;  }; -struct drm_mm_link_args { +struct drm_gem_link_args {  	/** Handle for the object being given a name. */  	uint32_t handle;  	/** Requested file name to export the object under. */ @@ -986,7 +986,7 @@ struct drm_mm_link_args {  	mode_t mode;  }; -struct drm_mm_pread_args { +struct drm_gem_pread_args {  	/** Handle for the object being read. */  	uint32_t handle;  	/** Offset into the object to read from */ @@ -997,7 +997,7 @@ struct drm_mm_pread_args {  	void *data;  }; -struct drm_mm_pwrite_args { +struct drm_gem_pwrite_args {  	/** Handle for the object being written to. */  	uint32_t handle;  	/** Offset into the object to write to */ @@ -1008,7 +1008,7 @@ struct drm_mm_pwrite_args {  	void *data;  }; -struct drm_mm_mmap_args { +struct drm_gem_mmap_args {  	/** Handle for the object being mapped. */  	uint32_t handle;  	/** Offset in the object to map. */ @@ -1043,11 +1043,11 @@ struct drm_mm_mmap_args {  #define DRM_IOCTL_GET_STATS             DRM_IOR( 0x06, struct drm_stats)  #define DRM_IOCTL_SET_VERSION		DRM_IOWR(0x07, struct drm_set_version)  #define DRM_IOCTL_MODESET_CTL           DRM_IOW(0x08, struct drm_modeset_ctl) -#define DRM_IOCTL_MM_ALLOC		DRM_IOWR(0x09, struct drm_mm_alloc_args) -#define DRM_IOCTL_MM_UNREFERENCE	DRM_IOW(0x0a, struct drm_mm_unreference_args) -#define DRM_IOCTL_MM_PREAD		DRM_IOW(0x0b, struct drm_mm_pread_args) -#define DRM_IOCTL_MM_PWRITE		DRM_IOW(0x0c, struct drm_mm_pwrite_args) -#define DRM_IOCTL_MM_MMAP		DRM_IOWR(0x0d, struct drm_mm_mmap_args) +#define DRM_IOCTL_GEM_ALLOC		DRM_IOWR(0x09, struct drm_gem_alloc_args) +#define DRM_IOCTL_GEM_UNREFERENCE	DRM_IOW(0x0a, struct drm_gem_unreference_args) +#define DRM_IOCTL_GEM_PREAD		DRM_IOW(0x0b, struct drm_gem_pread_args) +#define DRM_IOCTL_GEM_PWRITE		DRM_IOW(0x0c, struct drm_gem_pwrite_args) +#define DRM_IOCTL_GEM_MMAP		DRM_IOWR(0x0d, struct drm_gem_mmap_args)  #define DRM_IOCTL_SET_UNIQUE		DRM_IOW( 0x10, struct drm_unique)  #define DRM_IOCTL_AUTH_MAGIC		DRM_IOW( 0x11, struct drm_auth) diff --git a/shared-core/i915_dma.c b/shared-core/i915_dma.c index 6c6fd435..821b2a95 100644 --- a/shared-core/i915_dma.c +++ b/shared-core/i915_dma.c @@ -1124,8 +1124,8 @@ struct drm_ioctl_desc i915_ioctls[] = {  #ifdef I915_HAVE_BUFFER  	DRM_IOCTL_DEF(DRM_I915_EXECBUFFER, i915_execbuffer, DRM_AUTH),  #endif -	DRM_IOCTL_DEF(DRM_I915_MM_INIT, intel_mm_init_ioctl, DRM_AUTH), -	DRM_IOCTL_DEF(DRM_I915_MM_EXECBUFFER, intel_mm_execbuffer, DRM_AUTH), +	DRM_IOCTL_DEF(DRM_I915_GEM_INIT, i915_gem_init_ioctl, DRM_AUTH), +	DRM_IOCTL_DEF(DRM_I915_GEM_EXECBUFFER, i915_gem_execbuffer, DRM_AUTH),  };  int i915_max_ioctl = DRM_ARRAY_SIZE(i915_ioctls); diff --git a/shared-core/i915_drm.h b/shared-core/i915_drm.h index 1a70010b..4c241fc5 100644 --- a/shared-core/i915_drm.h +++ b/shared-core/i915_drm.h @@ -176,8 +176,8 @@ typedef struct drm_i915_sarea {  #define DRM_I915_MMIO		0x10  #define DRM_I915_HWS_ADDR	0x11  #define DRM_I915_EXECBUFFER	0x12 -#define DRM_I915_MM_INIT	0x13 -#define DRM_I915_MM_EXECBUFFER	0x14 +#define DRM_I915_GEM_INIT	0x13 +#define DRM_I915_GEM_EXECBUFFER	0x14  #define DRM_IOCTL_I915_INIT		DRM_IOW( DRM_COMMAND_BASE + DRM_I915_INIT, drm_i915_init_t)  #define DRM_IOCTL_I915_FLUSH		DRM_IO ( DRM_COMMAND_BASE + DRM_I915_FLUSH) @@ -197,8 +197,8 @@ typedef struct drm_i915_sarea {  #define DRM_IOCTL_I915_VBLANK_SWAP	DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_VBLANK_SWAP, drm_i915_vblank_swap_t)  #define DRM_IOCTL_I915_MMIO             DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_MMIO, drm_i915_mmio)  #define DRM_IOCTL_I915_EXECBUFFER	DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_EXECBUFFER, struct drm_i915_execbuffer) -#define DRM_IOCTL_I915_MM_INIT		DRM_IOW(DRM_COMMAND_BASE + DRM_I915_MM_INIT, struct drm_i915_mm_init) -#define DRM_IOCTL_I915_MM_EXECBUFFER	DRM_IOW(DRM_COMMAND_BASE + DRM_I915_MM_INIT, struct drm_i915_mm_execbuffer) +#define DRM_IOCTL_I915_MM_INIT		DRM_IOW(DRM_COMMAND_BASE + DRM_I915_GEM_INIT, struct drm_i915_gem_init) +#define DRM_IOCTL_I915_MM_EXECBUFFER	DRM_IOW(DRM_COMMAND_BASE + DRM_I915_GEM_INIT, struct drm_i915_gem_execbuffer)  /* Asynchronous page flipping:   */ @@ -398,7 +398,7 @@ struct drm_i915_execbuffer {  	struct drm_fence_arg fence_arg;  }; -struct drm_i915_mm_init { +struct drm_i915_gem_init {  	/**  	 * Beginning offset in the GTT to be managed by the DRM memory  	 * manager. @@ -411,7 +411,7 @@ struct drm_i915_mm_init {  	off_t gtt_end;  }; -struct drm_i915_relocation_entry { +struct drm_i915_gem_relocation_entry {  	/**  	 * Handle of the buffer being pointed to by this relocation entry.  	 * @@ -441,7 +441,7 @@ struct drm_i915_relocation_entry {  	uint32_t presumed_offset;  }; -struct drm_i915_mm_validate_entry { +struct drm_i915_gem_validate_entry {  	/**  	 * User's handle for a buffer to be bound into the GTT for this  	 * operation. @@ -453,11 +453,11 @@ struct drm_i915_mm_validate_entry {  	 */  	uint32_t buffer_offset;  	/** List of relocations to be performed on this buffer */ -	struct drm_i915_relocation_entry *relocs; +	struct drm_i915_gem_relocation_entry *relocs;  	uint32_t relocation_count;  }; -struct drm_i915_mm_execbuffer { +struct drm_i915_gem_execbuffer {  	/**  	 * List of buffers to be validated wit their relocations to be  	 * performend on them. @@ -466,7 +466,7 @@ struct drm_i915_mm_execbuffer {  	 * a buffer is performing refer to buffers that have already appeared  	 * in the validate list.  	 */ -	struct drm_i915_mm_validate_entry *buffers; +	struct drm_i915_gem_validate_entry *buffers;  	uint32_t buffer_count;  	/** Offset in the batchbuffer to start execution from. */ diff --git a/shared-core/i915_drv.h b/shared-core/i915_drv.h index 0c6ec588..7913f48b 100644 --- a/shared-core/i915_drv.h +++ b/shared-core/i915_drv.h @@ -254,6 +254,18 @@ enum intel_chip_family {  	CHIP_I965 = 0x08,  }; +/** driver private structure attached to each drm_gem_object */ +struct drm_i915_gem_object { +	/** Current offset of the object in GTT space, if any. */ +	uint32_t gtt_offset; + +	/** Boolean whether this object has a valid gtt offset. */ +	int gtt_bound; + +	/** How many users have pinned this object in GTT space */ +	int pin_count; +}; +  extern struct drm_ioctl_desc i915_ioctls[];  extern int i915_max_ioctl; @@ -333,11 +345,13 @@ void i915_flush_ttm(struct drm_ttm *ttm);  /* i915_execbuf.c */  int i915_execbuffer(struct drm_device *dev, void *data,  				   struct drm_file *file_priv); -/* i915_mm.c */ -int intel_mm_init_ioctl(struct drm_device *dev, void *data, +/* i915_gem.c */ +int i915_gem_init_ioctl(struct drm_device *dev, void *data,  			struct drm_file *file_priv); -int intel_mm_execbuffer(struct drm_device *dev, void *data, +int i915_gem_execbuffer(struct drm_device *dev, void *data,  			struct drm_file *file_priv); +int i915_gem_init_object(struct drm_device *dev, struct drm_gem_object *obj); +void i915_gem_free_object(struct drm_device *dev, struct drm_gem_object *obj);  #endif  | 
