All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/14] drm/xe: Fix flickering when inheriting BIOS fb.
@ 2024-09-27 14:13 Maarten Lankhorst
  2024-09-27 14:13 ` [PATCH 01/14] drm/xe/display: Handle stolen bar readout in the same way as lmem Maarten Lankhorst
                   ` (21 more replies)
  0 siblings, 22 replies; 24+ messages in thread
From: Maarten Lankhorst @ 2024-09-27 14:13 UTC (permalink / raw)
  To: intel-xe; +Cc: Maarten Lankhorst

We accidentally overwrite the GGTT very early on, because we have put in many allocations
between the first xe display prototype and the current version.

First some generic fixes where we were handling things slightly different,
then a major GGTT rework with 3 goals:
1. Reorder init to move all allocations after xe_display_init_noaccel.
2. Hide all details of GGTT, so we can ensure that nobody is looking
   at it before it's initialised.
3. Prevent this from happening again by moving early GGTT init until right before
   xe_display_init_noaccel now that we know nobody requires GGTT.

Hopefully I didn't miss allocations, but it boots on my ADL without flickering again. :-)
References: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/2775

Maarten Lankhorst (14):
  drm/xe/display: Handle stolen bar readout in the same way as lmem
  drm/xe: Remove double pageflip
  drm/xe: Move suballocator init to after display init
  drm/xe: Initialize UC after xe_display_init_noaccel.
  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/display: Abstract read/write functions for GGTT PTEs
  drm/xe: Make xe_ggtt_pt_ops private
  drm/xe/display: Stop dereferencing ggtt in xe_fb_pin
  drm/xe: Move struct xe_ggtt to xe_ggtt.c
  drm/xe/display: Use async flip for flipping initial fb.
  drm/xe: Move interrupt initialisation until after
    xe_display_init_noaccel
  drm/xe: Initialise GGTT later

 drivers/gpu/drm/xe/display/xe_fb_pin.c        |  36 ++---
 drivers/gpu/drm/xe/display/xe_plane_initial.c |  34 ++---
 drivers/gpu/drm/xe/xe_bo.c                    |   2 +-
 drivers/gpu/drm/xe/xe_bo_evict.c              |   9 +-
 drivers/gpu/drm/xe/xe_device.c                |  34 +++--
 drivers/gpu/drm/xe/xe_ggtt.c                  | 140 +++++++++++++++++-
 drivers/gpu/drm/xe/xe_ggtt.h                  |  22 ++-
 drivers/gpu/drm/xe/xe_ggtt_types.h            |  50 +------
 drivers/gpu/drm/xe/xe_gt.c                    |  27 ++--
 drivers/gpu/drm/xe/xe_gt.h                    |   2 +-
 drivers/gpu/drm/xe/xe_tile.c                  |  16 +-
 drivers/gpu/drm/xe/xe_tile.h                  |   1 +
 12 files changed, 243 insertions(+), 130 deletions(-)

-- 
2.45.2


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

end of thread, other threads:[~2024-09-28 10:30 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-27 14:13 [PATCH 00/14] drm/xe: Fix flickering when inheriting BIOS fb Maarten Lankhorst
2024-09-27 14:13 ` [PATCH 01/14] drm/xe/display: Handle stolen bar readout in the same way as lmem Maarten Lankhorst
2024-09-27 14:13 ` [PATCH 02/14] drm/xe: Remove double pageflip Maarten Lankhorst
2024-09-27 14:13 ` [PATCH 03/14] drm/xe: Move suballocator init to after display init Maarten Lankhorst
2024-09-27 14:13 ` [PATCH 04/14] drm/xe: Initialize UC after xe_display_init_noaccel Maarten Lankhorst
2024-09-27 14:13 ` [PATCH 05/14] drm/xe: Use xe_ggtt_map_bo_unlocked for resume Maarten Lankhorst
2024-09-27 14:13 ` [PATCH 06/14] drm/xe: Add xe_ggtt_might_lock Maarten Lankhorst
2024-09-27 14:13 ` [PATCH 07/14] drm/xe: Add xe_ggtt_alloc Maarten Lankhorst
2024-09-27 14:13 ` [PATCH 08/14] drm/xe/display: Abstract read/write functions for GGTT PTEs Maarten Lankhorst
2024-09-27 14:13 ` [PATCH 09/14] drm/xe: Make xe_ggtt_pt_ops private Maarten Lankhorst
2024-09-27 14:14 ` [PATCH 10/14] drm/xe/display: Stop dereferencing ggtt in xe_fb_pin Maarten Lankhorst
2024-09-27 14:14 ` [PATCH 11/14] drm/xe: Move struct xe_ggtt to xe_ggtt.c Maarten Lankhorst
2024-09-27 14:14 ` [PATCH 12/14] drm/xe/display: Use async flip for flipping initial fb Maarten Lankhorst
2024-09-27 15:14   ` Ville Syrjälä
2024-09-27 14:14 ` [PATCH 13/14] drm/xe: Move interrupt initialisation until after xe_display_init_noaccel Maarten Lankhorst
2024-09-27 14:14 ` [PATCH 14/14] drm/xe: Initialise GGTT later Maarten Lankhorst
2024-09-27 14:42 ` ✓ CI.Patch_applied: success for drm/xe: Fix flickering when inheriting BIOS fb Patchwork
2024-09-27 14:43 ` ✗ CI.checkpatch: warning " Patchwork
2024-09-27 14:44 ` ✓ CI.KUnit: success " Patchwork
2024-09-27 14:55 ` ✓ CI.Build: " Patchwork
2024-09-27 14:58 ` ✗ CI.Hooks: failure " Patchwork
2024-09-27 14:59 ` ✓ CI.checksparse: success " Patchwork
2024-09-27 15:41 ` ✗ CI.BAT: failure " Patchwork
2024-09-28 10:30 ` ✗ CI.FULL: " Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.