Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 358204
b: refs/heads/master
c: 4fc7c97
h: refs/heads/master
v: v3
  • Loading branch information
Ben Widawsky authored and Daniel Vetter committed Feb 15, 2013
1 parent d489ce5 commit a96644c
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 20 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 41907ddc1b71aaa4ef5290f46f0ec49d581d6aac
refs/heads/master: 4fc7c971c3aedf937f824c063d698779d25c3330
53 changes: 34 additions & 19 deletions trunk/drivers/gpu/drm/i915/i915_gem.c
Original file line number Diff line number Diff line change
Expand Up @@ -3930,22 +3930,11 @@ intel_enable_blt(struct drm_device *dev)
return true;
}

int
i915_gem_init_hw(struct drm_device *dev)
static int i915_gem_init_rings(struct drm_device *dev)
{
drm_i915_private_t *dev_priv = dev->dev_private;
struct drm_i915_private *dev_priv = dev->dev_private;
int ret;

if (INTEL_INFO(dev)->gen < 6 && !intel_enable_gtt())
return -EIO;

if (IS_HASWELL(dev) && (I915_READ(0x120010) == 1))
I915_WRITE(0x9008, I915_READ(0x9008) | 0xf0000);

i915_gem_l3_remap(dev);

i915_gem_init_swizzling(dev);

ret = intel_init_render_ring_buffer(dev);
if (ret)
return ret;
Expand All @@ -3963,6 +3952,38 @@ i915_gem_init_hw(struct drm_device *dev)
}

ret = i915_gem_set_seqno(dev, ((u32)~0 - 0x1000));
if (ret)
goto cleanup_blt_ring;

return 0;

cleanup_blt_ring:
intel_cleanup_ring_buffer(&dev_priv->ring[BCS]);
cleanup_bsd_ring:
intel_cleanup_ring_buffer(&dev_priv->ring[VCS]);
cleanup_render_ring:
intel_cleanup_ring_buffer(&dev_priv->ring[RCS]);

return ret;
}

int
i915_gem_init_hw(struct drm_device *dev)
{
drm_i915_private_t *dev_priv = dev->dev_private;
int ret;

if (INTEL_INFO(dev)->gen < 6 && !intel_enable_gtt())
return -EIO;

if (IS_HASWELL(dev) && (I915_READ(0x120010) == 1))
I915_WRITE(0x9008, I915_READ(0x9008) | 0xf0000);

i915_gem_l3_remap(dev);

i915_gem_init_swizzling(dev);

ret = i915_gem_init_rings(dev);
if (ret)
return ret;

Expand All @@ -3974,12 +3995,6 @@ i915_gem_init_hw(struct drm_device *dev)
i915_gem_init_ppgtt(dev);

return 0;

cleanup_bsd_ring:
intel_cleanup_ring_buffer(&dev_priv->ring[VCS]);
cleanup_render_ring:
intel_cleanup_ring_buffer(&dev_priv->ring[RCS]);
return ret;
}

int i915_gem_init(struct drm_device *dev)
Expand Down

0 comments on commit a96644c

Please sign in to comment.