aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2010-09-24 15:49:27 -0400
committerChris Wilson <chris@chris-wilson.co.uk>2010-09-25 07:23:16 -0400
commit447da18742b170b8e09ac71edf63c5798d2dbb0b (patch)
tree3c7fc5ff8d4a5c8afde505ae0fa1126f352e205e /drivers/gpu
parent79f321b7e676bd54f563c5ce513588aa90b2cc21 (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.c2
-rw-r--r--drivers/gpu/drm/i915/intel_ringbuffer.c25
-rw-r--r--drivers/gpu/drm/i915/intel_ringbuffer.h4
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
351static void render_setup_status_page(struct drm_device *dev, 351void 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
407static 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
415static void 407static void
416bsd_ring_get_user_irq(struct drm_device *dev, 408bsd_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
794static 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
802static void gen6_bsd_ring_set_tail(struct drm_device *dev, 784static 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
129u32 intel_ring_get_active_head(struct drm_device *dev, 127u32 intel_ring_get_active_head(struct drm_device *dev,
130 struct intel_ring_buffer *ring); 128 struct intel_ring_buffer *ring);
129void 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_ */