[PATCH] drm/i915/gem: Calculate object page offset for partial memory mapping
Nirmoy Das
nirmoy.das at linux.intel.com
Tue Mar 26 12:05:37 UTC 2024
Hi Andi,
On 3/26/2024 12:12 PM, Andi Shyti wrote:
> Hi Nirmoy,
>
> ...
>
>>> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_mman.c b/drivers/gpu/drm/i915/gem/i915_gem_mman.c
>>> index a2195e28b625..57a2dda2c3cc 100644
>>> --- a/drivers/gpu/drm/i915/gem/i915_gem_mman.c
>>> +++ b/drivers/gpu/drm/i915/gem/i915_gem_mman.c
>>> @@ -276,7 +276,7 @@ static vm_fault_t vm_fault_cpu(struct vm_fault *vmf)
>>> /* PTEs are revoked in obj->ops->put_pages() */
>>> err = remap_io_sg(area,
>>> area->vm_start, area->vm_end - area->vm_start,
>>> - obj->mm.pages->sgl, iomap);
>>> + obj->mm.pages->sgl, 0, iomap);
>> Why don't we need partial mmap for CPU but only for GTT ?
> As far as I understood we don't. I have a version with the CPU
> offset as well in trybot[*]
>
> But without support for segmented buffer objects, I don't know
> how much this has any effect.
You confused me more :) Why segmented buffer object is needed for
partial CPU mmap but not for GTT ?
From high level, GTT and CPU both should support partial mmap unless I
missing something here.
>
>> Sounds like this also need to be cover by a IGT tests.
> Yes, I it does need some igt work, working on it.
>
>> Don't we need "Fixes" tag for this?
> Why should we? I'm not fixing anything here,
If userspace expects partial mmap to work then this is a bug/gap in
i915 so we need to
backport this as far as possible. Need some information about the
requirement about why we need this patch suddenly?
Regards,
Nirmoy
> I'm just
> recalculating the mapping not starting from the beginning of the
> scatter page.
>
> Andi
>
> [*] https://patchwork.freedesktop.org/patch/584474/?series=131539&rev=2
More information about the Intel-gfx
mailing list