[Intel-gfx] [PATCH] drm/i915: allow stolen, pre-allocated objects to avoid GTT allocation
Ville Syrjälä
ville.syrjala at linux.intel.com
Wed May 8 18:59:51 CEST 2013
On Wed, May 08, 2013 at 09:36:29AM -0700, Jesse Barnes wrote:
> 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.
>
> Signed-off-by: Jesse Barnes <jbarnes at virtuousgeek.org>
> ---
> drivers/gpu/drm/i915/i915_gem_stolen.c | 4 ++++
> drivers/gpu/drm/i915/intel_pm.c | 2 +-
> 2 files changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_gem_stolen.c b/drivers/gpu/drm/i915/i915_gem_stolen.c
> index 9137fa4c..2e92861 100644
> --- a/drivers/gpu/drm/i915/i915_gem_stolen.c
> +++ b/drivers/gpu/drm/i915/i915_gem_stolen.c
> @@ -360,6 +360,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;
Surely that will explode in the BUG_ON(gtt_offset & 4095), or did that
get removed?
> +
> /* 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 at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Ville Syrjälä
Intel OTC
More information about the Intel-gfx
mailing list