mbox series

[v2,0/2] Allow partial memory mapping for cpu memory

Message ID 20240814134751.116439-1-andi.shyti@linux.intel.com (mailing list archive)
Headers show
Series Allow partial memory mapping for cpu memory | expand

Message

Andi Shyti Aug. 14, 2024, 1:47 p.m. UTC
Hi,

I am resending this patch series, not to disregard the previous
discussions, but to ensure it gets tested with the IGTs that
Krzysztof has provided.

This patch series finalizes the memory mapping fixes and
improvements by enabling partial memory mapping for CPU memory as
well.

The concept of partial memory mapping, achieved by adding an
object offset, was implicitly introduced in commit 8bdd9ef7e9b1
("drm/i915/gem: Fix Virtual Memory mapping boundaries
calculation") for GTT memory.

To address a previous discussion with Sima and Matt, this feature
is used by Mesa and is required across all platforms utilizing
Mesa. Although Nirmoy suggested using the Fixes tag to backport
this to previous kernels, I view this as a new feature rather
than a fix.

Lionel, please let me know if you have a different perspective
and believe this should be treated as a bug fix, requiring it
to be backported to stable kernels.

The IGTs have been developed in collaboration with the Mesa team
to replicate the exact Mesa use case[*].

Thanks Chris for the support, thanks Krzysztof for taking care of
the IGT tests, thanks Nirmoy for your reviews and thanks Sima and
Matt for the discussion on this series.

Andi

[*] https://patchwork.freedesktop.org/patch/608232/?series=137303&rev=1

Test-with: 20240814132404.18392-1-krzysztof.niemiec@intel.com

Changelog:
==========
v1 -> v2
 - Added Nirmoy's tags.

Andi Shyti (2):
  drm/i915/gem: Do not look for the exact address in node
  drm/i915/gem: Calculate object page offset for partial memory mapping

 drivers/gpu/drm/i915/gem/i915_gem_mman.c | 10 ++++++----
 drivers/gpu/drm/i915/i915_mm.c           | 12 +++++++++++-
 drivers/gpu/drm/i915/i915_mm.h           |  3 ++-
 3 files changed, 19 insertions(+), 6 deletions(-)