Re: [PATCH 1/2] drm/i915: Also check view->type for a normal GGTT view

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux