]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
drm/shmem-helper: Simplify page offset calculation in fault handler
authorLoïc Molinari <loic.molinari@collabora.com>
Fri, 5 Dec 2025 18:22:22 +0000 (19:22 +0100)
committerBoris Brezillon <boris.brezillon@collabora.com>
Mon, 8 Dec 2025 09:52:47 +0000 (10:52 +0100)
commit9d2d49027c3a9628989c9ec70ebef9d241f49c1e
tree331a89812ab2ce75bb5022e6905b63b5adae9971
parentd8f94cb02af3cc64013373c94a4b7780782ea59c
drm/shmem-helper: Simplify page offset calculation in fault handler

For a fault at address addr, the page offset is
  page_offset = (vmf->address - vma->vm_start) >> PAGE_SHIFT
              = ((addr & PAGE_MASK) - vma->vm_start) >> PAGE_SHIFT
      = (addr - vma->vm_start) >> PAGE_SHIFT

Since the faulty logical page offset based on VMA is
  vmf->pgoff = vma->vm_pgoff + ((addr - vma->vm_start) >> PAGE_SHIFT)

We can slightly simplify the calculation using
  page_offset = vmf->pgoff - vma->vm_pgoff

v11:
- remove misleading comment
- add Boris R-b

Signed-off-by: Loïc Molinari <loic.molinari@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Link: https://patch.msgid.link/20251205182231.194072-2-loic.molinari@collabora.com
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
drivers/gpu/drm/drm_gem_shmem_helper.c