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
