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

Commit 3e8b5ae9 authored by Ben Widawsky's avatar Ben Widawsky Committed by Daniel Vetter
Browse files

drm/i915: Use topdown allocation for PPGTT PDEs on gen6/7



It was always the intention to do the topdown allocation for context
objects (Chris' idea originally). Unfortunately, I never managed to land
the patch, but someone else did, so now we can use it.

As a reminder, hardware contexts never need to be in the precious GTT
aperture space - which is what is what happens with the normal bottom up
allocation we do today. Doing a top down allocation increases the odds
that the HW contexts can get out of the way, especially with per FD
contexts as is done in full PPGTT

Signed-off-by: default avatarBen Widawsky <ben@bwidawsk.net>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent fd7f8cce
Loading
Loading
Loading
Loading
+1 −2
Original line number Original line Diff line number Diff line
@@ -1035,8 +1035,7 @@ alloc:
						  &ppgtt->node, GEN6_PD_SIZE,
						  &ppgtt->node, GEN6_PD_SIZE,
						  GEN6_PD_ALIGN, 0,
						  GEN6_PD_ALIGN, 0,
						  0, dev_priv->gtt.base.total,
						  0, dev_priv->gtt.base.total,
						  DRM_MM_SEARCH_DEFAULT,
						  DRM_MM_TOPDOWN);
						  DRM_MM_CREATE_DEFAULT);
	if (ret == -ENOSPC && !retried) {
	if (ret == -ENOSPC && !retried) {
		ret = i915_gem_evict_something(dev, &dev_priv->gtt.base,
		ret = i915_gem_evict_something(dev, &dev_priv->gtt.base,
					       GEN6_PD_SIZE, GEN6_PD_ALIGN,
					       GEN6_PD_SIZE, GEN6_PD_ALIGN,