소스 검색

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: Ben Widawsky <ben@bwidawsk.net>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Ben Widawsky 11 년 전
부모
커밋
c5dc5cecf8
2개의 변경된 파일6개의 추가작업 그리고 5개의 파일을 삭제
  1. 3 2
      drivers/gpu/drm/i915/i915_drv.h
  2. 3 3
      drivers/gpu/drm/i915/i915_gem_context.c

+ 3 - 2
drivers/gpu/drm/i915/i915_drv.h

@@ -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
drivers/gpu/drm/i915/i915_gem_context.c

@@ -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",