From: Maarten Lankhorst <dev@lankhorst.se>
To: intel-xe@lists.freedesktop.org
Cc: Maarten Lankhorst <dev@lankhorst.se>
Subject: [PATCH v5 0/6] drm/xe: Make struct xe_ggtt private.
Date: Fri, 10 Oct 2025 14:06:56 +0200 [thread overview]
Message-ID: <20251010120655.1046007-8-dev@lankhorst.se> (raw)
SRIOV-VF node shifting code uses a complicated system with balloons
to limit allocation and size. Since size never changes after init,
shifting can simply be done by taking the the GGTT lock and then
moving each offset.
First introduce a function to shift an entire GGTT, this removes the
need for the balloons, then also perform the display code pinning
through a callback, and finally privatize the struct.
No other users outside of xe_ggtt remain, and we can make xe_ggtt private.
Rebased on top of recent SRIOV-VF changes, with Matthew Brosts help.
Maarten Lankhorst (5):
drm/xe: Only have a single drmm release action.
drm/xe: Start using ggtt->start in preparation of balloon removal
drm/xe: Rewrite GGTT VF initialisation
drm/xe: Convert xe_fb_pin to use a callback for insertion into GGTT
drm/xe: Move struct xe_ggtt to xe_ggtt.c
Tomasz Lis (1):
drm/mm: Introduce address space shifting
drivers/gpu/drm/drm_mm.c | 24 ++
drivers/gpu/drm/xe/display/xe_fb_pin.c | 111 +++---
drivers/gpu/drm/xe/tests/xe_guc_buf_kunit.c | 2 +-
drivers/gpu/drm/xe/xe_device_types.h | 2 -
drivers/gpu/drm/xe/xe_ggtt.c | 357 ++++++++++----------
drivers/gpu/drm/xe/xe_ggtt.h | 16 +-
drivers/gpu/drm/xe/xe_ggtt_types.h | 57 +---
drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c | 4 +-
drivers/gpu/drm/xe/xe_gt_sriov_vf.c | 5 +-
drivers/gpu/drm/xe/xe_tile.c | 18 +
drivers/gpu/drm/xe/xe_tile_sriov_vf.c | 197 +----------
drivers/gpu/drm/xe/xe_tile_sriov_vf.h | 4 +-
drivers/gpu/drm/xe/xe_tile_sriov_vf_types.h | 4 +
include/drm/drm_mm.h | 1 +
14 files changed, 315 insertions(+), 487 deletions(-)
--
2.51.0
next reply other threads:[~2025-10-10 12:07 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-10 12:06 Maarten Lankhorst [this message]
2025-10-10 12:06 ` [PATCH v5 1/6] drm/xe: Only have a single drmm release action Maarten Lankhorst
2025-10-10 12:14 ` Michal Wajdeczko
2025-10-10 13:15 ` Maarten Lankhorst
2025-10-10 12:06 ` [PATCH v5 2/6] drm/mm: Introduce address space shifting Maarten Lankhorst
2025-10-10 12:06 ` [PATCH v5 3/6] drm/xe: Start using ggtt->start in preparation of balloon removal Maarten Lankhorst
2025-10-10 12:54 ` Michal Wajdeczko
2025-10-10 12:07 ` [PATCH v5 4/6] drm/xe: Rewrite GGTT VF initialisation Maarten Lankhorst
2025-10-10 15:00 ` Michal Wajdeczko
2025-10-10 15:34 ` Matthew Brost
2025-10-10 12:07 ` [PATCH v5 5/6] drm/xe: Convert xe_fb_pin to use a callback for insertion into GGTT Maarten Lankhorst
2025-10-10 12:07 ` [PATCH v5 6/6] drm/xe: Move struct xe_ggtt to xe_ggtt.c Maarten Lankhorst
2025-10-10 15:05 ` Michal Wajdeczko
2025-10-13 17:54 ` Maarten Lankhorst
2025-10-10 13:30 ` ✗ CI.checkpatch: warning for drm/xe: Make struct xe_ggtt private. (rev5) Patchwork
2025-10-10 13:32 ` ✓ CI.KUnit: success " Patchwork
2025-10-10 13:50 ` ✗ CI.checksparse: warning " Patchwork
2025-10-10 14:14 ` ✗ Xe.CI.BAT: failure " Patchwork
2025-10-10 18:57 ` ✗ Xe.CI.Full: " Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251010120655.1046007-8-dev@lankhorst.se \
--to=dev@lankhorst.se \
--cc=intel-xe@lists.freedesktop.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox