diff options
Diffstat (limited to 'drivers/gpu/drm/i915/intel_ringbuffer.h')
| -rw-r--r-- | drivers/gpu/drm/i915/intel_ringbuffer.h | 15 | 
1 files changed, 13 insertions, 2 deletions
| diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.h b/drivers/gpu/drm/i915/intel_ringbuffer.h index c761fe05ad6f..e539314ae87e 100644 --- a/drivers/gpu/drm/i915/intel_ringbuffer.h +++ b/drivers/gpu/drm/i915/intel_ringbuffer.h @@ -2,6 +2,7 @@  #define _INTEL_RINGBUFFER_H_  #include <linux/hashtable.h> +#include "i915_gem_batch_pool.h"  #define I915_CMD_HASH_ORDER 9 @@ -117,6 +118,7 @@ struct intel_ringbuffer {  };  struct	intel_context; +struct drm_i915_reg_descriptor;  struct  intel_engine_cs {  	const char	*name; @@ -133,6 +135,13 @@ struct  intel_engine_cs {  	struct		drm_device *dev;  	struct intel_ringbuffer *buffer; +	/* +	 * A pool of objects to use as shadow copies of client batch buffers +	 * when the command parser is enabled. Prevents the client from +	 * modifying the batch contents after software parsing. +	 */ +	struct i915_gem_batch_pool batch_pool; +  	struct intel_hw_status_page status_page;  	unsigned irq_refcount; /* protected by dev_priv->irq_lock */ @@ -292,14 +301,14 @@ struct  intel_engine_cs {  	/*  	 * Table of registers allowed in commands that read/write registers.  	 */ -	const u32 *reg_table; +	const struct drm_i915_reg_descriptor *reg_table;  	int reg_count;  	/*  	 * Table of registers allowed in commands that read/write registers, but  	 * only from the DRM master.  	 */ -	const u32 *master_reg_table; +	const struct drm_i915_reg_descriptor *master_reg_table;  	int master_reg_count;  	/* @@ -390,6 +399,8 @@ int intel_alloc_ringbuffer_obj(struct drm_device *dev,  void intel_stop_ring_buffer(struct intel_engine_cs *ring);  void intel_cleanup_ring_buffer(struct intel_engine_cs *ring); +int intel_ring_alloc_request_extras(struct drm_i915_gem_request *request); +  int __must_check intel_ring_begin(struct intel_engine_cs *ring, int n);  int __must_check intel_ring_cacheline_align(struct intel_engine_cs *ring);  static inline void intel_ring_emit(struct intel_engine_cs *ring, | 
