Use 48b addresses if hw supports it and i915.enable_ppgtt=3.

Aliasing PPGTT remains 32b only.

Signed-off-by: Michel Thierry <michel.thie...@intel.com>
---
 drivers/gpu/drm/i915/i915_gem_gtt.c | 7 ++-----
 drivers/gpu/drm/i915/i915_params.c  | 2 +-
 2 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c 
b/drivers/gpu/drm/i915/i915_gem_gtt.c
index 842ce93..fda5907 100644
--- a/drivers/gpu/drm/i915/i915_gem_gtt.c
+++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
@@ -107,7 +107,7 @@ static int sanitize_enable_ppgtt(struct drm_device *dev, 
int enable_ppgtt)
 
 #ifdef CONFIG_64BIT
        has_full_64bit_ppgtt = IS_BROADWELL(dev) ||
-                               INTEL_INFO(dev)->gen >= 9 && false; /* FIXME: 
64b */
+                               INTEL_INFO(dev)->gen >= 9;
 #else
        has_full_64bit_ppgtt = false;
 #endif
@@ -1076,9 +1076,6 @@ static int gen8_ppgtt_alloc_page_directories(struct 
i915_address_space *vm,
 
        BUG_ON(!bitmap_empty(new_pds, pdpes));
 
-       /* FIXME: PPGTT container_of won't work for 64b */
-       BUG_ON((start + length) > 0x800000000ULL);
-
        gen8_for_each_pdpe(pd, pdp, start, length, temp, pdpe) {
                if (pd)
                        continue;
@@ -1397,7 +1394,7 @@ static int gen8_aliasing_ppgtt_init(struct i915_hw_ppgtt 
*ppgtt)
 {
        struct drm_device *dev = ppgtt->base.dev;
        struct drm_i915_private *dev_priv = dev->dev_private;
-       struct i915_page_directory_pointer_entry *pdp = &ppgtt->pdp; /* FIXME: 
48b */
+       struct i915_page_directory_pointer_entry *pdp = &ppgtt->pdp; /* FIXME: 
48b? */
        struct i915_page_directory_entry *pd;
        uint64_t temp, start = 0, size = dev_priv->gtt.base.total;
        uint32_t pdpe;
diff --git a/drivers/gpu/drm/i915/i915_params.c 
b/drivers/gpu/drm/i915/i915_params.c
index 44f2262..1cd43b0 100644
--- a/drivers/gpu/drm/i915/i915_params.c
+++ b/drivers/gpu/drm/i915/i915_params.c
@@ -119,7 +119,7 @@ MODULE_PARM_DESC(enable_hangcheck,
 module_param_named_unsafe(enable_ppgtt, i915.enable_ppgtt, int, 0400);
 MODULE_PARM_DESC(enable_ppgtt,
        "Override PPGTT usage. "
-       "(-1=auto [default], 0=disabled, 1=aliasing, 2=full)");
+       "(-1=auto [default], 0=disabled, 1=aliasing, 2=full, 3=full_64b)");
 
 module_param_named(enable_execlists, i915.enable_execlists, int, 0400);
 MODULE_PARM_DESC(enable_execlists,
-- 
2.1.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to