spin_unlock_irqrestore(&dev_priv->user_irq_lock, irqflags);
 }
 
-static void render_setup_status_page(struct drm_device *dev,
-                                    struct     intel_ring_buffer *ring)
+void intel_ring_setup_status_page(struct drm_device *dev,
+                                 struct intel_ring_buffer *ring)
 {
        drm_i915_private_t *dev_priv = dev->dev_private;
        if (IS_GEN6(dev)) {
        return seqno;
 }
 
-static void bsd_setup_status_page(struct drm_device *dev,
-                                 struct  intel_ring_buffer *ring)
-{
-       drm_i915_private_t *dev_priv = dev->dev_private;
-       I915_WRITE(RING_HWS_PGA(ring->mmio_base), ring->status_page.gfx_addr);
-       I915_READ(RING_HWS_PGA(ring->mmio_base));
-}
-
 static void
 bsd_ring_get_user_irq(struct drm_device *dev,
                      struct intel_ring_buffer *ring)
        ring->status_page.obj = obj;
        memset(ring->status_page.page_addr, 0, PAGE_SIZE);
 
-       ring->setup_status_page(dev, ring);
+       intel_ring_setup_status_page(dev, ring);
        DRM_DEBUG_DRIVER("%s hws offset: 0x%08x\n",
                        ring->name, ring->status_page.gfx_addr);
 
        .id                     = RING_RENDER,
        .mmio_base              = RENDER_RING_BASE,
        .size                   = 32 * PAGE_SIZE,
-       .setup_status_page      = render_setup_status_page,
        .init                   = init_render_ring,
        .set_tail               = ring_set_tail,
        .flush                  = render_ring_flush,
        .id                     = RING_BSD,
        .mmio_base              = BSD_RING_BASE,
        .size                   = 32 * PAGE_SIZE,
-       .setup_status_page      = bsd_setup_status_page,
        .init                   = init_bsd_ring,
        .set_tail               = ring_set_tail,
        .flush                  = bsd_ring_flush,
 };
 
 
-static void gen6_bsd_setup_status_page(struct drm_device *dev,
-                                      struct  intel_ring_buffer *ring)
-{
-       drm_i915_private_t *dev_priv = dev->dev_private;
-       I915_WRITE(RING_HWS_PGA_GEN6(ring->mmio_base), ring->status_page.gfx_addr);
-       I915_READ(RING_HWS_PGA_GEN6(ring->mmio_base));
-}
-
 static void gen6_bsd_ring_set_tail(struct drm_device *dev,
                                   struct intel_ring_buffer *ring,
                                   u32 value)
        .id                     = RING_BSD,
        .mmio_base              = GEN6_BSD_RING_BASE,
        .size                   = 32 * PAGE_SIZE,
-       .setup_status_page      = gen6_bsd_setup_status_page,
        .init                   = init_bsd_ring,
        .set_tail               = gen6_bsd_ring_set_tail,
        .flush                  = gen6_bsd_ring_flush,
 
                        struct intel_ring_buffer *ring);
        void            (*user_irq_put)(struct drm_device *dev,
                        struct intel_ring_buffer *ring);
-       void            (*setup_status_page)(struct drm_device *dev,
-                       struct  intel_ring_buffer *ring);
 
        int             (*init)(struct drm_device *dev,
                        struct intel_ring_buffer *ring);
 
 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);
 
 #endif /* _INTEL_RINGBUFFER_H_ */