[PATCH 0/3] drm/i915 & drm/xe: allocate struct intel_display dynamically

Jani Nikula jani.nikula at intel.com
Wed May 21 10:21:45 UTC 2025


Allocate struct intel_display dynamically in
intel_display_device_probe(), and make i915->display and xe->display
opaque pointers to most of the non-display parts of the drivers.

The guts of struct intel_display is still accessed directly by some
non-display code, but with the explicit include of the
intel_display_core.h and other display headers, so it's much more
limited than before.

This should also give us a nice boost in incremental builds, as the
entire xe and i915 drivers don't need to be rebuilt when display headers
change.

BR,
Jani.


Jani Nikula (3):
  drm/i915/display: allocate struct intel_display dynamically
  drm/i915: stop including display/intel_display_{core,limits}.h from
    i915_drv.h
  drm/xe: stop including intel_display_{core,device}.h from
    xe_device_types.h

 drivers/gpu/drm/i915/display/intel_bios.c         |  1 +
 .../drm/i915/display/intel_display_conversion.c   |  1 +
 .../gpu/drm/i915/display/intel_display_device.c   | 10 +++++++++-
 .../gpu/drm/i915/display/intel_display_driver.c   |  1 +
 .../gpu/drm/i915/display/intel_display_reset.c    |  1 +
 drivers/gpu/drm/i915/display/intel_display_rpm.c  |  1 +
 drivers/gpu/drm/i915/display/intel_display_rps.c  |  1 +
 drivers/gpu/drm/i915/display/intel_dpt.c          |  1 +
 drivers/gpu/drm/i915/display/intel_encoder.c      |  2 +-
 drivers/gpu/drm/i915/display/intel_fb.c           |  1 +
 drivers/gpu/drm/i915/display/intel_fb_bo.c        |  1 +
 drivers/gpu/drm/i915/display/intel_fb_pin.c       |  1 +
 drivers/gpu/drm/i915/display/intel_fbdev_fb.c     |  1 +
 drivers/gpu/drm/i915/display/intel_hotplug.c      |  1 +
 drivers/gpu/drm/i915/display/intel_opregion.c     |  1 +
 .../gpu/drm/i915/display/intel_plane_initial.c    |  1 +
 .../drm/i915/gem/selftests/i915_gem_client_blt.c  |  1 +
 drivers/gpu/drm/i915/gt/intel_gt_pm.c             |  2 ++
 drivers/gpu/drm/i915/gvt/cmd_parser.c             |  1 +
 drivers/gpu/drm/i915/gvt/display.c                |  1 +
 drivers/gpu/drm/i915/gvt/edid.c                   |  1 +
 drivers/gpu/drm/i915/gvt/fb_decoder.c             |  1 +
 drivers/gpu/drm/i915/gvt/handlers.c               |  1 +
 drivers/gpu/drm/i915/i915_driver.c                | 15 +++++++++------
 drivers/gpu/drm/i915/i915_drv.h                   |  8 +++-----
 drivers/gpu/drm/i915/i915_irq.c                   |  1 +
 drivers/gpu/drm/i915/i915_switcheroo.c            |  2 ++
 drivers/gpu/drm/i915/intel_clock_gating.c         |  1 +
 drivers/gpu/drm/i915/intel_gvt_mmio_table.c       |  1 +
 drivers/gpu/drm/i915/intel_uncore.c               |  2 ++
 drivers/gpu/drm/i915/selftests/mock_gem_device.c  | 13 ++++++++++---
 drivers/gpu/drm/i915/soc/intel_dram.c             |  2 ++
 drivers/gpu/drm/i915/soc/intel_gmch.c             |  2 ++
 drivers/gpu/drm/xe/display/intel_fbdev_fb.c       |  1 +
 drivers/gpu/drm/xe/display/xe_display.c           | 12 ++++++++----
 drivers/gpu/drm/xe/display/xe_display_rpm.c       |  1 +
 drivers/gpu/drm/xe/display/xe_display_wa.c        |  2 +-
 drivers/gpu/drm/xe/display/xe_fb_pin.c            |  1 +
 drivers/gpu/drm/xe/display/xe_plane_initial.c     |  1 +
 drivers/gpu/drm/xe/display/xe_tdf.c               |  4 ++--
 drivers/gpu/drm/xe/xe_device_types.h              |  7 +------
 41 files changed, 81 insertions(+), 29 deletions(-)

-- 
2.39.5



More information about the Intel-gfx mailing list