On Fri, Aug 22, 2025 at 5:12 PM Dmitry Baryshkov <[email protected]> wrote: > > Since commit 3309323241fb ("drm/gpuvm: Kill drm_gpuva_init()") MSM > driver fails to init, failing with "[drm:msm_gpu_init] *ERROR* could not > allocate memptrs: -22" errors. The mentioned commit reworked the > function, but didn't take into account that op_map is initialized at the > top of the function, while ranges might change if GPUVM is managed by > the kernel. > > Move op_mode initialization after finalizing all addresses and right > before the drm_gpuva_init_from_op() call. > > Reported-by: Danct12 <[email protected]> > Fixes: 3309323241fb ("drm/gpuvm: Kill drm_gpuva_init()") > Suggested-by: Rob Clark <[email protected]> > Signed-off-by: Dmitry Baryshkov <[email protected]> > --- > drivers/gpu/drm/msm/msm_gem_vma.c | 13 +++++++------ > 1 file changed, 7 insertions(+), 6 deletions(-) > > diff --git a/drivers/gpu/drm/msm/msm_gem_vma.c > b/drivers/gpu/drm/msm/msm_gem_vma.c > index > 3f440bc1f7106f3b0091f037611d0b433e5e2c18..6df6b7c0984da57fe64de41fa54f7dea0a324c74 > 100644 > --- a/drivers/gpu/drm/msm/msm_gem_vma.c > +++ b/drivers/gpu/drm/msm/msm_gem_vma.c > @@ -368,12 +368,6 @@ struct drm_gpuva * > msm_gem_vma_new(struct drm_gpuvm *gpuvm, struct drm_gem_object *obj, > u64 offset, u64 range_start, u64 range_end) > { > - struct drm_gpuva_op_map op_map = { > - .va.addr = range_start, > - .va.range = range_end - range_start, > - .gem.obj = obj, > - .gem.offset = offset, > - }; > struct msm_gem_vm *vm = to_msm_vm(gpuvm); > struct drm_gpuvm_bo *vm_bo; > struct msm_gem_vma *vma; > @@ -402,6 +396,13 @@ msm_gem_vma_new(struct drm_gpuvm *gpuvm, struct > drm_gem_object *obj, > if (obj) > GEM_WARN_ON((range_end - range_start) > obj->size); > > + struct drm_gpuva_op_map op_map = { > + .va.addr = range_start, > + .va.range = range_end - range_start, > + .gem.obj = obj, > + .gem.offset = offset, > + };
Thanks, Reviewed-by: Rob Clark <[email protected]> > + > drm_gpuva_init_from_op(&vma->base, &op_map); > vma->mapped = false; > > > --- > base-commit: 0f4c93f7eb861acab537dbe94441817a270537bf > change-id: 20250823-msm-fix-gpuvm-init-520d87ebcf26 > > Best regards, > -- > With best wishes > Dmitry >
