aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/i915_dma.c
diff options
context:
space:
mode:
authorZou Nan hai <nanhai.zou@intel.com>2010-05-20 21:08:56 -0400
committerEric Anholt <eric@anholt.net>2010-05-26 16:42:11 -0400
commit852835f343146a82a528c3b712b373661d4fa17a (patch)
tree07626a99af8f4b400f4e8616aea885c9f73a118a /drivers/gpu/drm/i915/i915_dma.c
parent8187a2b70e34c727a06617441f74f202b6fefaf9 (diff)
drm/i915: convert some gem structures to per-ring V2
The active list and request list move into the ringbuffer structure, so each can track its active objects in the order they are in that ring. The flushing list does not, as it doesn't matter which ring caused data to end up in the render cache. Objects gain a pointer to the ring they are active on (if any). Signed-off-by: Zou Nan hai <nanhai.zou@intel.com> Signed-off-by: Xiang Hai hao <haihao.xiang@intel.com> Signed-off-by: Eric Anholt <eric@anholt.net>
Diffstat (limited to 'drivers/gpu/drm/i915/i915_dma.c')
-rw-r--r--drivers/gpu/drm/i915/i915_dma.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
index 2541428b2fe..f485880300c 100644
--- a/drivers/gpu/drm/i915/i915_dma.c
+++ b/drivers/gpu/drm/i915/i915_dma.c
@@ -82,7 +82,8 @@ static void i915_free_hws(struct drm_device *dev)
82 dev_priv->status_page_dmah = NULL; 82 dev_priv->status_page_dmah = NULL;
83 } 83 }
84 84
85 if (dev_priv->status_gfx_addr) { 85 if (dev_priv->render_ring.status_page.gfx_addr) {
86 dev_priv->render_ring.status_page.gfx_addr = 0;
86 dev_priv->status_gfx_addr = 0; 87 dev_priv->status_gfx_addr = 0;
87 drm_core_ioremapfree(&dev_priv->hws_map, dev); 88 drm_core_ioremapfree(&dev_priv->hws_map, dev);
88 } 89 }
@@ -835,9 +836,9 @@ static int i915_set_status_page(struct drm_device *dev, void *data,
835 I915_WRITE(HWS_PGA, ring->status_page.gfx_addr); 836 I915_WRITE(HWS_PGA, ring->status_page.gfx_addr);
836 837
837 DRM_DEBUG_DRIVER("load hws HWS_PGA with gfx mem 0x%x\n", 838 DRM_DEBUG_DRIVER("load hws HWS_PGA with gfx mem 0x%x\n",
838 dev_priv->status_gfx_addr); 839 dev_priv->status_gfx_addr);
839 DRM_DEBUG_DRIVER("load hws at %p\n", 840 DRM_DEBUG_DRIVER("load hws at %p\n",
840 dev_priv->hw_status_page); 841 dev_priv->hw_status_page);
841 return 0; 842 return 0;
842} 843}
843 844
@@ -1510,7 +1511,6 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
1510 resource_size_t base, size; 1511 resource_size_t base, size;
1511 int ret = 0, mmio_bar; 1512 int ret = 0, mmio_bar;
1512 uint32_t agp_size, prealloc_size, prealloc_start; 1513 uint32_t agp_size, prealloc_size, prealloc_start;
1513
1514 /* i915 has 4 more counters */ 1514 /* i915 has 4 more counters */
1515 dev->counters += 4; 1515 dev->counters += 4;
1516 dev->types[6] = _DRM_STAT_IRQ; 1516 dev->types[6] = _DRM_STAT_IRQ;