On Fri, Aug 02, 2024 at 10:38:49AM +0200, Andi Shyti wrote: > When mapping a framebuffer object, the virtual memory area (VMA) > offset ('vm_pgoff') should be adjusted by the start of the > 'vma_node' associated with the object. This ensures that the VMA > offset is correctly aligned with the corresponding offset within > the GGTT aperture. > > Increment vm_pgoff by the start of the vma_node with the offset= > provided by the user. > > Suggested-by: Chris Wilson <chris.p.wilson@xxxxxxxxxxxxxxx> > Signed-off-by: Andi Shyti <andi.shyti@xxxxxxxxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> > --- > drivers/gpu/drm/i915/gem/i915_gem_mman.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/gpu/drm/i915/gem/i915_gem_mman.c b/drivers/gpu/drm/i915/gem/i915_gem_mman.c > index a2195e28b625..ce10dd259812 100644 > --- a/drivers/gpu/drm/i915/gem/i915_gem_mman.c > +++ b/drivers/gpu/drm/i915/gem/i915_gem_mman.c > @@ -1084,6 +1084,8 @@ int i915_gem_fb_mmap(struct drm_i915_gem_object *obj, struct vm_area_struct *vma > mmo = mmap_offset_attach(obj, mmap_type, NULL); > if (IS_ERR(mmo)) > return PTR_ERR(mmo); > + > + vma->vm_pgoff += drm_vma_node_start(&mmo->vma_node); > } > > /* > -- > 2.45.2 >