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

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

drm/i915: Create a USES_PPGTT macro



There are cases where we want to know if there is a full, or aliased
PPGTT. Currently, in fact the only distinction we ever need to make is
when we're using full PPGTT.

This patch is simply to promote readability and clarify for the
confusing existing usage where "aliasing" meant aliasing and full.

v2: Remove USES_ALIASING_PPGTT since there are currently no cases where
we need to check if we're using aliasing, but not full PPGTT. (Daniel)

Cc: Daniel Vetter <daniel@ffwll.ch>
Signed-off-by: default avatarBen Widawsky <ben@bwidawsk.net>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent 3adee7a7
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -1834,8 +1834,9 @@ struct drm_i915_file_private {

#define HAS_HW_CONTEXTS(dev)	(INTEL_INFO(dev)->gen >= 6)
#define HAS_ALIASING_PPGTT(dev)	(INTEL_INFO(dev)->gen >= 6 && !IS_VALLEYVIEW(dev))
#define HAS_PPGTT(dev)		(INTEL_INFO(dev)->gen >= 7 && !IS_VALLEYVIEW(dev) && !IS_BROADWELL(dev))
#define USES_ALIASING_PPGTT(dev) intel_enable_ppgtt(dev, false)
#define HAS_PPGTT(dev)		(INTEL_INFO(dev)->gen >= 7 && !IS_VALLEYVIEW(dev) \
				 && !IS_BROADWELL(dev))
#define USES_PPGTT(dev)		intel_enable_ppgtt(dev, false)
#define USES_FULL_PPGTT(dev)	intel_enable_ppgtt(dev, true)

#define HAS_OVERLAY(dev)		(INTEL_INFO(dev)->has_overlay)
+3 −3
Original line number Diff line number Diff line
@@ -142,7 +142,7 @@ void i915_gem_context_free(struct kref *ctx_ref)
	struct i915_hw_ppgtt *ppgtt = NULL;

	/* We refcount even the aliasing PPGTT to keep the code symmetric */
	if (USES_ALIASING_PPGTT(ctx->obj->base.dev))
	if (USES_PPGTT(ctx->obj->base.dev))
		ppgtt = ctx_to_ppgtt(ctx);

	/* XXX: Free up the object before tearing down the address space, in
@@ -292,7 +292,7 @@ i915_gem_create_context(struct drm_device *dev,

			dev_priv->mm.aliasing_ppgtt = ppgtt;
		}
	} else if (USES_ALIASING_PPGTT(dev)) {
	} else if (USES_PPGTT(dev)) {
		/* For platforms which only have aliasing PPGTT, we fake the
		 * address space and refcounting. */
		ctx->vm = &dev_priv->mm.aliasing_ppgtt->base;
@@ -375,7 +375,7 @@ int i915_gem_context_init(struct drm_device *dev)
	}

	dev_priv->ring[RCS].default_context =
		i915_gem_create_context(dev, NULL, USES_ALIASING_PPGTT(dev));
		i915_gem_create_context(dev, NULL, USES_PPGTT(dev));

	if (IS_ERR_OR_NULL(dev_priv->ring[RCS].default_context)) {
		DRM_DEBUG_DRIVER("Disabling HW Contexts; create failed %ld\n",