In some cases, we may not need GTT address space allocated to a stolen
object, so allow passing -1 to the preallocated function to indicate as
much.

v2: remove BUG_ON(gtt_offset & 4095) now that -1 is allowed (Ville)

Reviewed-by: Chris Wilson <ch...@chris-wilson.co.uk>
Signed-off-by: Jesse Barnes <jbar...@virtuousgeek.org>
---
 drivers/gpu/drm/i915/i915_gem_stolen.c |    5 ++++-
 drivers/gpu/drm/i915/intel_pm.c        |    2 +-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_gem_stolen.c 
b/drivers/gpu/drm/i915/i915_gem_stolen.c
index 913994c..89cbfab 100644
--- a/drivers/gpu/drm/i915/i915_gem_stolen.c
+++ b/drivers/gpu/drm/i915/i915_gem_stolen.c
@@ -339,7 +339,6 @@ i915_gem_object_create_stolen_for_preallocated(struct 
drm_device *dev,
 
        /* KISS and expect everything to be page-aligned */
        BUG_ON(stolen_offset & 4095);
-       BUG_ON(gtt_offset & 4095);
        BUG_ON(size & 4095);
 
        if (WARN_ON(size == 0))
@@ -360,6 +359,10 @@ i915_gem_object_create_stolen_for_preallocated(struct 
drm_device *dev,
                return NULL;
        }
 
+       /* Some objects just need physical mem from stolen space */
+       if (gtt_offset == -1)
+               return obj;
+
        /* To simplify the initialisation sequence between KMS and GTT,
         * we allow construction of the stolen object prior to
         * setting up the GTT space. The actual reservation will occur
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index e60cd3e..081194d 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -2877,7 +2877,7 @@ static void valleyview_setup_pctx(struct drm_device *dev)
                pcbr_offset = (pcbr & (~4095)) - dev_priv->mm.stolen_base;
                pctx = 
i915_gem_object_create_stolen_for_preallocated(dev_priv->dev,
                                                                      
pcbr_offset,
-                                                                     
pcbr_offset,
+                                                                     -1,
                                                                      
pctx_size);
                goto out;
        }
-- 
1.7.10.4

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

Reply via email to