diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2010-09-24 15:49:27 -0400 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2010-09-25 07:23:16 -0400 |
commit | 447da18742b170b8e09ac71edf63c5798d2dbb0b (patch) | |
tree | 3c7fc5ff8d4a5c8afde505ae0fa1126f352e205e /drivers/gpu | |
parent | 79f321b7e676bd54f563c5ce513588aa90b2cc21 (diff) |
drm/i915: kill ring->setup_status_page
It's the same code, essentially, so kill all copies safe one unified
version.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/drm/i915/i915_dma.c | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_ringbuffer.c | 25 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_ringbuffer.h | 4 |
3 files changed, 6 insertions, 25 deletions
diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c index a3aea17c964b..ba050ed8df51 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c | |||
@@ -221,7 +221,7 @@ static int i915_dma_resume(struct drm_device * dev) | |||
221 | DRM_DEBUG_DRIVER("hw status page @ %p\n", | 221 | DRM_DEBUG_DRIVER("hw status page @ %p\n", |
222 | ring->status_page.page_addr); | 222 | ring->status_page.page_addr); |
223 | if (ring->status_page.gfx_addr != 0) | 223 | if (ring->status_page.gfx_addr != 0) |
224 | ring->setup_status_page(dev, ring); | 224 | intel_ring_setup_status_page(dev, ring); |
225 | else | 225 | else |
226 | I915_WRITE(HWS_PGA, dev_priv->dma_status_page); | 226 | I915_WRITE(HWS_PGA, dev_priv->dma_status_page); |
227 | 227 | ||
diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c index a3e73d4cd391..5103b95cea93 100644 --- a/drivers/gpu/drm/i915/intel_ringbuffer.c +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c | |||
@@ -348,8 +348,8 @@ render_ring_put_user_irq(struct drm_device *dev, | |||
348 | spin_unlock_irqrestore(&dev_priv->user_irq_lock, irqflags); | 348 | spin_unlock_irqrestore(&dev_priv->user_irq_lock, irqflags); |
349 | } | 349 | } |
350 | 350 | ||
351 | static void render_setup_status_page(struct drm_device *dev, | 351 | void intel_ring_setup_status_page(struct drm_device *dev, |
352 | struct intel_ring_buffer *ring) | 352 | struct intel_ring_buffer *ring) |
353 | { | 353 | { |
354 | drm_i915_private_t *dev_priv = dev->dev_private; | 354 | drm_i915_private_t *dev_priv = dev->dev_private; |
355 | if (IS_GEN6(dev)) { | 355 | if (IS_GEN6(dev)) { |
@@ -404,14 +404,6 @@ bsd_ring_add_request(struct drm_device *dev, | |||
404 | return seqno; | 404 | return seqno; |
405 | } | 405 | } |
406 | 406 | ||
407 | static void bsd_setup_status_page(struct drm_device *dev, | ||
408 | struct intel_ring_buffer *ring) | ||
409 | { | ||
410 | drm_i915_private_t *dev_priv = dev->dev_private; | ||
411 | I915_WRITE(RING_HWS_PGA(ring->mmio_base), ring->status_page.gfx_addr); | ||
412 | I915_READ(RING_HWS_PGA(ring->mmio_base)); | ||
413 | } | ||
414 | |||
415 | static void | 407 | static void |
416 | bsd_ring_get_user_irq(struct drm_device *dev, | 408 | bsd_ring_get_user_irq(struct drm_device *dev, |
417 | struct intel_ring_buffer *ring) | 409 | struct intel_ring_buffer *ring) |
@@ -564,7 +556,7 @@ static int init_status_page(struct drm_device *dev, | |||
564 | ring->status_page.obj = obj; | 556 | ring->status_page.obj = obj; |
565 | memset(ring->status_page.page_addr, 0, PAGE_SIZE); | 557 | memset(ring->status_page.page_addr, 0, PAGE_SIZE); |
566 | 558 | ||
567 | ring->setup_status_page(dev, ring); | 559 | intel_ring_setup_status_page(dev, ring); |
568 | DRM_DEBUG_DRIVER("%s hws offset: 0x%08x\n", | 560 | DRM_DEBUG_DRIVER("%s hws offset: 0x%08x\n", |
569 | ring->name, ring->status_page.gfx_addr); | 561 | ring->name, ring->status_page.gfx_addr); |
570 | 562 | ||
@@ -761,7 +753,6 @@ static const struct intel_ring_buffer render_ring = { | |||
761 | .id = RING_RENDER, | 753 | .id = RING_RENDER, |
762 | .mmio_base = RENDER_RING_BASE, | 754 | .mmio_base = RENDER_RING_BASE, |
763 | .size = 32 * PAGE_SIZE, | 755 | .size = 32 * PAGE_SIZE, |
764 | .setup_status_page = render_setup_status_page, | ||
765 | .init = init_render_ring, | 756 | .init = init_render_ring, |
766 | .set_tail = ring_set_tail, | 757 | .set_tail = ring_set_tail, |
767 | .flush = render_ring_flush, | 758 | .flush = render_ring_flush, |
@@ -779,7 +770,6 @@ static const struct intel_ring_buffer bsd_ring = { | |||
779 | .id = RING_BSD, | 770 | .id = RING_BSD, |
780 | .mmio_base = BSD_RING_BASE, | 771 | .mmio_base = BSD_RING_BASE, |
781 | .size = 32 * PAGE_SIZE, | 772 | .size = 32 * PAGE_SIZE, |
782 | .setup_status_page = bsd_setup_status_page, | ||
783 | .init = init_bsd_ring, | 773 | .init = init_bsd_ring, |
784 | .set_tail = ring_set_tail, | 774 | .set_tail = ring_set_tail, |
785 | .flush = bsd_ring_flush, | 775 | .flush = bsd_ring_flush, |
@@ -791,14 +781,6 @@ static const struct intel_ring_buffer bsd_ring = { | |||
791 | }; | 781 | }; |
792 | 782 | ||
793 | 783 | ||
794 | static void gen6_bsd_setup_status_page(struct drm_device *dev, | ||
795 | struct intel_ring_buffer *ring) | ||
796 | { | ||
797 | drm_i915_private_t *dev_priv = dev->dev_private; | ||
798 | I915_WRITE(RING_HWS_PGA_GEN6(ring->mmio_base), ring->status_page.gfx_addr); | ||
799 | I915_READ(RING_HWS_PGA_GEN6(ring->mmio_base)); | ||
800 | } | ||
801 | |||
802 | static void gen6_bsd_ring_set_tail(struct drm_device *dev, | 784 | static void gen6_bsd_ring_set_tail(struct drm_device *dev, |
803 | struct intel_ring_buffer *ring, | 785 | struct intel_ring_buffer *ring, |
804 | u32 value) | 786 | u32 value) |
@@ -862,7 +844,6 @@ static const struct intel_ring_buffer gen6_bsd_ring = { | |||
862 | .id = RING_BSD, | 844 | .id = RING_BSD, |
863 | .mmio_base = GEN6_BSD_RING_BASE, | 845 | .mmio_base = GEN6_BSD_RING_BASE, |
864 | .size = 32 * PAGE_SIZE, | 846 | .size = 32 * PAGE_SIZE, |
865 | .setup_status_page = gen6_bsd_setup_status_page, | ||
866 | .init = init_bsd_ring, | 847 | .init = init_bsd_ring, |
867 | .set_tail = gen6_bsd_ring_set_tail, | 848 | .set_tail = gen6_bsd_ring_set_tail, |
868 | .flush = gen6_bsd_ring_flush, | 849 | .flush = gen6_bsd_ring_flush, |
diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.h b/drivers/gpu/drm/i915/intel_ringbuffer.h index 43c5f7a476fa..c50919275c6f 100644 --- a/drivers/gpu/drm/i915/intel_ringbuffer.h +++ b/drivers/gpu/drm/i915/intel_ringbuffer.h | |||
@@ -41,8 +41,6 @@ struct intel_ring_buffer { | |||
41 | struct intel_ring_buffer *ring); | 41 | struct intel_ring_buffer *ring); |
42 | void (*user_irq_put)(struct drm_device *dev, | 42 | void (*user_irq_put)(struct drm_device *dev, |
43 | struct intel_ring_buffer *ring); | 43 | struct intel_ring_buffer *ring); |
44 | void (*setup_status_page)(struct drm_device *dev, | ||
45 | struct intel_ring_buffer *ring); | ||
46 | 44 | ||
47 | int (*init)(struct drm_device *dev, | 45 | int (*init)(struct drm_device *dev, |
48 | struct intel_ring_buffer *ring); | 46 | struct intel_ring_buffer *ring); |
@@ -128,5 +126,7 @@ int intel_init_bsd_ring_buffer(struct drm_device *dev); | |||
128 | 126 | ||
129 | u32 intel_ring_get_active_head(struct drm_device *dev, | 127 | u32 intel_ring_get_active_head(struct drm_device *dev, |
130 | struct intel_ring_buffer *ring); | 128 | struct intel_ring_buffer *ring); |
129 | void intel_ring_setup_status_page(struct drm_device *dev, | ||
130 | struct intel_ring_buffer *ring); | ||
131 | 131 | ||
132 | #endif /* _INTEL_RINGBUFFER_H_ */ | 132 | #endif /* _INTEL_RINGBUFFER_H_ */ |