diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2014-09-19 06:56:27 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2014-09-19 11:58:42 -0400 |
commit | 1893a71b1eba79a46ac5b356208e80f822543fa4 (patch) | |
tree | 51b93ccbc1e74cd936d5bba6f9212ac485bec277 | |
parent | 00caf0199f66871b0e2c28d7c2079de0ce1d646c (diff) |
drm/i915: Inline feature detection into sanitize_enable_ppgtt
Rather than splitting and hiding away critical parts of
sanitize_enable_ppgtt() into single use macros in the headers, inline
them into the function for clarity.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r-- | drivers/gpu/drm/i915/i915_drv.h | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/i915_gem_gtt.c | 14 |
2 files changed, 11 insertions, 5 deletions
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index 03f59ecbb200..5fce16c9d647 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h | |||
@@ -2139,8 +2139,6 @@ struct drm_i915_cmd_table { | |||
2139 | 2139 | ||
2140 | #define HAS_HW_CONTEXTS(dev) (INTEL_INFO(dev)->gen >= 6) | 2140 | #define HAS_HW_CONTEXTS(dev) (INTEL_INFO(dev)->gen >= 6) |
2141 | #define HAS_LOGICAL_RING_CONTEXTS(dev) (INTEL_INFO(dev)->gen >= 8) | 2141 | #define HAS_LOGICAL_RING_CONTEXTS(dev) (INTEL_INFO(dev)->gen >= 8) |
2142 | #define HAS_ALIASING_PPGTT(dev) (INTEL_INFO(dev)->gen >= 6) | ||
2143 | #define HAS_PPGTT(dev) (INTEL_INFO(dev)->gen >= 7 && !IS_GEN8(dev)) | ||
2144 | #define USES_PPGTT(dev) (i915.enable_ppgtt) | 2142 | #define USES_PPGTT(dev) (i915.enable_ppgtt) |
2145 | #define USES_FULL_PPGTT(dev) (i915.enable_ppgtt == 2) | 2143 | #define USES_FULL_PPGTT(dev) (i915.enable_ppgtt == 2) |
2146 | 2144 | ||
diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c index a234446a8678..90c9bf6e71b7 100644 --- a/drivers/gpu/drm/i915/i915_gem_gtt.c +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c | |||
@@ -35,13 +35,21 @@ static void chv_setup_private_ppat(struct drm_i915_private *dev_priv); | |||
35 | 35 | ||
36 | static int sanitize_enable_ppgtt(struct drm_device *dev, int enable_ppgtt) | 36 | static int sanitize_enable_ppgtt(struct drm_device *dev, int enable_ppgtt) |
37 | { | 37 | { |
38 | if (enable_ppgtt == 0 || !HAS_ALIASING_PPGTT(dev)) | 38 | bool has_aliasing_ppgtt; |
39 | bool has_full_ppgtt; | ||
40 | |||
41 | has_aliasing_ppgtt = INTEL_INFO(dev)->gen >= 6; | ||
42 | has_full_ppgtt = INTEL_INFO(dev)->gen >= 7; | ||
43 | if (IS_GEN8(dev)) | ||
44 | has_full_ppgtt = false; /* XXX why? */ | ||
45 | |||
46 | if (enable_ppgtt == 0 || !has_aliasing_ppgtt) | ||
39 | return 0; | 47 | return 0; |
40 | 48 | ||
41 | if (enable_ppgtt == 1) | 49 | if (enable_ppgtt == 1) |
42 | return 1; | 50 | return 1; |
43 | 51 | ||
44 | if (enable_ppgtt == 2 && HAS_PPGTT(dev)) | 52 | if (enable_ppgtt == 2 && has_full_ppgtt) |
45 | return 2; | 53 | return 2; |
46 | 54 | ||
47 | #ifdef CONFIG_INTEL_IOMMU | 55 | #ifdef CONFIG_INTEL_IOMMU |
@@ -59,7 +67,7 @@ static int sanitize_enable_ppgtt(struct drm_device *dev, int enable_ppgtt) | |||
59 | return 0; | 67 | return 0; |
60 | } | 68 | } |
61 | 69 | ||
62 | return HAS_PPGTT(dev) ? 2 : HAS_ALIASING_PPGTT(dev) ? 1 : 0; | 70 | return has_full_ppgtt ? 2 : has_aliasing_ppgtt ? 1 : 0; |
63 | } | 71 | } |
64 | 72 | ||
65 | 73 | ||