Hi Janusz,

> VMA binding to GGTT is now asynchronous in CHV / BXT+VDT enviroments, then
> vma->resource->page_sizes_gtt the test uses as shift count may still be
> not populated (equal 0) after i915_vma_pin() returns.  Wait for VMA bind
> completion in those cases to avoid shift-out-of-bounds kernel warnings and
> the test case failing with -EBADSLT.
> 
> Signed-off-by: Janusz Krzysztofik <[email protected]>
> ---
>  drivers/gpu/drm/i915/selftests/i915_gem_gtt.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c 
> b/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c
> index 7ab4c4e602648..0a86e48575394 100644
> --- a/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c
> +++ b/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c
> @@ -1118,6 +1118,10 @@ static int misaligned_case(struct i915_address_space 
> *vm, struct intel_memory_re
>               goto err_put;
>       }
>  
> +     /* make sure page_sizes_gtt has been populated before use */
> +     if (i915_is_ggtt(vm) && intel_vm_no_concurrent_access_wa(vm->i915))
> +             i915_vma_wait_for_bind(vma);
> +
>       expected_vma_size = round_up(size, 1 << 
> (ffs(vma->resource->page_sizes_gtt) - 1));
>       expected_node_size = expected_vma_size;
>  
> -- 
> 2.51.0
> 

Reviewed-by: Krzysztof Karas <[email protected]>

-- 
Best Regards,
Krzysztof

Reply via email to