drm/i915: Don't unconditionally try to deref aliasing ppgtt
Since the beginning, the functions which try to properly reference the
aliasing PPGTT have deferences a potentially null aliasing_ppgtt member.
Since the accessors are meant to be global, this will not do.
Introduced originally in:
commit a70a3148b0
Author: Ben Widawsky <ben@bwidawsk.net>
Date: Wed Jul 31 16:59:56 2013 -0700
drm/i915: Make proper functions for VMs
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
e178f7057b
commit
6f425321e0
|
@ -4975,7 +4975,8 @@ unsigned long i915_gem_obj_offset(struct drm_i915_gem_object *o,
|
||||||
struct drm_i915_private *dev_priv = o->base.dev->dev_private;
|
struct drm_i915_private *dev_priv = o->base.dev->dev_private;
|
||||||
struct i915_vma *vma;
|
struct i915_vma *vma;
|
||||||
|
|
||||||
if (vm == &dev_priv->mm.aliasing_ppgtt->base)
|
if (!dev_priv->mm.aliasing_ppgtt ||
|
||||||
|
vm == &dev_priv->mm.aliasing_ppgtt->base)
|
||||||
vm = &dev_priv->gtt.base;
|
vm = &dev_priv->gtt.base;
|
||||||
|
|
||||||
BUG_ON(list_empty(&o->vma_list));
|
BUG_ON(list_empty(&o->vma_list));
|
||||||
|
@ -5016,7 +5017,8 @@ unsigned long i915_gem_obj_size(struct drm_i915_gem_object *o,
|
||||||
struct drm_i915_private *dev_priv = o->base.dev->dev_private;
|
struct drm_i915_private *dev_priv = o->base.dev->dev_private;
|
||||||
struct i915_vma *vma;
|
struct i915_vma *vma;
|
||||||
|
|
||||||
if (vm == &dev_priv->mm.aliasing_ppgtt->base)
|
if (!dev_priv->mm.aliasing_ppgtt ||
|
||||||
|
vm == &dev_priv->mm.aliasing_ppgtt->base)
|
||||||
vm = &dev_priv->gtt.base;
|
vm = &dev_priv->gtt.base;
|
||||||
|
|
||||||
BUG_ON(list_empty(&o->vma_list));
|
BUG_ON(list_empty(&o->vma_list));
|
||||||
|
|
Loading…
Reference in New Issue