OSDN Git Service

drm/i915: Create a USES_PPGTT macro
authorBen Widawsky <benjamin.widawsky@intel.com>
Tue, 28 Jan 2014 07:07:00 +0000 (23:07 -0800)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 28 Jan 2014 08:13:50 +0000 (09:13 +0100)
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>
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/i915_gem_context.c

index 3971e7c..9976bed 100644 (file)
@@ -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)
index fb64ab4..2b0598e 100644 (file)
@@ -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",