diff options
| author | Chris Wilson <chris@chris-wilson.co.uk> | 2010-10-27 12:18:21 +0100 | 
|---|---|---|
| committer | Chris Wilson <chris@chris-wilson.co.uk> | 2010-10-27 12:18:21 +0100 | 
| commit | 78501eac34f372bfbeb4e1d9de688c13efa916f6 (patch) | |
| tree | a490359ac69c394149362e6571a37189ee264739 /drivers/gpu/drm/i915/intel_ringbuffer.h | |
| parent | dd2b379f071424f36f9f90ff83cb4ad058c7b6ed (diff) | |
drm/i915/ringbuffer: Drop the redundant dev from the vfunc interface
The ringbuffer keeps a pointer to the parent device, so we can use that
instead of passing around the pointer on the stack.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_ringbuffer.h')
| -rw-r--r-- | drivers/gpu/drm/i915/intel_ringbuffer.h | 76 | 
1 files changed, 28 insertions, 48 deletions
| diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.h b/drivers/gpu/drm/i915/intel_ringbuffer.h index a05aff0e5764..ba4a393e6d16 100644 --- a/drivers/gpu/drm/i915/intel_ringbuffer.h +++ b/drivers/gpu/drm/i915/intel_ringbuffer.h @@ -2,7 +2,7 @@  #define _INTEL_RINGBUFFER_H_  struct  intel_hw_status_page { -	void		*page_addr; +	u32	__iomem	*page_addr;  	unsigned int	gfx_addr;  	struct		drm_gem_object *obj;  }; @@ -38,31 +38,23 @@ struct  intel_ring_buffer {  	u32		irq_gem_seqno;		/* last seq seem at irq time */  	u32		waiting_gem_seqno;  	int		user_irq_refcount; -	void		(*user_irq_get)(struct drm_device *dev, -			struct intel_ring_buffer *ring); -	void		(*user_irq_put)(struct drm_device *dev, -			struct intel_ring_buffer *ring); +	void		(*user_irq_get)(struct intel_ring_buffer *ring); +	void		(*user_irq_put)(struct intel_ring_buffer *ring); -	int		(*init)(struct drm_device *dev, -			struct intel_ring_buffer *ring); +	int		(*init)(struct intel_ring_buffer *ring); -	void		(*write_tail)(struct drm_device *dev, -				      struct intel_ring_buffer *ring, +	void		(*write_tail)(struct intel_ring_buffer *ring,  				      u32 value); -	void		(*flush)(struct drm_device *dev, -			struct intel_ring_buffer *ring, -			u32	invalidate_domains, -			u32	flush_domains); -	u32		(*add_request)(struct drm_device *dev, -			struct intel_ring_buffer *ring, -			u32 flush_domains); -	u32		(*get_seqno)(struct drm_device *dev, -				     struct intel_ring_buffer *ring); -	int		(*dispatch_gem_execbuffer)(struct drm_device *dev, -			struct intel_ring_buffer *ring, -			struct drm_i915_gem_execbuffer2 *exec, -			struct drm_clip_rect *cliprects, -			uint64_t exec_offset); +	void		(*flush)(struct intel_ring_buffer *ring, +				 u32	invalidate_domains, +				 u32	flush_domains); +	u32		(*add_request)(struct intel_ring_buffer *ring, +				       u32 flush_domains); +	u32		(*get_seqno)(struct intel_ring_buffer *ring); +	int		(*dispatch_execbuffer)(struct intel_ring_buffer *ring, +					       struct drm_i915_gem_execbuffer2 *exec, +					       struct drm_clip_rect *cliprects, +					       uint64_t exec_offset);  	/**  	 * List of objects currently involved in rendering from the @@ -102,43 +94,31 @@ struct  intel_ring_buffer {  static inline u32  intel_read_status_page(struct intel_ring_buffer *ring, -		int reg) +		       int reg)  { -	u32 *regs = ring->status_page.page_addr; -	return regs[reg]; +	return ioread32(ring->status_page.page_addr + reg);  } -int intel_init_ring_buffer(struct drm_device *dev, -			   struct intel_ring_buffer *ring); -void intel_cleanup_ring_buffer(struct drm_device *dev, -			       struct intel_ring_buffer *ring); -int intel_wait_ring_buffer(struct drm_device *dev, -			   struct intel_ring_buffer *ring, int n); -void intel_ring_begin(struct drm_device *dev, -		      struct intel_ring_buffer *ring, int n); - -static inline void intel_ring_emit(struct drm_device *dev, -				   struct intel_ring_buffer *ring, -				   unsigned int data) +void intel_cleanup_ring_buffer(struct intel_ring_buffer *ring); +int intel_wait_ring_buffer(struct intel_ring_buffer *ring, int n); +void intel_ring_begin(struct intel_ring_buffer *ring, int n); + +static inline void intel_ring_emit(struct intel_ring_buffer *ring, +				   u32 data)  { -	unsigned int *virt = ring->virtual_start + ring->tail; -	*virt = data; +	iowrite32(data, ring->virtual_start + ring->tail);  	ring->tail += 4;  } -void intel_ring_advance(struct drm_device *dev, -		struct intel_ring_buffer *ring); +void intel_ring_advance(struct intel_ring_buffer *ring); -u32 intel_ring_get_seqno(struct drm_device *dev, -		struct intel_ring_buffer *ring); +u32 intel_ring_get_seqno(struct intel_ring_buffer *ring);  int intel_init_render_ring_buffer(struct drm_device *dev);  int intel_init_bsd_ring_buffer(struct drm_device *dev);  int intel_init_blt_ring_buffer(struct drm_device *dev); -u32 intel_ring_get_active_head(struct drm_device *dev, -			       struct intel_ring_buffer *ring); -void intel_ring_setup_status_page(struct drm_device *dev, -				  struct intel_ring_buffer *ring); +u32 intel_ring_get_active_head(struct intel_ring_buffer *ring); +void intel_ring_setup_status_page(struct intel_ring_buffer *ring);  #endif /* _INTEL_RINGBUFFER_H_ */ | 
