Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 644ec02b authored by Daniel Vetter's avatar Daniel Vetter
Browse files

drm/i915: s/i915_gem_do_init/i915_gem_init_global_gtt



... because this is what it actually doesn now that we have the global
gtt vs. ppgtt split.

Also move it to the other global gtt functions in i915_gem_gtt.c

Signed-Off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent d42c9e2c
Loading
Loading
Loading
Loading
+3 −2
Original line number Original line Diff line number Diff line
@@ -1210,7 +1210,7 @@ static int i915_load_gem_init(struct drm_device *dev)
		/* For paranoia keep the guard page in between. */
		/* For paranoia keep the guard page in between. */
		gtt_size -= PAGE_SIZE;
		gtt_size -= PAGE_SIZE;


		i915_gem_do_init(dev, 0, mappable_size, gtt_size);
		i915_gem_init_global_gtt(dev, 0, mappable_size, gtt_size);


		ret = i915_gem_init_aliasing_ppgtt(dev);
		ret = i915_gem_init_aliasing_ppgtt(dev);
		if (ret)
		if (ret)
@@ -1226,7 +1226,8 @@ static int i915_load_gem_init(struct drm_device *dev)
		 * should be enough to keep any prefetching inside of the
		 * should be enough to keep any prefetching inside of the
		 * aperture.
		 * aperture.
		 */
		 */
		i915_gem_do_init(dev, 0, mappable_size, gtt_size - PAGE_SIZE);
		i915_gem_init_global_gtt(dev, 0, mappable_size,
					 gtt_size - PAGE_SIZE);
	}
	}


	ret = i915_gem_init_hw(dev);
	ret = i915_gem_init_hw(dev);
+4 −4
Original line number Original line Diff line number Diff line
@@ -1253,10 +1253,6 @@ int __must_check i915_gem_init_hw(struct drm_device *dev);
void i915_gem_init_swizzling(struct drm_device *dev);
void i915_gem_init_swizzling(struct drm_device *dev);
void i915_gem_init_ppgtt(struct drm_device *dev);
void i915_gem_init_ppgtt(struct drm_device *dev);
void i915_gem_cleanup_ringbuffer(struct drm_device *dev);
void i915_gem_cleanup_ringbuffer(struct drm_device *dev);
void i915_gem_do_init(struct drm_device *dev,
		      unsigned long start,
		      unsigned long mappable_end,
		      unsigned long end);
int __must_check i915_gpu_idle(struct drm_device *dev, bool do_retire);
int __must_check i915_gpu_idle(struct drm_device *dev, bool do_retire);
int __must_check i915_gem_idle(struct drm_device *dev);
int __must_check i915_gem_idle(struct drm_device *dev);
int __must_check i915_add_request(struct intel_ring_buffer *ring,
int __must_check i915_add_request(struct intel_ring_buffer *ring,
@@ -1305,6 +1301,10 @@ void i915_gem_gtt_bind_object(struct drm_i915_gem_object *obj,
				enum i915_cache_level cache_level);
				enum i915_cache_level cache_level);
void i915_gem_gtt_unbind_object(struct drm_i915_gem_object *obj);
void i915_gem_gtt_unbind_object(struct drm_i915_gem_object *obj);
void i915_gem_gtt_finish_object(struct drm_i915_gem_object *obj);
void i915_gem_gtt_finish_object(struct drm_i915_gem_object *obj);
void i915_gem_init_global_gtt(struct drm_device *dev,
			      unsigned long start,
			      unsigned long mappable_end,
			      unsigned long end);


/* i915_gem_evict.c */
/* i915_gem_evict.c */
int __must_check i915_gem_evict_something(struct drm_device *dev, int min_size,
int __must_check i915_gem_evict_something(struct drm_device *dev, int min_size,
+2 −20
Original line number Original line Diff line number Diff line
@@ -125,25 +125,6 @@ i915_gem_object_is_inactive(struct drm_i915_gem_object *obj)
	return obj->gtt_space && !obj->active && obj->pin_count == 0;
	return obj->gtt_space && !obj->active && obj->pin_count == 0;
}
}


void i915_gem_do_init(struct drm_device *dev,
		      unsigned long start,
		      unsigned long mappable_end,
		      unsigned long end)
{
	drm_i915_private_t *dev_priv = dev->dev_private;

	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;

	/* Take over this portion of the GTT */
	intel_gtt_clear_range(start / PAGE_SIZE, (end-start) / PAGE_SIZE);
}

int
int
i915_gem_init_ioctl(struct drm_device *dev, void *data,
i915_gem_init_ioctl(struct drm_device *dev, void *data,
		    struct drm_file *file)
		    struct drm_file *file)
@@ -155,7 +136,8 @@ i915_gem_init_ioctl(struct drm_device *dev, void *data,
		return -EINVAL;
		return -EINVAL;


	mutex_lock(&dev->struct_mutex);
	mutex_lock(&dev->struct_mutex);
	i915_gem_do_init(dev, args->gtt_start, args->gtt_end, args->gtt_end);
	i915_gem_init_global_gtt(dev, args->gtt_start,
				 args->gtt_end, args->gtt_end);
	mutex_unlock(&dev->struct_mutex);
	mutex_unlock(&dev->struct_mutex);


	return 0;
	return 0;
+19 −0
Original line number Original line Diff line number Diff line
@@ -421,3 +421,22 @@ void i915_gem_gtt_finish_object(struct drm_i915_gem_object *obj)


	undo_idling(dev_priv, interruptible);
	undo_idling(dev_priv, interruptible);
}
}

void i915_gem_init_global_gtt(struct drm_device *dev,
			      unsigned long start,
			      unsigned long mappable_end,
			      unsigned long end)
{
	drm_i915_private_t *dev_priv = dev->dev_private;

	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;

	/* Take over this portion of the GTT */
	intel_gtt_clear_range(start / PAGE_SIZE, (end-start) / PAGE_SIZE);
}