On Tue, Feb 20, 2018 at 10:50:10AM +0000, Chris Wilson wrote: > We cannot simply use !view as shorthand for all normal GGTT views as a > few callers will always populate a i915_ggtt_view struct and set the > type to NORMAL instead. So check for (!view || view->type == NORMAL) > inside i915_gem_object_ggtt_pin(). > > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > Cc: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> > --- > drivers/gpu/drm/i915/i915_gem.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c > index 631a2db2bb6e..1854a69bc354 100644 > --- a/drivers/gpu/drm/i915/i915_gem.c > +++ b/drivers/gpu/drm/i915/i915_gem.c > @@ -4282,7 +4282,8 @@ i915_gem_object_ggtt_pin(struct drm_i915_gem_object *obj, > > lockdep_assert_held(&obj->base.dev->struct_mutex); > > - if (!view && flags & PIN_MAPPABLE) { > + if ((!view || view->type == I915_GGTT_VIEW_NORMAL) && > + flags & PIN_MAPPABLE) { So looks like this is just an optimization to quickly reject clearly impossible things. So I assume the only proble was the optimization not working in all cases. Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > /* If the required space is larger than the available > * aperture, we will not able to find a slot for the > * object and unbinding the object now will be in > -- > 2.16.1 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Ville Syrjälä Intel OTC _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx