浏览代码

drm/i915/ringbuffer: Implement advance using set_tail

As noted by Zhenyu, we can now simply replace the existing advance hook
by calling the new set_tail function pointer directly.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Chris Wilson 14 年之前
父节点
当前提交
a3f07cd53e
共有 2 个文件被更改,包括 1 次插入17 次删除
  1. 1 15
      drivers/gpu/drm/i915/intel_ringbuffer.c
  2. 0 2
      drivers/gpu/drm/i915/intel_ringbuffer.h

+ 1 - 15
drivers/gpu/drm/i915/intel_ringbuffer.c

@@ -147,12 +147,6 @@ static unsigned int render_ring_get_active_head(struct drm_device *dev,
 	return I915_READ(acthd_reg);
 	return I915_READ(acthd_reg);
 }
 }
 
 
-static void render_ring_advance_ring(struct drm_device *dev,
-		struct intel_ring_buffer *ring)
-{
-	render_ring_set_tail(dev, ring->tail);
-}
-
 static int init_ring_common(struct drm_device *dev,
 static int init_ring_common(struct drm_device *dev,
 		struct intel_ring_buffer *ring)
 		struct intel_ring_buffer *ring)
 {
 {
@@ -418,12 +412,6 @@ static inline unsigned int bsd_ring_get_active_head(struct drm_device *dev,
 	return I915_READ(BSD_RING_ACTHD);
 	return I915_READ(BSD_RING_ACTHD);
 }
 }
 
 
-static inline void bsd_ring_advance_ring(struct drm_device *dev,
-		struct intel_ring_buffer *ring)
-{
-	bsd_ring_set_tail(dev, ring->tail);
-}
-
 static int init_bsd_ring(struct drm_device *dev,
 static int init_bsd_ring(struct drm_device *dev,
 		struct intel_ring_buffer *ring)
 		struct intel_ring_buffer *ring)
 {
 {
@@ -785,7 +773,7 @@ void intel_ring_advance(struct drm_device *dev,
 		struct intel_ring_buffer *ring)
 		struct intel_ring_buffer *ring)
 {
 {
 	ring->tail &= ring->size - 1;
 	ring->tail &= ring->size - 1;
-	ring->advance_ring(dev, ring);
+	ring->set_tail(dev, ring->tail);
 }
 }
 
 
 void intel_fill_struct(struct drm_device *dev,
 void intel_fill_struct(struct drm_device *dev,
@@ -829,7 +817,6 @@ static struct intel_ring_buffer render_ring = {
 	.get_tail		= render_ring_get_tail,
 	.get_tail		= render_ring_get_tail,
 	.set_tail		= render_ring_set_tail,
 	.set_tail		= render_ring_set_tail,
 	.get_active_head	= render_ring_get_active_head,
 	.get_active_head	= render_ring_get_active_head,
-	.advance_ring		= render_ring_advance_ring,
 	.flush			= render_ring_flush,
 	.flush			= render_ring_flush,
 	.add_request		= render_ring_add_request,
 	.add_request		= render_ring_add_request,
 	.get_gem_seqno		= render_ring_get_gem_seqno,
 	.get_gem_seqno		= render_ring_get_gem_seqno,
@@ -868,7 +855,6 @@ static struct intel_ring_buffer bsd_ring = {
 	.get_tail		= bsd_ring_get_tail,
 	.get_tail		= bsd_ring_get_tail,
 	.set_tail		= bsd_ring_set_tail,
 	.set_tail		= bsd_ring_set_tail,
 	.get_active_head	= bsd_ring_get_active_head,
 	.get_active_head	= bsd_ring_get_active_head,
-	.advance_ring		= bsd_ring_advance_ring,
 	.flush			= bsd_ring_flush,
 	.flush			= bsd_ring_flush,
 	.add_request		= bsd_ring_add_request,
 	.add_request		= bsd_ring_add_request,
 	.get_gem_seqno		= bsd_ring_get_gem_seqno,
 	.get_gem_seqno		= bsd_ring_get_gem_seqno,

+ 0 - 2
drivers/gpu/drm/i915/intel_ringbuffer.h

@@ -52,8 +52,6 @@ struct  intel_ring_buffer {
 			u32 value);
 			u32 value);
 	unsigned int	(*get_active_head)(struct drm_device *dev,
 	unsigned int	(*get_active_head)(struct drm_device *dev,
 			struct intel_ring_buffer *ring);
 			struct intel_ring_buffer *ring);
-	void		(*advance_ring)(struct drm_device *dev,
-			struct intel_ring_buffer *ring);
 	void		(*flush)(struct drm_device *dev,
 	void		(*flush)(struct drm_device *dev,
 			struct intel_ring_buffer *ring,
 			struct intel_ring_buffer *ring,
 			u32	invalidate_domains,
 			u32	invalidate_domains,