[PATCH v3 00/12] drm/xe: Reduce flickering when inheriting BIOS fb.

Maarten Lankhorst maarten.lankhorst at linux.intel.com
Thu Oct 3 15:44:09 UTC 2024


It turns out that xe is performing all kinds of allocations before
inheriting the BIOS fb. This is problematic as it completely overwrites
the initial FB on discrete, and on integrated causes flickering until
the original FB is restored (preserved in stolen memory).

The complete fix requires reshuffling the entire init sequence. I want to
do that, but first add some preparations. This way I don't need to resubmit
all these patches that are ready to commit each time.

Maarten Lankhorst (12):
  drm/xe/display: Handle stolen bar readout in the same way as lmem
  drm/xe: Remove double pageflip
  drm/i915/display: Use async flip when available for initial plane
    config
  drm/xe/display: Remove single wait for vblank
  drm/xe: Move suballocator init to after display init
  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: 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/i915/display/skl_universal_plane.c    |  13 +-
 drivers/gpu/drm/xe/display/xe_fb_pin.c        |  36 ++---
 drivers/gpu/drm/xe/display/xe_plane_initial.c |  27 +---
 drivers/gpu/drm/xe/xe_bo.c                    |   2 +-
 drivers/gpu/drm/xe/xe_bo_evict.c              |   9 +-
 drivers/gpu/drm/xe/xe_device.c                |   6 +
 drivers/gpu/drm/xe/xe_ggtt.c                  | 141 +++++++++++++++++-
 drivers/gpu/drm/xe/xe_ggtt.h                  |  22 ++-
 drivers/gpu/drm/xe/xe_ggtt_types.h            |  50 +------
 drivers/gpu/drm/xe/xe_tile.c                  |  16 +-
 drivers/gpu/drm/xe/xe_tile.h                  |   1 +
 11 files changed, 218 insertions(+), 105 deletions(-)

-- 
2.45.2



More information about the Intel-gfx mailing list