Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 0/6] drm/xe: Make struct xe_ggtt private.
@ 2024-10-09 12:51 Maarten Lankhorst
  2024-10-09 12:51 ` [PATCH v4 1/6] drm/xe: Use xe_ggtt_map_bo_unlocked for resume Maarten Lankhorst
                   ` (12 more replies)
  0 siblings, 13 replies; 18+ messages in thread
From: Maarten Lankhorst @ 2024-10-09 12:51 UTC (permalink / raw)
  To: intel-xe; +Cc: Maarten Lankhorst

Sent as a separate series.

I have merged the patches to make pt_ops and ggtt private, and reworked xe_fb_pin.c

xe_fb_pin.c had the problem that some parts belong there, while others belong to xe_ggtt,
I'm hoping that with the callback function to populate the GGTT node, I've fixed the layering
violation that would have to happen otherwise.

I've solved it by creating a xe_ggtt_node_insert_transform() function that calls back into xe_fb_pin.c
to populate a given xe_ggtt_node. This way xe_fb_pin can still write a rotated GGTT, while outside
the scope of this function the details are hidden.

Writing DPT requires the same encoding as GGTT, but since it's a normal bo it only needs access to the
GGTT encoding function. With the insert transformation function being the only way to write to GGTT,
it should be safe to export the encoding only.

The display quirks stay in xe_fb_pin.c, while the details of GGTT stay in xe_ggtt.c now!

Maarten Lankhorst (6):
  drm/xe: Use xe_ggtt_map_bo_unlocked for resume
  drm/xe: Add xe_ggtt_might_lock
  drm/xe: Add xe_ggtt_alloc
  drm/xe: Convert xe_fb_pin to use a callback for insertion into GGTT
  drm/xe/display: Dont poke into GGTT internals to fill a DPT
  drm/xe: Move struct xe_ggtt to xe_ggtt.c

 drivers/gpu/drm/xe/display/xe_fb_pin.c        | 146 +++++++--------
 drivers/gpu/drm/xe/display/xe_plane_initial.c |   6 +-
 drivers/gpu/drm/xe/xe_bo.c                    |   2 +-
 drivers/gpu/drm/xe/xe_bo_evict.c              |   9 +-
 drivers/gpu/drm/xe/xe_ggtt.c                  | 171 ++++++++++++++++--
 drivers/gpu/drm/xe/xe_ggtt.h                  |  17 +-
 drivers/gpu/drm/xe/xe_ggtt_types.h            |  53 +-----
 drivers/gpu/drm/xe/xe_tile.c                  |   4 +-
 8 files changed, 245 insertions(+), 163 deletions(-)

-- 
2.45.2


^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2024-10-11 16:20 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-09 12:51 [PATCH v4 0/6] drm/xe: Make struct xe_ggtt private Maarten Lankhorst
2024-10-09 12:51 ` [PATCH v4 1/6] drm/xe: Use xe_ggtt_map_bo_unlocked for resume Maarten Lankhorst
2024-10-11 12:06   ` Lucas De Marchi
2024-10-09 12:51 ` [PATCH v4 2/6] drm/xe: Add xe_ggtt_might_lock Maarten Lankhorst
2024-10-09 12:51 ` [PATCH v4 3/6] drm/xe: Add xe_ggtt_alloc Maarten Lankhorst
2024-10-11 12:13   ` Lucas De Marchi
2024-10-11 13:31   ` Michal Wajdeczko
2024-10-09 12:51 ` [PATCH v4 4/6] drm/xe: Convert xe_fb_pin to use a callback for insertion into GGTT Maarten Lankhorst
2024-10-09 12:51 ` [PATCH v4 5/6] drm/xe/display: Dont poke into GGTT internals to fill a DPT Maarten Lankhorst
2024-10-11 16:20   ` Lucas De Marchi
2024-10-09 12:51 ` [PATCH v4 6/6] drm/xe: Move struct xe_ggtt to xe_ggtt.c Maarten Lankhorst
2024-10-09 14:52 ` ✓ CI.Patch_applied: success for drm/xe: Make struct xe_ggtt private Patchwork
2024-10-09 14:53 ` ✗ CI.checkpatch: warning " Patchwork
2024-10-09 14:54 ` ✓ CI.KUnit: success " Patchwork
2024-10-09 15:06 ` ✓ CI.Build: " Patchwork
2024-10-09 15:08 ` ✓ CI.Hooks: " Patchwork
2024-10-09 15:27 ` ✓ CI.BAT: " Patchwork
2024-10-10  0:23 ` ✗ CI.FULL: failure " Patchwork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox