diff options
Diffstat (limited to 'drivers/gpu/drm/i915/i915_gem.c')
| -rw-r--r-- | drivers/gpu/drm/i915/i915_gem.c | 14 | 
1 files changed, 9 insertions, 5 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index 3dfc848ff75..36e66cc5225 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c @@ -140,12 +140,16 @@ void i915_gem_do_init(struct drm_device *dev,  {  	drm_i915_private_t *dev_priv = dev->dev_private; -	drm_mm_init(&dev_priv->mm.gtt_space, start, -		    end - start); +	drm_mm_init(&dev_priv->mm.gtt_space, start, end - start); +	dev_priv->mm.gtt_start = start; +	dev_priv->mm.gtt_mappable_end = mappable_end; +	dev_priv->mm.gtt_end = end;  	dev_priv->mm.gtt_total = end - start;  	dev_priv->mm.mappable_gtt_total = min(end, mappable_end) - start; -	dev_priv->mm.gtt_mappable_end = mappable_end; + +	/* Take over this portion of the GTT */ +	intel_gtt_clear_range(start / PAGE_SIZE, (end-start) / PAGE_SIZE);  }  int @@ -1394,7 +1398,7 @@ i915_gem_get_gtt_alignment(struct drm_i915_gem_object *obj)   * Return the required GTT alignment for an object, only taking into account   * unfenced tiled surface requirements.   */ -static uint32_t +uint32_t  i915_gem_get_unfenced_gtt_alignment(struct drm_i915_gem_object *obj)  {  	struct drm_device *dev = obj->base.dev; @@ -1857,7 +1861,7 @@ i915_gem_retire_requests_ring(struct drm_device *dev,  	seqno = ring->get_seqno(ring); -	for (i = 0; i < I915_NUM_RINGS; i++) +	for (i = 0; i < ARRAY_SIZE(ring->sync_seqno); i++)  		if (seqno >= ring->sync_seqno[i])  			ring->sync_seqno[i] = 0;  |