Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a3f07cd5 authored by Chris Wilson's avatar Chris Wilson
Browse files

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: default avatarChris Wilson <chris@chris-wilson.co.uk>
parent d46eefa2
Loading
Loading
Loading
Loading
+1 −15
Original line number Diff line number Diff line
@@ -147,12 +147,6 @@ static unsigned int render_ring_get_active_head(struct drm_device *dev,
	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,
		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);
}

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,
		struct intel_ring_buffer *ring)
{
@@ -785,7 +773,7 @@ void intel_ring_advance(struct drm_device *dev,
		struct intel_ring_buffer *ring)
{
	ring->tail &= ring->size - 1;
	ring->advance_ring(dev, ring);
	ring->set_tail(dev, ring->tail);
}

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,
	.set_tail		= render_ring_set_tail,
	.get_active_head	= render_ring_get_active_head,
	.advance_ring		= render_ring_advance_ring,
	.flush			= render_ring_flush,
	.add_request		= render_ring_add_request,
	.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,
	.set_tail		= bsd_ring_set_tail,
	.get_active_head	= bsd_ring_get_active_head,
	.advance_ring		= bsd_ring_advance_ring,
	.flush			= bsd_ring_flush,
	.add_request		= bsd_ring_add_request,
	.get_gem_seqno		= bsd_ring_get_gem_seqno,
+0 −2
Original line number Diff line number Diff line
@@ -52,8 +52,6 @@ struct intel_ring_buffer {
			u32 value);
	unsigned int	(*get_active_head)(struct drm_device *dev,
			struct intel_ring_buffer *ring);
	void		(*advance_ring)(struct drm_device *dev,
			struct intel_ring_buffer *ring);
	void		(*flush)(struct drm_device *dev,
			struct intel_ring_buffer *ring,
			u32	invalidate_domains,