[RFC 00/12] xe_ggtt node refactor for safer node removal

Rodrigo Vivi rodrigo.vivi at intel.com
Fri Jun 28 19:27:41 UTC 2024


The ultimate goal is to be able to remove the GGTT memory node
from a workqueue where we can wake-up the device from runtime
suspend in a dead-lock free situation.

However, the previous attempts failed so badly because the
drm-mm-node itself is controlled from many places outside
of the ggtt (drm-mm component).

So, this refactor aims to encapsulate the drm-mm-node inside
xe_ggtt with new xe_ggtt_node functions. And documenting
xe_ggtt and doing other clean-ups while at ti.

I still have a issue with initial display fb creation with
this version.
 [drm] *ERROR* Failed to setup i915 fbdev emulation (ret=-2)

But bisect there is taking longer then I thought. So, I'm
sending this series right now as an RFC to get some feedback
before I continue on this path...

Thanks,
Rodrigo.

Rodrigo Vivi (12):
  drm/xe: Removed unused xe_ggtt_printk
  drm/xe: Introduce GGTT documentation
  drm/xe: Remove unnecessary drm_mm.h includes
  drm/{i915,xe}: Avoid direct inspection of dpt_vma from outside dpt
  drm/xe: Encapsulate drm_mm_node inside xe_ggtt_node
  drm/xe: Rename xe_ggtt_node related functions
  drm/xe: Limit drm_mm_node_allocated access to xe_ggtt_node
  drm/xe: Introduce xe_ggtt_largest_hole
  drm/xe: Introduce xe_ggtt_print_holes
  drm/xe: Rename xe_ggtt balloon functions to make the node clear
  drm/xe: Make xe_ggtt_node struct independent
  drm/xe: Fix missing runtime outer protection for ggtt_remove_node

 Documentation/gpu/xe/xe_mm.rst                |  15 +
 drivers/gpu/drm/i915/display/intel_dpt.c      |   4 +
 drivers/gpu/drm/i915/display/intel_dpt.h      |   1 +
 .../drm/i915/display/skl_universal_plane.c    |   3 +-
 .../gpu/drm/xe/compat-i915-headers/i915_vma.h |   7 +-
 drivers/gpu/drm/xe/display/xe_fb_pin.c        |  35 +-
 drivers/gpu/drm/xe/xe_bo.c                    |   2 +-
 drivers/gpu/drm/xe/xe_bo.h                    |   9 +-
 drivers/gpu/drm/xe/xe_bo_types.h              |   5 +-
 drivers/gpu/drm/xe/xe_device_types.h          |   2 +-
 drivers/gpu/drm/xe/xe_ggtt.c                  | 473 ++++++++++++++----
 drivers/gpu/drm/xe/xe_ggtt.h                  |  26 +-
 drivers/gpu/drm/xe/xe_ggtt_types.h            |  58 ++-
 drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c    |  97 ++--
 .../gpu/drm/xe/xe_gt_sriov_pf_config_types.h  |   4 +-
 drivers/gpu/drm/xe/xe_gt_sriov_vf.c           |  26 +-
 drivers/gpu/drm/xe/xe_migrate.h               |   2 +-
 drivers/gpu/drm/xe/xe_res_cursor.h            |   1 -
 drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c        |   1 -
 19 files changed, 544 insertions(+), 227 deletions(-)

-- 
2.45.1



More information about the Intel-xe mailing list